Wie schalte ich das Caching für ein USB-Gerät aus, wenn ich darauf schreibe?


8

Ich habe Probleme beim Übertragen von Binärprogrammen auf eine Mikrocontroller-Prototypkarte, wenn Ubuntu / Kubuntu verwendet wird, um die Karte über USB zu mounten. Unter MacOS und Windows gibt es keine Probleme. Ich habe festgestellt, dass das Schreiben von Ubuntu die geschriebene Datei definitiv ändert. Ich vermute, dass das Schreib-Caching das Problem ist. Wie kann ich es deaktivieren oder was könnte das andere Problem sein?

Antworten:


9

Lesen Sie dies zuerst: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Ich bin mir nicht sicher, ob es wahr ist oder nicht.

Sie können versuchen, mit hdparm die Schreib-Caching-Funktion zur Laufzeit zu deaktivieren. (Sie müssen dies wahrscheinlich nach jedem Start oder nach jedem Entfernen und erneuten Einsetzen des Geräts ausführen.)

sudo hdparm -W 0 /dev/devicename

Bitte stellen Sie sicher , die richtigen Gerätenamen kennen ( sdb, sdcoder so weiter).

Sie können den Gerätenamen ermitteln, indem Sie Folgendes ausführen:

sudo fdisk -l

Sie können /etc/fstabdie Mount-Optionen auch bearbeiten und hinzufügen. sync,dirsyncIch bin jedoch nicht sehr vertraut mit der Funktionsweise /etc/fstabvon Wechseldatenträgern. Ich denke, sie brauchen einen permanenten Montagepunkt.


1
Gibt es eine Möglichkeit, die Standardoptionen "fstab" für Wechselmedien festzulegen?
Aaron Franke

2

Ein großes Lob an @NightwishFan für den hdparm-Schalter zum Festlegen der Write-Caching-Funktion des Laufwerks.

Beachten Sie, dass die syncMount-Option die Geschwindigkeit um eine Größenordnung verringert (über das 10-fache). flushDie Mount-Option gewährleistet ein effektives Schreiben ohne Leistungskosten. Außerdem verwende ich es seit einigen Jahren ohne Probleme auf allen FAT-Geräten (drehend oder auf Flash-Speicher basierend), die ich verwendet habe: Tatsächlich ist der gesamte Satz von Mount-Optionen noauto,users,noatime,flush,umask=111,dmask=000manuell oder in / etc / fstab festgelegt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.