May 17

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ó:

Nov 11

Gentoo Trick: module-rebuild

Reading time: 2 – 2 minutes

El pof en el seu dia i la GWN (Gentoo Weekly News) en una de les seves últimes edicions ens han parlat algún cop d’aquesta eina tan útil i que mai recordo com es diu exactament. A més sempre és quan més la necessites, o sigui, quan fas un update de kernel. Serveix per algo tan útil com recompilar els mòduls que no són natius del kernel per la nova versió de kernel que ens acabem d’instal·lar, estalviant-nos el mal moment que hem passat tots de necessitar just el mòdul que controla el dispositiu que no estava suportat de forma genèrica pel kernel i just en aquell moment no tenim el mòdul compilat.

Suppose you’ve just booted into a freshly updated kernel. First of all,
check which packages are using modules that haven’t been built with the
new sources yet:

module-rebuild list

and then you can rebuild them all by simply going:

module-rebuild rebuild

Per disposar del module-rebuild feu un emerge a:

*  sys-kernel/module-rebuild
      Latest version available: 0.5
      Latest version installed: 0.5
      Size of downloaded files: 0 kB
      Homepage:    http://www.gentoo.org/
      Description: A utility to rebuild any kernel modules which you have installed.
      License:     GPL-2

UPDATE 5/6/2006: fixeu-vos al fer el list que no sempre hi ha tots els paquetes que instal·len moduls a la vostre llista, per tant, us recomano que afegiu els paquets que tenen mòduls amb l’opció add de la companda module-rebuild a partir de llavors ja es recordarà ell d’aquesta dependencia en el rebuild.