Ich besitze einen Laptop mit eingebautem Kartenleser. Seit etwa einem Jahr beschäftige ich mich mit einem merkwürdigen Problem, das eher mit Software als mit Hardware zu tun zu haben scheint.
Ich führe einen Dual-Boot von Windows 7 und Ubuntu 14.04 aus , beide 64-Bit. Unter Windows funktioniert die SD-Karte einwandfrei. Es läuft etwas langsam, aber es schafft es immer, ohne Fehler abzuschließen.
Unter Ubuntu stoppt es plötzlich und ich erhalte folgende Meldungen, wenn ich dmesg
ein Terminal eingebe:
[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
Dies geschieht bei jeder SD-Karte mit beliebiger Speichergröße und jederzeit während der Übertragung, insbesondere bei großen Dateien oder großen Mengen an Dateien. Ich habe mit der rechten Maustaste auf das SD-Kartensymbol in meinem Ubuntu-Bedienfeld geklickt und Safely remove
vor dem Auswerfen der SD darauf geklickt und die SD sogar neu formatiert, sodass sie fehlerfrei war, aber es gibt immer noch Probleme. Meine USB-Sticks sind im gleichen Format (FAT32) wie die SD-Karte formatiert und funktionieren alle einwandfrei. Warum kann Windows gut auf meine Karte lesen / schreiben und nicht auf Ubuntu?
Ausgabe von lspci
(nur Kartenleser):
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
oder findenlsusb
und diese Informationen zu Ihrer Frage hinzufügen, können Sie möglicherweise andere Personen finden, die andere Personen mit demselben Problem finden.Antworten:
Ich habe Ihre Hardware nicht, hatte aber ähnliche Probleme mit Broadcom und ihren Treibern. Sehr frustrierend. Abgesehen davon kann dies einen Versuch wert sein:
Erstellen Sie eine Datei und schreiben Sie diese Zeichenfolge hinein
options sdhci debug_quirks=0x40
:Starten Sie nun das Modul neu oder laden Sie es neu:
Der Bug-Tracker erwähnte, dass es Ihnen möglicherweise nicht die volle Geschwindigkeit gibt, aber es ist einen Versuch wert.
(Von https://bugzilla.kernel.org/show_bug.cgi?id=73241 und http://www.linuxtechtips.com/2013/08/sd-mmc-ms-pro-card-reader-not-working. html )
quelle
$ sudo setpci -s 00:1c.2 0x50.B=0x41
danachIch habe mich mit diesem Problem auf Linuxlite konfrontiert. Die Lösung bestand darin, eine Datei
/etc/modprobe.d/sdhci-pci.conf
mit dem Inhalt zu erstellen :Die Option
0x4
verringert die Geschwindigkeit von ultrahoher Geschwindigkeit auf hohe Geschwindigkeit, aber es ist besser, dass die Karte nicht bedienbar ist.quelle
Wenn Sie schnell nach Informationen über Ihren Kartencontroller suchen, werden andere Beiträge von Personen zurückgegeben, die auf den Kernel als Schuldigen zeigen. Ich habe keinen spezifischen Fehlerbericht zur Verfügung, auf den ich verweisen kann, daher kann ich nicht sicher sagen, ob das Update im Upstream vorhanden ist, aber es gibt eine einfache Möglichkeit, herauszufinden, ob es verfügbar ist. Installieren und booten Sie einen neueren Kernel und prüfen Sie, ob sich das SD-Kartenproblem verbessert hat. Ihr Computer wird nicht beschädigt und Sie können ihn jederzeit entfernen, wenn Sie ihn nicht benötigen.
Führen Sie aus
apt-cache search linux-generic-lts
, um die anderen verfügbaren Kernel-Pakete anzuzeigen. Das neueste, was ich im Repository sehe, ist linux-generic-lts-wily. Sie könnensudo apt-get install linux-generic-lts-wily
den neuen Kernel neu starten und das SD-Laufwerk erneut testen.quelle