SD-карта не працює добре в Ubuntu, але добре працює під Windows


9

Я володію ноутбуком із вбудованим зчитувачем карт. Протягом останнього року або близько того я впорався з цікавою проблемою, яка здається більшою мірою пов'язаною з програмним забезпеченням, ніж апаратне забезпечення.

Я запускаю подвійне завантаження Windows 7 та Ubuntu 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

Це відбувається з будь-якою SD-карткою будь-якого розміру пам’яті, і це станеться в будь-який час під час передачі, особливо з великими файлами або великою кількістю файлів. Я клацнув правою кнопкою миші на значку SD-карти на моїй панелі Ubuntu і натиснув Safely removeперед тим, як вийняти SD, і навіть переформатував SD, щоб він не мав помилок, але він все ще створює мені проблеми. Мої флеш-накопичувачі USB відформатовані у тому ж форматі (FAT32), що і SD-карта, і всі вони працюють нормально. Чому 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)

3
Чи можете ви додати якусь інформацію про обладнання? Наприклад, пошук читача lspciабо lsusbдодавання інформації до вашого запитання може допомогти іншим людям знайти інших людей із тією ж проблемою.
Олі

Який формат має SD-карта?
Чарльз Грін

1
Варто перевірити: я думаю, що Ubuntu має певні проблеми з exFat, який є варіантом систем FAT і FAT32.
Чарльз Грін

Це дійсно залежить від того, як було відформатовано відповідний пристрій: Оскільки ви переформатували пристрій в Ubuntu, у мене виникнуть труднощі повірити, що це є exFAT
Чарльз Грін,

Пропущена річ у чаті - я дійсно не маю багато додати, але подумала, може, ми проігнорували маленьку річ ....
Чарльз Грін

Відповіді:


5

У мене немає вашого обладнання, але були подібні проблеми з Broadcom та їх драйверами. Дуже засмучує. Що ж убік, це може бути варте того, щоб зняти:

  1. Створіть файл і запишіть у нього цей рядок options sdhci debug_quirks=0x40:

    sudo sh -c 'echo options sdhci debug_quirks=0x40 >> /etc/modprobe.d/sdhci-pci.conf'
    
  2. Тепер перезавантажте або перезавантажте модуль:

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

Програма з відслідковування помилок зазначила, що це може дати вам не повну швидкість, але варто спробувати.

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


Це працює! Вдалося врятувати те , що було в ньому з допомогою вирізання та вставки (хоча і все , бігала ПОВІЛЬНО ), і я в даний час форматування SD - карти. Схрещені пальці!

Виріжте і вставте все на щойно витерту SD-карту і навіть додав майже 1 ГБ матеріалів, які я хотів додати. Передає повільно, але немає помилок вводу / виводу. Мільйон подяк!

Радий, що це працювало!
G Trawo

Я повинен був зробити $ sudo setpci -s 00:1c.2 0x50.B=0x41після цього
Міннерія

1

Я зіткнувся з цим питанням на linuxlite. Рішенням було створити файл /etc/modprobe.d/sdhci-pci.confіз вмістом:

options sdhci debug_quirks=0x40 debug_quirks2=0x4

Опція 0x4знижує швидкість від надшвидкісної до високої швидкості, але краще, щоб не працювала карта.


0

Деякі швидкі поглинання інформації щодо контролера вашої картки повертають інші повідомлення людей, які вказують на ядро ​​як винуватця. Я не маю конкретного звіту про помилку під рукою, тому я не можу точно сказати, чи виправлення існує вище, але є простий спосіб дізнатися, чи є він. Встановіть і завантажте новітнє ядро ​​та перевірте, чи покращилась проблема SD-картки. На ваш комп’ютер не буде шкоди, і ви завжди зможете його видалити, якщо він вам не потрібен.

Запустіть, apt-cache search linux-generic-ltsщоб побачити інші доступні пакети ядра. Останнє, що я бачу у сховищі, - це linux-generic-lts-wily. Ви можете, sudo apt-get install linux-generic-lts-wilyа потім перезавантажити нове ядро ​​і знову перевірити накопичувач SD.


Чи змінить це мою версію Ubuntu з 14.04 (Trusty) на 15.10 (Wily), або просто покращить ядро?

Це лише оновить ядро. Ваша версія випуску Ubuntu не вплине.
Стівен Ніколс

Ні, та сама проблема. Довелося примусити-вийняти, і кожен раз, коли я примушую вийняти, карта ніколи не реєструватиметься (Ubuntu намагатиметься її прочитати, але щось у фоновому режимі "висить"), поки я не перезавантажуюсь.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.