SD flash reader del Dell X300 funciona en linux

Reading time: 3 – 4 minutes

Finalment després de més de dos anys amb el Dell X300 sense poder usar la unitat SD que incorpora avui he pogut configurar-la. De fet, el suport encara és molt ‘beta’ i no fa massa temps que s’ha fet el mòdul pel kernel però com a mínim per llegir el contingut de les fotos que he fet amb la càmara ja va bé.

Vaig a intentar explicar una mica la stiuació de tot plegat, així doncs anem per passos. Com sap la gent que té un Dell X300 al fer un lspci veiem això:

...
02:03.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
02:03.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
...

Deduim doncs que aquest bridge cardbus (PCMCIA) és doncs el que realment té el lector de targetes flash SD. Així doncs, primer de tot necessitem tenir compilat el suport PCMCIA al Kernel i després ens podem descarregar el mòdul del kernel. Jo ús recomano que baixeu directametn del SVN perquè així el tindreu patchejat pels útlims kernels, jo ara mateix uso el 2.6.21.

Per baixar la última versió del controlador Ricoh, després compilar-lo i instal·lar-lo:

svn co https://sdricohcs.svn.sourceforge.net/svnroot/sdricohcs sdricohcs
cd sdricohcs
cd sdricoh_cs
make
make install

Ara ja tenim instal·lat al directori de mòduls del kernel el nou controlador: sdricoh_cs. Així doncs, ja el podem carregar juntament amb el mòdul mmc_block. Una llista completa de mòduls relacionats perquè ús funcioni:

Module                  Size  Used by
mmc_block               6408  2
sdricoh_cs              7180  0
mmc_core               20244  2 mmc_block,sdricoh_cs
pcmcia                 28204  2 sdricoh_cs
yenta_socket           21260  4
rsrc_nonstatic          9856  1 yenta_socket
pcmcia_core            29712  4 ide_cs,pcmcia,yenta_socket,rsrc_nonstatic

Ara si insertem una targeta SD particionada i formatejada dintre del directori /dev tenim aquests nous dispositius:

/dev/mmcblk0
/dev/mmcblk0p1

El segon es refereix a la partició, així doncs el podem usar per montar directament la targeta SD:

# mkdir /mnt/sd
# mount /dev/mmcblk0p1 /mnt/sd

Si no especifiqueu cap paràmetre al carregar el mòdul del kernel sdricoh_cs la targeta es montarà només com a lectura degut a que es considera perillós montar-la com a escriptura, degut a l’estat no estable del controlador. Si voleu montar-la com a escriptura també poseu el paràmetre write=1, jo no ho he provat perquè em conformo en poder llegir encara que sigui un pel lentament el contingut de la targeta, si voleu informació més detallada de tot plegat ús recomano llegir el fitxer README que incorpora el codi font del controlador.

Per més informació: