La scheda SD non funziona bene con Ubuntu, ma funziona bene con Windows


9

Possiedo un laptop con un lettore di schede integrato. Negli ultimi anni ho affrontato un problema curioso che sembra più legato al software che all'hardware.

Eseguo un doppio avvio di Windows 7 e Ubuntu 14.04 , entrambi a 64 bit. Sotto Windows, la scheda SD funziona bene. Funziona un po 'lentamente, ma riesce sempre a completare senza errori.

Sotto Ubuntu, si interrompe improvvisamente e ricevo questi messaggi quando scrivo dmesgin un terminale:

[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

Ciò accade con qualsiasi scheda SD di qualsiasi dimensione di archiviazione e accadrà in qualsiasi momento durante il trasferimento, specialmente con file di grandi dimensioni o grandi quantità di file. Ho cliccato con il tasto destro sull'icona della scheda SD sul mio pannello Ubuntu e ho fatto clic Safely removeprima di espellere la SD, e ho anche riformattato la SD in modo che fosse priva di errori, ma mi dà ancora problemi. Le mie unità flash USB sono formattate nello stesso formato (FAT32) della scheda SD e funzionano tutte bene. Perché Windows può leggere / scrivere bene sulla mia scheda e non su Ubuntu?


Uscita di lspci(solo lettori di schede):

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)

3
Potresti aggiungere qualche informazione sull'hardware? Ad esempio, trovare il lettore lspcio lsusbaggiungere quelle informazioni alla tua domanda potrebbe aiutare a trovare altre persone a trovare altre persone con lo stesso problema.
Oli

Che formato ha la scheda SD su di essa?
Charles Green,

1
Vale la pena controllare: penso che Ubuntu abbia qualche problema con exFat che è una variante dei sistemi FAT e FAT32.
Charles Green,

Dipende molto da come è stato formattato il dispositivo in questione: poiché hai riformattato il dispositivo in Ubuntu, avrei difficoltà a credere che sia exFAT
Charles Green,

Ho perso la cosa della chat - Non ho davvero molto da aggiungere, ma ho pensato che forse stavamo trascurando una piccola cosa ....
Charles Green,

Risposte:


5

Non ho il tuo hardware, ma ho avuto problemi simili con Broadcom e i loro driver. Molto frustrante. A parte questo, potrebbe valere la pena provare:

  1. Crea un file e scrivi questa stringa in esso options sdhci debug_quirks=0x40:

    sudo sh -c 'echo options sdhci debug_quirks=0x40 >> /etc/modprobe.d/sdhci-pci.conf'
    
  2. Ora riavvia o ricarica il modulo:

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

Il bug tracker ha detto che potrebbe non darti la massima velocità, ma vale la pena provare.

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


Sta funzionando! Gestito per salvare ciò che conteneva tramite taglia e incolla (sebbene tutto funzionasse LENTAMENTE ), e attualmente sto formattando la scheda SD. Dita incrociate!

Taglia e incolla tutto su una scheda SD appena cancellata e ha persino aggiunto quasi 1 GB di roba che volevo aggiungere. Trasferimenti lenti, ma nessun errore I / O. Mille grazie!

Sono contento che abbia funzionato!
G Trawo,

Ho dovuto farlo $ sudo setpci -s 00:1c.2 0x50.B=0x41dopo
MInner

1

Ho affrontato questo problema su Linuxlite. La soluzione era creare un file /etc/modprobe.d/sdhci-pci.confcon il contenuto:

options sdhci debug_quirks=0x40 debug_quirks2=0x4

L'opzione 0x4riduce la velocità da ultra alta a alta velocità, ma è meglio che la carta non utilizzabile.


0

Alcuni rapidi googling per informazioni sul controller della tua scheda restituiscono altri post da persone che indicano il kernel come colpevoli. Non ho a portata di mano un referto di bug specifico da riferire, quindi non posso dire con certezza se la correzione esiste a monte ma esiste un modo semplice per scoprire se è disponibile. Installa e avvia un kernel più recente e verifica se il problema con la scheda SD è migliorato. Nessun danno arriverà al tuo computer e puoi sempre rimuoverlo se non ne hai bisogno.

Esegui apt-cache search linux-generic-ltsper vedere gli altri pacchetti del kernel disponibili. L'ultima che vedo nel repository è linux-generic-lts-wily. È possibile, sudo apt-get install linux-generic-lts-wilyquindi riavviare il nuovo kernel e testare nuovamente l'unità SD.


Questo cambierà la mia versione di Ubuntu da 14.04 (Trusty) a 15.10 (Wily) o semplicemente migliorerà il kernel?

Aggiornerà solo il kernel. La tua versione di Ubuntu non sarà interessata.
Stephen Nichols,

No, stesso problema. Ho dovuto forzare l'espulsione, e ogni volta che forza l'espulsione, la scheda non si registrerà mai (Ubuntu proverà a leggerlo, ma qualcosa in background "si blocca") fino al riavvio.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.