Re: USB Flash Drive wieder anmelden

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Sun, 30 Nov 2003 15:09:24 +0100

On Sun, Nov 30, 2003 at 01:25:54PM +0100, Christian Lackas wrote:
> * Bernd Walter <ticso(at)cicely12.cicely.de> [031126 19:34]:
>
> Hallo Bernd,
>
> > > Es gibt keine Notification, wenn ich den Stick herausziehe oder
> > > einstecke.
> > Ich denke, der Bug sollte in der kommenden 5.2 gefixed sein.
>
> habe das jetzt mal auf dem einzigen 5.1-CURRENT System von mir probiert
> und da funktioniert es problemlos. Glaubst du da wird es noch einen MFC
> geben, oder soll ich mich schonmal auf 5.2 freuen? :-)

Ich denke nicht, daß sich einer damit beschäftigt.

> Auf meinen anderen Rechnern fahre ich lieber nur -STABLE.
>
> > > Ich verwende einen "VIA 83C572 USB controller" (btw: kann der
> > > eigentlich USB 2.0?).
> > pciconf -lv wird da eindetiges Melden.
>
> Sehr gut, genau das habe ich gesucht. Offenbar sind alle meine USB
> Controller nur 1.1. Seit wann wird denn so in Standard-PCs ein 2.0
> Controller verbaut? Die Rechner, die ich hier habe sind ab ein Jahre
> alt.

»Offenbar« klingt nicht so danach, als wenn du dir bei der
Interpretation der Ausgabe sicher gewesen bist.
Warum mailst du es dann nicht einfach?

> > > attach "/sbin/mount /mnt/FlashDrive"
>
> BTW: Ich musste hier noch ein sleep davor bauen, weil sonst das Device
> /dev/da0 noch gar nicht da war, wenn das mount ausgeführt wird. Geht das
> irgendwie eleganter?

Attach kommt vom USB System bevor ein Treiber gebunden wird, damit
du genau an dieser Stelle Einfluß nehmen kannst.
Das nächste Problem was du hast ist, daß du keine Kenntniss über den
Laufwerksnamen hast - bzw der Laufwerksnamen, weil es können auch
mehrere sein.
Du müsstest auf devd Ebene arbeiten, sobald dein /dev/da?s1 erstellt
wird.
Wobei ich nicht genau sagen kann, ob devd das bereits soweit beherscht.

> > > detach "/sbin/umount -f /mnt/FlashDrive"
> > Kannste so vergessen.
> > Erst unmounten und dann abziehen.
>
> Ja, das ist wohl so ein allgemeines Problem mit den Sticks.
> Eigentlich sollen die ja Plug&Play bieten, aber vor dem rausziehen ist
> dann doch Handarbeit angesagt... :-(
> Aber kann hier nicht der Automounter helfen? Ich glaube das werde ich
> bei Gelegenheit mal einrichten.

Auch der Automounter wird dir nicht helfen.
Der Automounter kann automatisch unmounten, wenn auf dem Filesystem
nicht mehr zugegriffen wird.
Aber woher weißt du vor dem ziehen, ob es gemountet ist oder nicht?
Bei Wechselmedien ist das normalerweise kein Problem, da dann der
Ejectknopf gesperrt werden kann - leider ist selbst dieses teilweise
Luxus.
Im USB Fall jedoch ziehst du ja aus logischer Sicht das ganze Laufwerk.
Wo liegt das Problem darin das Medium vorher von Hand unzumounten?

> > Wie soll der denn nach dem abziehen noch das Filesystem unmounten?
>
> Was ist denn, wenn ich den Stick abziehe ohne vorheriges umount?
> Kann ja immer mal passieren, dass man das vergisst. Ist dann ein umount
> -f (bei einem FAT-Dateisystem) nicht besser als gar nichts?

Natürlich.

> > Das du beim abmelden einen camcontrol rescan 0 machen kannst ist schon
> > ein Fehler, da der virtuelle SCSI Bus mit dem letzten umass Gerät
> > nicht mehr existieren sollte.
>
> Ja, es sieht ja so aus, als ob das Problem schon beim US Bus liegt. Und
> wenn ich das richtig verstehe läuft dann doch einfach SCSI over USB,
> oder nicht?

So in etwa - die SCSI Befehle werden in ein USB Packet verpackt und
ebenso die Antworten.
Die umass Spezifikation sieht aber neben SCSI noch andere Varianten
vor.
Das Problem ist aber auf CAM Ebene, da der Bus vom USB nicht sauber
entfernt werden kann, weil ein noch verwendetes Laufwerk darauf
existiert.
Normalerweise sollte CAM daraufhin alle Resourcen invalidieren.
Die CAM Implementierung ist halt ursprünglich nicht darauf geprüft
worden, daß SCSI Controller im Betrieb verschwinden.
Die Problematik gibt es eigendlich erst so richtig seit USB.
PCMCIA SCSI Controller waren ja eher selten und Dockingstations
ebenfalls.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 30 Nov 2003 - 15:12:15 CET

search this site