Tengo una computadora portátil con un lector de tarjetas incorporado. Durante el último año más o menos, he estado lidiando con un problema curioso que parece estar más relacionado con el software que con el hardware.
Ejecuto un arranque dual de Windows 7 y Ubuntu 14.04 , ambos de 64 bits. En Windows, la tarjeta SD funciona bien. Funciona un poco lento, pero siempre se completa sin errores.
En Ubuntu, se detiene de repente y recibo estos mensajes cuando escribo dmesg
en una 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
Esto sucede con cualquier tarjeta SD de cualquier tamaño de almacenamiento, y sucederá en cualquier momento durante la transferencia, especialmente con archivos grandes o grandes cantidades de archivos. He hecho clic con el botón derecho en el icono de la tarjeta SD en mi panel de Ubuntu e hice clic Safely remove
antes de expulsar la tarjeta SD, e incluso he formateado la tarjeta SD para que esté libre de errores, pero todavía me da problemas. Mis unidades flash USB están formateadas en el mismo formato (FAT32) que la tarjeta SD, y todas funcionan bien. ¿Por qué Windows puede leer / escribir bien en mi tarjeta y no Ubuntu?
Salida de lspci
(solo lectores de tarjetas):
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
olsusb
y agregar esa información a su pregunta podría ayudar a encontrar a otras personas a encontrar a otras personas con el mismo problema.Respuestas:
No tengo su hardware, pero tuve problemas similares con Broadcom y sus controladores. Muy frustrante. Aparte de eso, vale la pena intentarlo:
Cree un archivo y escriba esta cadena en él
options sdhci debug_quirks=0x40
:Ahora reinicie o vuelva a cargar el módulo:
El rastreador de errores mencionó que es posible que no te dé toda la velocidad, pero vale la pena intentarlo.
(De https://bugzilla.kernel.org/show_bug.cgi?id=73241 y http://www.linuxtechtips.com/2013/08/sd-mmc-ms-pro-card-reader-not-working. html )
fuente
$ sudo setpci -s 00:1c.2 0x50.B=0x41
después de esoMe he enfrentado con este problema en linuxlite. La solución fue crear un archivo
/etc/modprobe.d/sdhci-pci.conf
con el contenido:La opción
0x4
disminuye la velocidad de velocidad ultra alta a alta velocidad, pero es mejor que la tarjeta no operable.fuente
Un poco de búsqueda rápida en Google para obtener información sobre el controlador de su tarjeta devuelve otras publicaciones de personas que señalan al kernel como el culpable. No tengo un informe de error específico disponible para hacer referencia, por lo que no puedo decir con certeza si la solución existe en sentido ascendente, pero hay una manera fácil de averiguar si está disponible. Instale y arranque en un kernel más reciente y vea si el problema de la tarjeta SD ha mejorado. No se dañará su computadora y siempre puede eliminarla si no la necesita.
Ejecute
apt-cache search linux-generic-lts
para ver los otros paquetes de kernel disponibles. Lo último que veo en el repositorio es linux-generic-lts-wily. Puedesudo apt-get install linux-generic-lts-wily
y luego reiniciar en el nuevo núcleo y probar la unidad SD nuevamente.fuente