Как отключить кеширование для usb устройства при записи на него?


8

У меня проблемы с переносом бинарных программ на плату-прототип микро-контроллера при использовании ubuntu / kubuntu для монтирования платы через usb. С MacOS и Windows проблем нет. Я обнаружил, что запись из Ubuntu определенно меняет записанный файл. Я подозреваю, что проблема заключается в кэшировании записи. Как я могу отключить его, или в чем еще может быть проблема.

Ответы:


9

Сначала прочтите это: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Я не уверен, правда это или нет.

Вы можете попробовать использовать hdparm, чтобы отключить функцию кэширования записи во время выполнения. (Вам, вероятно, понадобится запускать это после каждой загрузки или каждый раз, когда вы удаляете и повторно устанавливаете устройство)

sudo hdparm -W 0 /dev/devicename

Пожалуйста , убедитесь , что вы знаете , правильное имя устройства ( sdb, sdcили так далее).

Вы можете узнать имя устройства, запустив:

sudo fdisk -l

Вы также можете редактировать /etc/fstabи добавлять параметры монтирования, sync,dirsyncоднако я не очень хорошо знаю, как /etc/fstabработает со сменными устройствами. Я думаю, что им нужна постоянная точка монтирования.


1
Есть ли способ установить параметры «fstab» по умолчанию для съемных устройств?
Аарон Франке

2

Слава @NightwishFan для переключателя hdparm, чтобы установить функцию кэширования записи диска.

Обратите внимание, что syncопция монтирования уменьшает скорость на величину (более чем в 10 раз). flushОпция монтирования обеспечивает эффективную запись без затрат производительности. Также я использую его без проблем в течение нескольких лет на всех устройствах FAT (на основе вращения или флэш-памяти), которые я использовал: На самом деле весь набор параметров монтирования noauto,users,noatime,flush,umask=111,dmask=000установлен вручную или в / etc / fstab.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.