Como desativar o cache do dispositivo USB ao escrever nele?


8

Tenho problemas ao transferir programas binários para uma placa protótipo de microcontrolador ao usar o ubuntu / kubuntu para montar a placa via usb. Com o MacOS e o Windows, não há problemas. Eu descobri que a escrita do Ubuntu altera definitivamente o arquivo gravado. Suspeito que o cache de gravação seja o problema. Como posso desabilitá-lo ou o que mais pode ser o problema.

Respostas:


9

Leia isto primeiro: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Não tenho certeza se é verdade ou não.

Você pode tentar usar o hdparm para desativar o recurso de cache de gravação em tempo de execução. (Você provavelmente precisará executá-lo após cada inicialização ou sempre que remover e reinserir o dispositivo)

sudo hdparm -W 0 /dev/devicename

Por favor, garantir que você sabe o nome correto do dispositivo ( sdb, sdcou assim por diante).

Você pode descobrir o nome do dispositivo executando:

sudo fdisk -l

Você também pode editar /etc/fstabe adicionar as opções de montagem, sync,dirsyncno entanto, não estou muito familiarizado com o /etc/fstabfuncionamento de dispositivos removíveis. Eu acho que eles precisam de um ponto de montagem permanente.


11
Existe uma maneira de definir as opções padrão "fstab" para dispositivos removíveis?
Aaron Franke

2

parabéns a @NightwishFan para o switch hdparm para definir o recurso de cache de gravação da unidade.

Observe que a syncopção de montagem diminui a velocidade em uma magnitude (mais de 10 vezes). flushA opção de montagem garante uma gravação eficaz, sem custo de desempenho. Além disso, eu o uso sem problemas há alguns anos em todos os dispositivos FAT (baseados em rotação ou memória flash) que usei: Na verdade, todo o conjunto de opções de montagem é noauto,users,noatime,flush,umask=111,dmask=000definido manualmente ou em / etc / fstab.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.