Je possède un ordinateur portable avec un lecteur de carte intégré. Depuis environ un an, je fais face à un curieux problème qui semble plus lié au logiciel qu'au matériel.
J'exécute un double démarrage de Windows 7 et Ubuntu 14.04 , tous deux 64 bits. Sous Windows, la carte SD fonctionne très bien. Il s'exécute un peu lentement, mais il parvient toujours à se terminer sans erreurs.
Sous Ubuntu, cela s'arrête soudainement et je reçois ces messages lorsque je tape dmesg
dans un terminal:
[12535.092927] mmcblk0: mmc0:b368 SD 1.88 GiB
[12535.096167] mmcblk0: p1
[12653.904243] mmc0: Timeout waiting for hardware interrupt.
[12653.904974] mmcblk0: error -110 transferring data, sector 158279, nr 1024, cmd response 0x900, card status 0xc00
[12663.930682] mmc0: Timeout waiting for hardware interrupt.
[12663.930823] end_request: I/O error, dev mmcblk0, sector 158279
[12663.930838] end_request: I/O error, dev mmcblk0, sector 158287
[12663.930845] end_request: I/O error, dev mmcblk0, sector 158295
[12663.930852] end_request: I/O error, dev mmcblk0, sector 158303
[12663.930858] end_request: I/O error, dev mmcblk0, sector 158311
[12663.930864] end_request: I/O error, dev mmcblk0, sector 158319
[12663.930871] end_request: I/O error, dev mmcblk0, sector 158327
[12663.930877] end_request: I/O error, dev mmcblk0, sector 158335
[12663.930883] end_request: I/O error, dev mmcblk0, sector 158343
[12663.930889] end_request: I/O error, dev mmcblk0, sector 158351
[12673.957122] mmc0: Timeout waiting for hardware interrupt.
[12674.002269] mmcblk0: error -110 transferring data, sector 159303, nr 1024, cmd response 0x900, card status 0xc00
Cela se produit avec n'importe quelle carte SD de n'importe quelle taille de stockage, et cela se produira à tout moment pendant le transfert, en particulier avec de gros fichiers ou de grandes quantités de fichiers. J'ai fait un clic droit sur l'icône de la carte SD sur mon panneau Ubuntu et cliqué Safely remove
avant d'éjecter la SD, et j'ai même reformaté la SD afin qu'elle soit exempte d'erreurs, mais cela me pose toujours des problèmes. Mes lecteurs flash USB sont formatés au même format (FAT32) que la carte SD, et ils fonctionnent tous très bien. Pourquoi Windows peut-il bien lire / écrire sur ma carte et pas Ubuntu?
Sortie de lspci
(lecteurs de cartes uniquement):
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57785 Gigabit Ethernet PCIe (rev 10)
02:00.1 SD Host controller: Broadcom Corporation BCM57765/57785 SDXC/MMC Card Reader (rev 10)
02:00.2 System peripheral: Broadcom Corporation BCM57765/57785 MS Card Reader (rev 10)
02:00.3 System peripheral: Broadcom Corporation BCM57765/57785 xD-Picture Card Reader (rev 10)
lspci
oulsusb
et ajouter ces informations à votre question peut aider à trouver d'autres personnes pour trouver d'autres personnes ayant le même problème.Réponses:
Je n'ai pas votre matériel, mais j'ai eu des problèmes similaires avec Broadcom et leurs pilotes. Très frustrant. Cela mis à part, cela pourrait bien valoir le coup:
Créez un fichier et écrivez cette chaîne
options sdhci debug_quirks=0x40
:Maintenant, redémarrez ou rechargez le module:
Le bug tracker a mentionné qu'il ne vous donnerait peut-être pas la pleine vitesse, mais cela vaut la peine d'essayer.
(Sur https://bugzilla.kernel.org/show_bug.cgi?id=73241 et http://www.linuxtechtips.com/2013/08/sd-mmc-ms-pro-card-reader-not-working. html )
la source
$ sudo setpci -s 00:1c.2 0x50.B=0x41
après celaJ'ai rencontré ce problème sur linuxlite. La solution était de créer un fichier
/etc/modprobe.d/sdhci-pci.conf
avec le contenu:L'option
0x4
diminue la vitesse de l'ultra haute vitesse à la haute vitesse, mais il vaut mieux cette carte non utilisable.la source
Une recherche rapide sur Google pour obtenir des informations sur votre contrôleur de carte renvoie d'autres messages de personnes désignant le noyau comme le coupable. Je n'ai pas de rapport de bogue spécifique à référence, je ne peux donc pas dire avec certitude si le correctif existe en amont, mais il existe un moyen facile de savoir s'il est disponible. Installez et démarrez sur un noyau plus récent et voyez si le problème de la carte SD s'est amélioré. Aucun dommage ne viendra à votre ordinateur et vous pouvez toujours le supprimer si vous n'en avez pas besoin.
Exécutez
apt-cache search linux-generic-lts
pour voir les autres packages du noyau disponibles. Le dernier que je vois dans le référentiel est linux-generic-lts-wily. Vous pouvezsudo apt-get install linux-generic-lts-wily
ensuite redémarrer dans le nouveau noyau et tester à nouveau le lecteur SD.la source