SD-Karte funktioniert unter Ubuntu nicht gut, aber unter Windows

9

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 dmesgein 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 removevor 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)

quelle
3
Können Sie Informationen zur Hardware hinzufügen? Wenn Sie beispielsweise den Leser in lspcioder finden lsusbund diese Informationen zu Ihrer Frage hinzufügen, können Sie möglicherweise andere Personen finden, die andere Personen mit demselben Problem finden.
Oli
Welches Format hat die SD-Karte?
Charles Green
1
Es lohnt sich zu überprüfen: Ich denke, Ubuntu hat ein Problem mit exFat, einer Variante der FAT- und FAT32-Systeme.
Charles Green
Es hängt wirklich davon ab, wie das betreffende Gerät formatiert wurde: Da Sie das Gerät in Ubuntu neu formatiert haben, würde ich Probleme haben zu glauben, dass es exFAT ist
Charles Green
Ich habe die Chat-Sache verpasst - ich habe wirklich nicht viel hinzuzufügen, dachte aber, wir übersehen vielleicht eine kleine Sache ...
Charles Green

Antworten:

5

Ich habe Ihre Hardware nicht, hatte aber ähnliche Probleme mit Broadcom und ihren Treibern. Sehr frustrierend. Abgesehen davon kann dies einen Versuch wert sein:

  1. Erstellen Sie eine Datei und schreiben Sie diese Zeichenfolge hinein options sdhci debug_quirks=0x40:

    sudo sh -c 'echo options sdhci debug_quirks=0x40 >> /etc/modprobe.d/sdhci-pci.conf'
    
  2. Starten Sie nun das Modul neu oder laden Sie es neu:

    sudo modprobe -r sdhci-pci sdhci
    sudo modprobe sdhci-pci
    

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 )

G Trawo
quelle
Es funktioniert! Es ist gelungen, das, was darin enthalten war, per Ausschneiden und Einfügen zu retten (obwohl alles langsam lief ), und ich formatiere derzeit die SD-Karte. Daumen drücken!
Schneiden Sie alles aus und fügen Sie es wieder auf eine frisch abgewischte SD-Karte ein, und fügen Sie sogar fast 1 GB Material hinzu, das ich hinzufügen wollte. Übertragungen langsam, aber keine E / A-Fehler. Tausend Dank!
Ich bin froh, dass es funktioniert hat!
G Trawo
Ich tun musste , $ sudo setpci -s 00:1c.2 0x50.B=0x41danach
Minner
1

Ich habe mich mit diesem Problem auf Linuxlite konfrontiert. Die Lösung bestand darin, eine Datei /etc/modprobe.d/sdhci-pci.confmit dem Inhalt zu erstellen :

options sdhci debug_quirks=0x40 debug_quirks2=0x4

Die Option 0x4verringert die Geschwindigkeit von ultrahoher Geschwindigkeit auf hohe Geschwindigkeit, aber es ist besser, dass die Karte nicht bedienbar ist.

Alex Lee
quelle
0

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önnen sudo apt-get install linux-generic-lts-wilyden neuen Kernel neu starten und das SD-Laufwerk erneut testen.

Stephen Nichols
quelle
Wird dies meine Ubuntu-Version von 14.04 (Trusty) auf 15.10 (Wily) ändern oder einfach den Kernel verbessern?
Es wird nur der Kernel aktualisiert. Ihre Ubuntu-Release-Version bleibt davon unberührt.
Stephen Nichols
Nein, das gleiche Problem. Musste das Auswerfen erzwingen, und jedes Mal, wenn ich das Auswerfen erzwinge, wird die Karte nie registriert (Ubuntu wird versuchen, sie zu lesen, aber etwas im Hintergrund "hängt"), bis ich neu starte.