Saya memiliki laptop dengan pembaca kartu built-in. Selama sekitar setahun terakhir, saya telah mengatasi masalah aneh yang tampaknya lebih terkait perangkat lunak daripada perangkat keras.
Saya menjalankan dual-boot Windows 7 dan Ubuntu 14.04 , keduanya 64-bit. Di bawah Windows, kartu SD berfungsi dengan baik. Ini berjalan agak lambat, tetapi selalu berhasil menyelesaikan tanpa kesalahan.
Di bawah Ubuntu, tiba-tiba berhenti, dan saya mendapatkan pesan-pesan ini ketika saya mengetik dmesg
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
Ini terjadi dengan kartu SD apa pun dari ukuran penyimpanan apa pun , dan itu akan terjadi kapan saja saat mentransfer, terutama dengan file besar atau file dalam jumlah besar. Saya telah mengklik kanan pada ikon kartu SD pada panel Ubuntu saya dan mengklik Safely remove
sebelum mengeluarkan SD, dan bahkan memformat ulang SD sehingga bebas dari kesalahan, tetapi masih memberi saya masalah. USB flash drive saya diformat dalam format yang sama (FAT32) seperti kartu SD, dan semuanya bekerja dengan baik. Mengapa Windows dapat membaca / menulis ke kartu saya dengan baik dan bukan Ubuntu?
Output dari lspci
(pembaca kartu saja):
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
ataulsusb
dan menambahkan informasi itu ke pertanyaan Anda mungkin membantu menemukan orang lain menemukan orang lain dengan masalah yang sama.Jawaban:
Saya tidak memiliki perangkat keras Anda, tetapi memiliki masalah serupa dengan Broadcom dan drivernya. Sangat membuat frustrasi. Selain itu, ini mungkin patut dicoba:
Buat file dan tulis string ini ke dalamnya
options sdhci debug_quirks=0x40
:Sekarang reboot, atau muat kembali modul:
Pelacak bug menyebutkan bahwa itu mungkin tidak memberi Anda kecepatan penuh, tetapi patut dicoba.
(Dari https://bugzilla.kernel.org/show_bug.cgi?id=73241 dan http://www.linuxtechtips.com/2013/08/sd-mmc-ms-pro-card-reader-not-working. html )
sumber
$ sudo setpci -s 00:1c.2 0x50.B=0x41
setelah ituSaya menghadapi masalah ini di linuxlite. Solusinya adalah membuat file
/etc/modprobe.d/sdhci-pci.conf
dengan konten:Opsi ini
0x4
mengurangi kecepatan dari kecepatan sangat tinggi ke kecepatan tinggi, tetapi lebih baik kartu tidak dapat dioperasikan.sumber
Beberapa googling cepat untuk informasi tentang pengontrol kartu Anda mengembalikan pos-pos lain dari orang-orang yang menunjuk kernel sebagai penyebabnya. Saya tidak memiliki laporan bug khusus untuk referensi, jadi saya tidak bisa mengatakan dengan pasti apakah perbaikannya ada di hulu tetapi ada cara mudah untuk mengetahui apakah itu tersedia. Instal dan boot ke kernel yang lebih baru dan lihat apakah masalah kartu SD telah membaik. Tidak ada salahnya akan datang ke komputer Anda dan Anda selalu dapat menghapusnya jika Anda tidak membutuhkannya.
Jalankan
apt-cache search linux-generic-lts
untuk melihat paket kernel lain yang tersedia. Yang terbaru yang saya lihat di repositori adalah linux-generic-lts-wily. Anda dapatsudo apt-get install linux-generic-lts-wily
dan kemudian reboot ke kernel baru dan menguji drive SD lagi.sumber