Bagaimana cara mematikan caching untuk perangkat usb saat menulis ke sana?

8

Saya memiliki masalah dalam mentransfer program biner ke papan prototipe mikrokontroler ketika menggunakan ubuntu / kubuntu untuk memasang papan melalui usb. Dengan MacOS dan Windows tidak ada masalah. Saya telah menemukan tulisan dari Ubuntu pasti mengubah file yang ditulis. Saya menduga bahwa cache tulis adalah masalahnya. Bagaimana saya bisa menonaktifkannya, atau apa lagi masalahnya.

txwikinger
sumber

Jawaban:

9

Baca ini dulu: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Saya tidak yakin apakah itu benar atau tidak.

Anda dapat mencoba menggunakan hdparm untuk menonaktifkan fitur caching tulis saat runtime. (Anda mungkin perlu menjalankan ini setelah setiap boot atau setiap kali Anda menghapus dan memasukkan kembali perangkat)

sudo hdparm -W 0 /dev/devicename

Pastikan Anda tahu nama perangkat yang benar ( sdb, sdcatau sebagainya).

Anda dapat mengetahui nama perangkat dengan menjalankan:

sudo fdisk -l

Anda juga dapat mengedit /etc/fstabdan menambahkan opsi pemasangan sync,dirsyncnamun saya tidak terlalu familiar dengan cara /etc/fstabkerjanya dengan perangkat yang bisa dilepas. Saya pikir mereka membutuhkan titik pemasangan permanen.

NightwishFan
sumber
1
Apakah ada cara untuk mengatur opsi "fstab" default untuk perangkat yang dapat dilepas?
Aaron Franke
2

kudos to @NightwishFan untuk sakelar hdparm untuk mengatur fitur tulis-cache drive.

Perhatikan bahwa syncopsi pemasangan mengurangi kecepatan dengan besarnya (lebih dari 10 kali). flushopsi pemasangan memastikan penulisan yang efektif tanpa biaya kinerja. Juga saya telah menggunakannya tanpa masalah selama beberapa tahun pada semua perangkat FAT (berputar atau berbasis memori flash) yang saya gunakan: Sebenarnya seluruh rangkaian opsi mount adalah noauto,users,noatime,flush,umask=111,dmask=000, diatur secara manual atau di / etc / fstab.

tuk0z
sumber