SD 卡在 Ubuntu 下运行不佳,但在 Windows 下运行良好

9 dual-boot windows-7 storage sd-card 14.04

我拥有一台带有内置读卡器的笔记本电脑。在过去一年左右的时间里,我一直在处理一个奇怪的问题,这个问题似乎与软件有关而不是硬件。

我运行Windows 7Ubuntu 14.04的双启动,均为 64 位。在 Windows 下,SD 卡工作正常。它运行有点慢,但它总是设法完成而没有错误。

在 Ubuntu 下,它突然停止,当我输入dmesg终端时,我收到这些消息:

[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
Run Code Online (Sandbox Code Playgroud)

出现这种情况有任何的SD卡任意存储大小,它会发生在任何在传输,尤其是对于大型文件或大量文件的时间。我在我的 Ubuntu 面板上右键单击 SD 卡图标并Safely remove在弹出 SD 之前单击,甚至重新格式化 SD 使其没有错误,但它仍然给我带来了问题。我的 USB 闪存驱动器的格式与 SD 卡的格式相同(FAT32),它们都可以正常工作。为什么 Windows 可以很好地读/写我的卡而不是 Ubuntu?


输出lspci(仅限读卡器):

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)
Run Code Online (Sandbox Code Playgroud)

G T*_*awo 6

我没有你的硬件,但 Broadcom 和他们的驱动程序有类似的问题。非常令人沮丧。除此之外,这可能值得一试:

  1. 创建一个文件并将此字符串写入其中options sdhci debug_quirks=0x40

    sudo sh -c 'echo options sdhci debug_quirks=0x40 >> /etc/modprobe.d/sdhci-pci.conf'
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在重新启动,或重新加载模块:

    sudo modprobe -r sdhci-pci sdhci
    sudo modprobe sdhci-pci
    
    Run Code Online (Sandbox Code Playgroud)

错误跟踪器提到它可能不会给你全速,但值得一试。

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