Busindre » Blog Archive » Tarjetas SD/MMC en Linux

Tarjetas SD/MMC en Linux

February 25th, 2007 by Busindre

Las tarjetas SD son un tipo de memoria flash muy conocidos usado por cámaras digitales, dispositivos mp3 y almacenamiento, etc…

Miden 32 mm x 24 mm x 2,1 mm. Los lectores con ranuras SD pueden utilizar también tarjetas MMC sin problemas, en muchos se indica de la siguiente forma: (SD/MMC)

Las MMC son tarjetas más finas y las del tipo SD no caben en sus ranuras, pero si al contrario. Las tarjetas MiniSD y MicroSD se pueden utilizar directamente en ranuras SD con un adaptador especial.

Existen dos tipos de tarjetas SD:

* Velocidad normal
* Alta velocidad (Mas caras y rápidas).

Las de alta velocidad son obligatorias para cierto tipo de cámaras de calidad ya que necesitan grabar video de una forma fluida y rápida. Debemos tener cuidado también con otras que yo denomino “Tarjetas SD estafa” y pueden fastidiarnos el lector de tarjetas fácilmente, para distinguirlas veamos las diferencias:








Tarjetas SD en Linux:
Si el lector de tarjetas es fabricado por “RICOH” o “Texas Instruments” (Típico de algunos portatiles), estos siguen el estándar SDHCI y debemos leer:

Ingles (Oficial)
Castellano

En caso contrario, si usamos kernels precompilados (Rama 2.6) suele venir por defecto activado el soporte para el uso de este tipo de memoria flash. Si tenemos uno de la rama 2.4 necesitamos darle soporte, la opción a activar en el kernel es la siguiente (Muestro tres distintas porque depende del kernel y su versión podemos encontrar la opción de forma diferente).

Forma 1

Device Drivers
SCSI device support
Probe all LUNs on each SCSI device <-

Forma 2

SCSI support
Probe all LUNs on each SCSI device <-

También podemos con esta sintaxis:

CONFIG_SCSI_MULTI_LUN=y

Una vez tengamos en el kernel activado el soporte, veamos si la reconoce:

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: 7-in-1 Model: CompactFlashI/II Rev: 0202
Type: Direct-Access ANSI SCSI revision: 02

Host: scsi0 Channel: 00 Id: 00 Lun: 01
Vendor: 7-in-1 Model: SmartMedia Rev: 0202
Type: Direct-Access ANSI SCSI revision: 02

Host: scsi0 Channel: 00 Id: 00 Lun: 02
Vendor: 7-in-1 Model: SD/MMC Rev: 0202
Type: Direct-Access ANSI SCSI revision: 02

Host: scsi0 Channel: 00 Id: 00 Lun: 03
Vendor: 7-in-1 Model: MS/MS Pro Rev: 0202
Type: Direct-Access ANSI SCSI revision: 02

NOTA: Fíjense en Lun: “02″ –> SD/MMC (Esta reconocida).

Identificar el dispositivo:

# sg_scan -i && sg_map

/dev/sg0: scsi0 channel=0 id=0 lun=0 [em]
7-in-1 CompactFlashI/II 0202 [rmb=1 cmdq=0 pqual=0 pdev=0×0]
/dev/sg1: scsi0 channel=0 id=0 lun=1 [em]
7-in-1 SmartMedia 0202 [rmb=1 cmdq=0 pqual=0 pdev=0×0]
/dev/sg2: scsi0 channel=0 id=0 lun=2 [em]
7-in-1 SD/MMC 0202 [rmb=1 cmdq=0 pqual=0 pdev=0×0]
/dev/sg3: scsi0 channel=0 id=0 lun=3 [em]
7-in-1 MS/MS Pro 0202 [rmb=1 cmdq=0 pqual=0 pdev=0×0]

/dev/sg0 /dev/sda
/dev/sg1 /dev/sdb
/dev/sg2 /dev/sdc
/dev/sg3 /dev/sdd

En mi caso esta en /dev/sdc, para formatearla, montarla y demás operaciones lo tratamos como otro dispositivo SCSI normal y corriente:

# mount -t vfat /dev/sdc1 /mnt/tarjeta_SD

NOTA: Si no se tiene o no se quiere comprar un lector de tarjetas SD encontramos FlashPath para la disquetera. Es recomendable si se va a usar para cámaras (Video / Imagen) que el formateo de la tarjeta lo haga lo propia cámara, ya que puede requerir algún tipo de particionamiento específico o incluir algún tipo de información en la tarjeta para su correcto funcionamiento.

Posted in Hardware |

7 Responses

  1. Nacho Says:

    Yo una vez vi un lector para tarjetas interno, que ponía compatible con Linux a partir del Kernel …., no recuerdo, fui directo a comprarlo haber que tal iba, lo puse, y como las perlas, meter la tarjeta que sea, y aparece montadita y todo bien,
    No tiene nada que ver con tu articulo, pero me he acordado :D
    Saludos

  2. ramiro Says:

    Ahora que ya estais leyendo ésto: tengo un problema con mi tarjeta sd.Introduzco la tarjeta sd en el puerto que ya traía el ordenador y parece que no hay conecxión por o que no puedo introducir ni sacar documentos.probé la tarjeta en casa de un amigo y si ue funcionaba por lo que me imagino que el problema debe estar en el puerto.
    “Comentario editado por el Administrador”

  3. Atreliz Says:

    Las respuestas no se envian por mail.De este modo que si alguien mas tiene la misma duda qeu tu, puede encontrar tb la solucion.

    Sobre tu problema, como bien dices, te faltaran los drivers para que te reconozca el lector de tarjetas. Las SD si las reconoce bien linux, tiene algun problema con las memory stick… pero no es tu caso. De todos modos, si miras un pokito en San Google, encontraras lo qeu buscas;)

  4. martin Says:

    Alguien sabe porque en la memoria me figuran como ocupados 170 mb y cuando la exploro no hay ningun archivo ??

  5. Atreliz Says:

    Es por papelera del dispositivo.
    Tanto en los pendireves, como las tarjetas de memoria, se crea una carpeta oculta a modo de mapelera. Y todo lo qeu borres de ese dispositivo se alamacena alli.
    Activa en la opcion de nautilus “Ver”/ “Mostrar archivos ocultos” y borra la carpeta papelera, tendra un nombre el estilo “.trash”
    Ya veras como ahora si tienes libre todo el espacio de la tarjeta ;)

  6. nknsan Says:

    Hola:
    Yo utilizo linux fedora 5 kon kernel 2.6.15. El problema que tengo es que inserto mi lector de tarjetas y todo funciona muy bien hasta que inserto una memory stick. En fedora 3 kon kernel 2.4 se que mi mismo lector de tarjetas funciona correctamente. Si alguien puede ayudarme se lo agradeceria.

    Muchas gracias.

  7. Tux Huellas » Tarjetas SD/MMC en Linux Says:

    […] http://www.busindre.com/tarjetas-sdmmc-en-linux/ Igual tambien te interesan…. Terminos del escritorio 3DNVClock Overclocking de […]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.