Comment désactiver la mise en cache pour le périphérique USB lors de l'écriture?


8

J'ai des problèmes pour transférer des programmes binaires sur une carte prototype de microcontrôleur lors de l'utilisation d'ubuntu / kubuntu pour monter la carte via USB. Avec MacOS et Windows, il n'y a aucun problème. J'ai trouvé que l'écriture d'Ubuntu change définitivement le fichier écrit. Je soupçonne que la mise en cache en écriture est le problème. Comment puis-je le désactiver, ou quoi d'autre pourrait être le problème.

Réponses:


9

Lisez ceci en premier: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Je ne sais pas si c'est vrai ou non.

Vous pouvez essayer d'utiliser hdparm pour désactiver la fonctionnalité de mise en cache d'écriture lors de l'exécution. (Vous devrez probablement l'exécuter après chaque démarrage ou chaque fois que vous retirez et réinsérez l'appareil)

sudo hdparm -W 0 /dev/devicename

Veuillez vous assurer que vous connaissez le nom correct de l'appareil ( sdb, sdcou ainsi de suite).

Vous pouvez connaître le nom de l'appareil en exécutant:

sudo fdisk -l

Vous pouvez également modifier /etc/fstabet ajouter les options de montage, sync,dirsyncmais je ne connais pas très bien le /etc/fstabfonctionnement des périphériques amovibles. Je pense qu'ils ont besoin d'un point de montage permanent.


1
Existe-t-il un moyen de définir les options par défaut "fstab" pour les périphériques amovibles?
Aaron Franke

2

bravo à @NightwishFan pour que le commutateur hdparm définisse la fonction de mise en cache en écriture du lecteur.

Notez que l' syncoption de montage diminue la vitesse d'une amplitude (plus de 10 fois). flushL'option de montage garantit une écriture efficace sans coût de performance. De plus, je l'utilise sans problème depuis quelques années sur tous les appareils FAT (basés sur la rotation ou la mémoire flash) que j'ai utilisés: En fait, l'ensemble des options de montage est noauto,users,noatime,flush,umask=111,dmask=000défini manuellement ou dans / etc / fstab.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.