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

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

Ich besitze einen Laptop mit integriertem Kartenleser. Seit etwa einem Jahr kämpfe ich mit einem merkwürdigen Problem, das eher mit der Software als mit der Hardware zusammenzuhängen scheint.

Ich verwende einen Dual-Boot vonWindows 7UndUbuntu 14.04, beide 64-Bit. Unter Windows funktioniert die SD-Karte einwandfrei. Sie läuft zwar etwas langsam, wird aber immer ohne Fehler abgeschlossen.

Unter Ubuntu stoppt es plötzlich und ich erhalte diese Meldungen, wenn ich dmesgin ein Terminal tippe:

[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 mitbeliebigSD-Karte vonbeliebigSpeichergröße, und es wird passieren beibeliebigZeit beim Übertragen, insbesondere bei großen Dateien oder großen Dateimengen. Ich habe mit der rechten Maustaste auf das SD-Kartensymbol in meinem Ubuntu-Panel geklickt und Safely removevor dem Auswerfen der SD-Karte geklickt und die SD-Karte sogar neu formatiert, sodass sie fehlerfrei war, aber ich habe immer noch Probleme. Meine USB-Flash-Laufwerke sind im selben Format (FAT32) wie die SD-Karte formatiert und funktionieren alle einwandfrei.Warum kann Windows meine Karte problemlos lesen/beschreiben, Ubuntu jedoch nicht?


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)

Antwort1

Ich habe Ihre Hardware nicht, hatte aber ähnliche Probleme mit Broadcom und deren Treibern. Sehr frustrierend. Abgesehen davon könnte dies durchaus 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. Führen Sie nun einen Neustart durch bzw. laden Sie das Modul neu:

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

Im Bugtracker wurde erwähnt, dass möglicherweise nicht die volle Geschwindigkeit erreicht wird, aber einen Versuch ist es wert.

(Aushttps://bugzilla.kernel.org/show_bug.cgi?id=73241Undhttp://www.linuxtechtips.com/2013/08/sd-mmc-ms-pro-card-reader-not-working.html)

Antwort2

Ich hatte dieses Problem unter LinuxLite. Die Lösung bestand darin, eine Datei /etc/modprobe.d/sdhci-pci.confmit folgendem Inhalt zu erstellen:

options sdhci debug_quirks=0x40 debug_quirks2=0x4

Die Option 0x4verringert die Geschwindigkeit von ultrahoher Geschwindigkeit auf hohe Geschwindigkeit, ist aber besser als eine nicht funktionsfähige Karte.

Antwort3

Wenn Sie schnell nach Informationen zu Ihrem Kartencontroller googeln, werden andere Beiträge von Leuten angezeigt, die den Kernel als Übeltäter bezeichnen. Ich habe keinen bestimmten Fehlerbericht zur Hand, auf den ich verweisen könnte, daher kann ich nicht mit Sicherheit sagen, ob der Fix upstream vorhanden ist, aber es gibt eine einfache Möglichkeit, herauszufinden, ob er verfügbar ist. Installieren und booten Sie einen aktuelleren Kernel und prüfen Sie, ob sich das Problem mit der SD-Karte verbessert hat. Ihr Computer wird nicht beschädigt und Sie können ihn jederzeit entfernen, wenn Sie ihn nicht benötigen.

Führen Sie es aus apt-cache search linux-generic-lts, um die anderen verfügbaren Kernelpakete anzuzeigen. Das neueste, das ich im Repository sehe, ist linux-generic-lts-wily. Sie können sudo apt-get install linux-generic-lts-wilydann den neuen Kernel neu starten und das SD-Laufwerk erneut testen.

verwandte Informationen