¿Cómo desactivar el almacenamiento en caché para el dispositivo usb al escribir en él?

8

Tengo problemas para transferir programas binarios a una placa prototipo de microcontrolador cuando uso ubuntu / kubuntu para montar la placa a través de usb. Con MacOS y Windows no hay problemas. He encontrado que la escritura de Ubuntu definitivamente cambia el archivo escrito. Sospecho que el problema es la caché de escritura. ¿Cómo puedo desactivarlo o qué otro problema podría ser?

txwikinger
fuente

Respuestas:

9

Lea esto primero: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
No estoy seguro de si es cierto o no.

Puede intentar usar hdparm para desactivar la función de almacenamiento en caché de escritura en tiempo de ejecución. (Probablemente necesitará ejecutar esto después de cada arranque o cada vez que retire y vuelva a insertar el dispositivo)

sudo hdparm -W 0 /dev/devicename

Por favor asegúrese de que conoce el nombre de dispositivo correcto ( sdb, sdco así sucesivamente).

Puede averiguar el nombre del dispositivo ejecutando:

sudo fdisk -l

También puede editar /etc/fstaby agregar las opciones de montaje, sync,dirsyncsin embargo, no estoy muy familiarizado con el /etc/fstabfuncionamiento de los dispositivos extraíbles. Creo que necesitan un punto de montaje permanente.

NightwishFan
fuente
1
¿Hay alguna manera de establecer las opciones predeterminadas "fstab" para dispositivos extraíbles?
Aaron Franke
2

felicitaciones a @NightwishFan por el interruptor hdparm para configurar la función de almacenamiento en caché de escritura de la unidad.

Tenga en cuenta que la syncopción de montaje disminuye la velocidad en una magnitud (más de 10 veces). flushLa opción de montaje asegura una escritura efectiva sin costo de rendimiento. También lo he estado utilizando sin problemas durante algunos años en todos los dispositivos FAT (basados ​​en spinning o memoria flash) que he utilizado: en realidad, todo el conjunto de opciones de montaje se noauto,users,noatime,flush,umask=111,dmask=000configura manualmente o en / etc / fstab.

tuk0z
fuente