Problème de carte SD non reconnue

Bonjour, j’ai encore un problème, probablement dû à mon incompétence crasse. Mon notebook a un lecteur de cartes SD qu’il reconnait, puisqu’il apparaît dans lshw :

id:generic:1

            description: SD Host controller
            produit: RTS5209 PCI Express Card Reader
            fabriquant: Realtek Semiconductor Co., Ltd.
            identifiant matériel: 0.1
            information bus: pci@0000:0b:00.1
            version: 01
            bits: 32 bits
            horloge: 33MHz
            fonctionnalités: pm msi pciexpress bus_master cap_list 
            configuration: driver=sdhci-pci latency=0
            ressources: irq:16 mémoire:e0400000-e04000ff

Malheureusement, lorsque j’insère une carte, celle-ci n’est pas détectée (rien n’apparait dans dmesg, pas de notification de périphérique branché…) Vu que je dois récupérer les données qui sont dessus et rendre la carte rapidement, je viens vous demander l’assistance que notre ami google m’a jusqu’alors refusé.

En vous remerciant par avance…

Bonjour,

Certains témoignent qu’en démarrant le système avec la carte sd déjà insérée, ça peut le faire.

Je viens de tester en arrêtant la machine, chez moi ça marche pas. Le lecteur fonctionait sous windows il y a une semaine (donc peu probable qu’il soit mort). Idem pour la carte, testée sur un autre PC, écrite et relue il y a 3 jours… Merci pour l’idée, au moins ça fera ça de moins à tester.

Que raconte

dmesg | egrep "sdhci|mmc"

J’ai ça :

[ 1.160922] sdhci: Secure Digital Host Controller Interface driver
[ 1.160923] sdhci: Copyright© Pierre Ossman
[ 1.162206] sdhci-pci 0000:0b:00.1: SDHCI controller found [10ec:5209] (rev 1)
[ 1.162305] sdhci-pci 0000:0b:00.1: Will use DMA mode even though HW doesn’t fully claim to support it.
[ 1.162314] sdhci-pci 0000:0b:00.1: Will use DMA mode even though HW doesn’t fully claim to support it.
[ 1.174367] sdhci-pci 0000:0b:00.1: Will use DMA mode even though HW doesn’t fully claim to support it.
[ 1.175404] mmc0: SDHCI controller on PCI [0000:0b:00.1] using DMA
[ 1.855595] sr 2:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray

Le lecteur de carte semble bien reconnu. Je ne vois pas quoi vérifier d’autre.
Est-ce que le module “mmc_block” est chargé ?

dans un lsmod|grep mmc, je n’ai trouvé que

rtsx_pci_sdmmc 24576 0
mmc_core 147456 4 rtsx_pci_sdmmc,sdhci,sdhci_pci,mmc_block
rtsx_pci 57344 2 rtsx_pci_sdmmc,rtsx_pci_ms

J’ai essayé de charger le module mmc_block, pas de changement, sauf qu’il apparaît dans la liste de lsmod. La carte n’est toujours pas reconnue.

Les statistiques sont formelles à ce sujet : 100% des appareils qui tombent en panne fonctionnaient très bien avant.


Re-vérifie la carte SD sur une autre machine,
et profites-en pour trouver une deuxième carte SD que tu vérifiera aussi sur cette autre machine.

Si ces 2 cartes ne fonctionnent toujours pas sur le lecteur de carte de ta machine,
il va falloir le dépanner.

Regarde si quelque chose qui empêcherait le fonctionnement de ce lecteur de cartes SD
ne s’y serait pas coincé à l’intérieur.

Je viens de tester le lecteur avec une 2ème SD, il la voit sans problème. La SD à l’origine du problème est vue sur un autre PC. J’avais omis un détail qui semble prendre de l’importance : la carte invisible est une sd XC de 64 G. Je croyaid que ce détail n’était important qu’au niveau du matériel, je pense m’être trompé du coup…

Impossible : mmc_core est marqué comme utilisé par mmc_block, donc mmc_block est forcément chargé. Je soupçonne que c’est la sortie de lsmod après avoir chargé le module mmc_block, de laquelle tu as effacé la ligne de ce dernier.

Tiens, on voit qu’un autre module SD/MMC est chargé : rtsx_pci_sdmmc. D’après modinfo il pourrait être plus spécifique au lecteur de carte Realtek RTS5209 que le module sdhci_pci qui est plus générique (driver de classe). Mais là, c’est sdhci_pci qui est utilisé, peut-être juste parce qu’il est chargé en premier.

Y a-t-il des messages contenant “rts” dans la sortie de dmesg ?

Tu pourrais essayer de décharger tous ces modules et ceux qui en dépendent et de recharger rtsx_pci_sdmmc pour voir ce que ça donne.

modprobe -r sdhci_pci
modprobe -r rtsx_pci_sdmmc
modprobe -r rtsx_pci_ms
modprobe -r rtsx_pci
modprobe rtsx_pci_sdmmc

Ou bien blacklister sdhci_pci en créant un fichier /etc/modprobe.d/blacklist-sdhci_pci.conf contenant :

blacklist sdhci_pci

et redémarrer le système. Contrairement à la précédente, cette méthode est persistante.

En effet, par flemme, j’ai refait un lsmod après avoir lancé un modprobe, désolé.

Pour la suite, j’ai tenté en créant le fichier de blacklist et en redémarrant et j’ai un résultat curieux avec mes modules :

lsmod|grep mmc
rtsx_pci_sdmmc 24576 0
mmc_core 147456 3 rtsx_pci_sdmmc,sdhci,sdhci_pci
rtsx_pci 57344 2 rtsx_pci_sdmmc,rtsx_pci_ms

lsmod|grep sdh
sdhci_pci 28672 0
sdhci 45056 1 sdhci_pci
mmc_core 147456 3 rtsx_pci_sdmmc,sdhci,sdhci_pci

J’avais oublié que les modules sdhci* sont inclus dans l’initramfs et chargés avant que le fichier blacklist soit pris en compte. Il faut donc régénérer l’initramfs avec

update-initramfs -u

pour inclure ce fichier dans l’initramfs, et redémarrer à nouveau.

Bonjour, j’ai fait la mise à jour d’initramfs avant d’aller dormir. Quand j’ai rallumé mon PC, j’ai vérifié, sdhci_pci n’est plus dans la liste des modules chargés (normal), et ma carte n’est toujours pas visible. Je crois que je vais recopier les documents sur clé usb depuis une autre machine et lâcher l’affaire, au moins pour le moment. Merci et peut-être à bientôt pour un nouvel épisode.

Est-ce qu’au moins le lecteur et l’autre carte SD sont reconnus avec les pilotes rtsx_pci* ?

Oui, l’autre carte fonctionne toujours. Je ne peux plus tester avec la SD récalcitrante vu que son proprio l’a récupérée. Merci de votre aide, et à bientôt.

Merci pour le retour d’information.
Puisque le pilote Realtek n’apporte rien par rapport au générique, tu peux annuler le blacklistage.