# [SD Card] Comment ça marche ? [Résolu]

## George Abitbol

Bonour,

j'ai sur mon pc un lecteur de carte SD :

```

$ lspci | grep Secure

02:06.4 Class 0805: Texas Instruments PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller

```

et j'aimerais bien savoir comment ça fonctionne.

Au hasard j'ai mis ca dans mon kernel :

<*> MMC support

[*]   MMC debugging

<*>   MMC block device driver

<*>   Secure Digital Host Controller Interface support  (EXPERIMENTAL)

<*>   Winbond W83L51xD SD/MMC Card Interface support

mais le système (dmesg et /var/log/messages) me disent rien quand j'insère la carte. (et au passage windows me trouve bien quelque chose donc ca doit pas etre un truc à activer dans le BIOS)

Google a pas été très verbeux avec moi, donc si vous avez des infos, je suis preneur.

Merci

----------

## geekounet

Salut, tu peux ptêt t'inspirer de ça : http://forum.ubuntu-fr.org/viewtopic.php?pid=880591#p880591

----------

## galerkin

Quel est le noyau que tu utilises?

Moi j'ai du prendre un kernel 2.6.22 pour que cela fonctionne.

Fais une recherche sur le forum anglais et tu trouveras  :Wink: 

EDIT: https://forums.gentoo.org/viewtopic-p-4018831.html#4018831

----------

## George Abitbol

$ uname -r  

2.6.18-suspend2-r1

Je vais essayer de voir ce que je peux faire avec les module tifm, et je vous tiens au jus.

Merci

----------

## nykos

à partir du 2.6.19 ils ont rajouté plein de trucs pour les SD (mais la mienne marche toujours pas  :Sad:   )

----------

## gbetous

Les SD cards ne sont pas gérées comme des très classique "USB Mass Storage" ? Il existe des contrôleurs spécifiques ?

----------

## George Abitbol

Bon bah en collant un 2.6.20-r8, maintenant j'ai ceci comme option :

```

<*>   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)

```

ce qui devrait me permettre de faire avancer le schmilblick.

----------

## kwenspc

 *gbetous wrote:*   

> Les SD cards ne sont pas gérées comme des très classique "USB Mass Storage" ? Il existe des contrôleurs spécifiques ?

 

Pour pouvoir accéder à la couche UMS faut d'abord piloter le controlleur  :Wink:  L'UMS est un protocol de communication sur bus USB. 

Et je doute que vos lecteurs SD card soient connectés sur le bus USB de vos cartes-mères en fait. Si c'était le cas vous n'auriez pas à gérer directement les drivers SD etc...

----------

## Temet

Enfin je dis ça, quand j'ai pluggué santropicroire la carte mémoire de l'appareil photo de ma soeur, j'ai eu un pop up KDE quand je fous ma clé USB pour me demander si je veux l'ouvrir ou rien glander ^^

/me aime son portable

----------

## George Abitbol

Alors pares compilation et reboot sur le bon kernel, quand je plugge ma carte, /var/log/messages me dit ca :

```

Jun  3 16:50:14 monpc tifm_7xx1: sd card detected in socket 3

Jun  3 16:50:14 monpc PM: Adding info for tifm:tifm_sd0:3

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: adding host

Jun  3 16:50:14 monpc PM: Adding info for No Bus:mmc3

Jun  3 16:50:14 monpc mmc3: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 0

Jun  3 16:50:14 monpc mmc3: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 1

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: starting CMD0 arg 00000000 flags 00000040

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x0, arg: 0x0, mask: 0x40

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD0): 0/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00000000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x0, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: starting CMD0 arg 00000000 flags 00000040

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x0, arg: 0x0, mask: 0x40

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD0): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1001, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 00ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD55 arg 00000000 flags 00000015

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x37, arg: 0x0, mask: 0x2140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD55): 0/0/0: 00000120 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD41 arg 00300000 flags 00000061

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x29, arg: 0x300000, mask: 0x1340

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD41): 0/0/0: 80ff8000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD2 arg 00000000 flags 00000067

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x2, arg: 0x0, mask: 0x1240

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 1, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD2): 0/0/0: 1c535653 44432020 100003c8 e4007595

Jun  3 16:50:14 monpc mmc3: starting CMD3 arg 00000000 flags 00000075

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x3, arg: 0x0, mask: 0x1140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 4000, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD3): 4/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x3, arg: 0x0, mask: 0x1140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 4000, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD3): 4/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x3, arg: 0x0, mask: 0x1140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 4000, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD3): 4/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x3, arg: 0x0, mask: 0x1140

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 4000, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD3): 4/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: starting CMD2 arg 00000000 flags 00000067

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x2, arg: 0x0, mask: 0x1240

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 80, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD2): 1/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x2, arg: 0x0, mask: 0x1240

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 80, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD2): 1/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x2, arg: 0x0, mask: 0x1240

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 80, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD2): 1/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: executing opcode 0x2, arg: 0x0, mask: 0x1240

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: host_status 80, fifo_status 0

Jun  3 16:50:14 monpc mmc3: req done (CMD2): 1/0/0: 00000000 00000000 00000000 00000000

Jun  3 16:50:14 monpc mmc3: clock 333333Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: selected 24.000MHz transfer rate

Jun  3 16:50:14 monpc mmc3: clock 24000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 2

Jun  3 16:50:14 monpc mmc3: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0

Jun  3 16:50:14 monpc tifm_sd tifm_sd0:3: Setting bus width 0, power 0

```

Donc apparemment la carte est bien reconnue, par contre il me file aucun device -> est-ce que je dois rajouter une règle udev à la main ou bien ?

Sinon si quelqu'un est capable de me traduire tout ce charabia, je suis preneur  :Smile: 

----------

## galerkin

as tu lu mon précédent post?

J'ai eu le même problème que toi et seul un noyau 2.6.22 dans mon cas est venu au bout de ce problème!

----------

## George Abitbol

Ah oui, j'ai lu que le début du post in english, je vais continuer ma lecture (j'avais pas compris que ton pb était aussi qu'udev créait pas de device).

----------

## galerkin

oui désolé, je ne l'avais pas précisé...

Par contre avec ce noyau 2.6.22 j'ai des problèmes de son :/

Bon courage en tous cas!

----------

## George Abitbol

Bon bah à priori les problèmes viennent de 2 choses :

- le kernel 2.6.20 qui a un driver tifm daubique

- udev 104 qui a pas les bonnes règles

Je vais donc patiemment attendre que des versions correctes passent en x86 avant de continuer mes essais.

----------

## George Abitbol

Résolu en posant un noyal 2.6.21-gentoo-r4.

----------

