(gelöst) Umgang mit USB-Geräten

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
guennid

(gelöst) Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 09:28:59

Ich beziehe mich auf diesen Thread: viewtopic.php?f=13&t=171521 Als Laie ging ich bisher davon aus, dass man in einem Linux-System mit via USB angeschlossenen Geräten dann korrekt umgeht, wenn man sie zur rechten Zeit ein- und wieder aushängt (fachenglisch: to mount und to unmount). Nun lese ich in besagtem Thread, dass solche Geräte nach dem Aushängen zusätzlich auch noch "ausgeworfen" werden. Ich weiß nicht recht, was die Metapher des "Auswerfens" hier eigentlich meint, denn pysikalisch tatsächlich "auswerfen" kann man meines Wissens nach nur einen Datenträger in einem optischen Laufwerk, gemeinhin CD und DVD. Angedeutet wurde, dass eine per USB-angeschlossene Platte auch nach dem Unmounten weiterhin unnötige Arbeit leistet und damit Strom verbraucht, was durch besagtes "Auswerfen" verhindert werden könne.

Darüber hinaus ist mir unklar, ob die geschilderten Probleme mit diesem "Auswerfen" nicht eigentlich Probleme mit neueren Kernen, sondern lediglich Probleme mit bestimmten (gtk-basierten?) DEs und/oder deren Dateimangern sind. Mir ist nicht aufgefallen, dass andere Szenarien mit den Problemen in Verbindung gebracht wurden.

Grüße, Günther
Zuletzt geändert von guennid am 07.12.2018 16:01:56, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: Umgang mit USB-Geräten

Beitrag von MSfree » 07.12.2018 09:41:53

eject ist ein Kombibefehl für umount und auswerfen.

Code: Alles auswählen

umount /dev/sdX
darf nur root, während

Code: Alles auswählen

eject /dev/sdX
jeder darf. Darin dürfte auch begründet sein, warum gerne eject statt umount verwendet wird, man braucht kein su oder sudo. Bisher war es auch völlig ungefährlich, Geräte "auszuwerfen", die das gar nicht unterstützt haben, man bekam eine Fehlermeldung und alles war gut. Ich muß gestehen, zum Unmounten von USB-Sticks auch immer eject zu verwenden.

Ich habe den Thread natürlich auch mit einiger Verwunderung mitgelesen, scheinbar gibt es halt ab einer gewissen Kernelversion einen Absturz, wenn man Geräte "auswirft", die nicht auswerfbar sind. Das ist natürlich ein schwerwiegender Fehler, der von Hinz und Kunz zum Denial of Service ausgenutzt werden kann, einfach einloggen und ein Gerät sinnlos "ejecten" und schon steht die Kiste.

Das Problem ist aber wohl inzwischen behoben ist.

guennid

Re: Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 13:19:19

Danke für die Aufklärung! :THX:

Ich fass' mal mein vorläufiges Verständnis zusammen: Ich kann meine externen Datenträger nach wie vor unmounten und gut ist. Alldieweil aber ein Kommando namens eject existiert (das in manchen Zusammenhängen sogar sinnvoll ist :wink: ), ist es gefährlich, wenn dieses Kommando, unsachgemäß angewendet, den Kernel zum Systemabsturz bringt?

Wenn dem so ist, dann wüsste ich weiterhin gerne, welche Kernelmodule dieses Verhalten mittlerweile bewirken, so dass ich die bei neuen Eigenbaukernen gegebenfalls abschalten könnte. (Nicht so wichtig. Ich benutze penetrant stable und neuere Kerne von kernel.org nur, wenn sie LTS sind, heißt für mich wahrscheinlich bis zum nächsten Stable-Release ausschließlich 4.14.)

edit:
Nun wundert mich aber nach wie vor, dass das Phänomen offenbar nur im Zusammenhang mit ganz bestimmter Software beobachtet wurde.

Grüße, Günther

willy4711

Re: Umgang mit USB-Geräten

Beitrag von willy4711 » 07.12.2018 14:35:25

Es gibt bei mount wie beim umount jeweils zwei Stufen:
Attached ------> Laufwerk ist im Dateimanager oder z.B. mit blkid zu sehen.
mount ------> man kann darauf rumkritzeln
umount ------> Laufwerk steht für Dateioperationen nicht mehr zur verfügung, ist aber im Dateimanaget und bei blkid vorhanden
disconnect ----> Laufwerk ist für das System nicht mehr,vorhanden, da elektrisch getrennt.

In Teminalesisch: :wink:

Code: Alles auswählen

Dez 07 14:07:47 debianxfce kernel: sd 7:0:0:0: [sdg] Attached SCSI removable disk
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: Microsoft Joliet Level 3
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: Microsoft Joliet Level 3
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: RRIP_1991A
Dez 07 14:07:52 debianxfce systemd[1]: Started Clean the /media/willy/SPARKY_64bit mount point.

Klick im Dateimanager auf das Laufwerk

Dez 07 14:07:52 debianxfce udisksd[811]: Mounted /dev/sdg1 at /media/willy/SPARKY_64bit on behalf of uid 1000
Umgekehrt genauso. Allerdings gibt es da via Dateimanager Fehlermeldungen in Buster, aber keinen Absturz:

Code: Alles auswählen

Dez 07 13:59:36 debianxfce udisksd[811]: Cleaning up mount point /media/willy/SPARKY_64bit (device 8:97 is not mounted)
Dez 07 13:59:36 debianxfce systemd[1]: Stopping Clean the /media/willy/SPARKY_64bit mount point...
Dez 07 13:59:36 debianxfce systemd[1]: Stopped Clean the /media/willy/SPARKY_64bit mount point.
Dez 07 13:59:36 debianxfce udisksd[811]: Unmounted /dev/sdg1 on behalf of uid 1000

Im Dateimanager auswerfen:

Dez 07 14:08:46 debianxfce udisksd[811]: Ignoring SCSI command SYNCHRONIZE CACHE failure (Non-GOOD SCSI status from SGIO v3 ioctl: status=2 host_status=0 driver_status=8) on /dev/sdg
Dez 07 14:08:46 debianxfce udisksd[811]: Ignoring SCSI command START STOP UNIT failure (Non-GOOD SCSI status from SGIO v3 ioctl: status=2 host_status=0 driver_status=8) on /dev/sdg
Dez 07 14:08:46 debianxfce udisksd[811]: Powered off /dev/sdg - successfully wrote to sysfs path /sys/devices/pci0000:00/0000:00:0a.0/0000:04:00.0/usb10/10-2/remove
Dez 07 14:08:46 debianxfce kernel: usb 10-2: USB disconnect, device number 5
Das letzte ( disconnect ) kann man im Terminal ausführen allerdings dann ohne Fehlermeldung, was darauf schließen lässt, das sowohl
Thunar als auch Nemo irgendwo einen Bug haben.

Code: Alles auswählen

~$ umount /dev/sdg1


Dez 07 14:23:40 debianxfce udisksd[811]: Cleaning up mount point /media/willy/SPARKY_64bit (device 8:97 is not mounted)
Dez 07 14:23:40 debianxfce systemd[1]: Stopping Clean the /media/willy/SPARKY_64bit mount point...
Dez 07 14:23:40 debianxfce systemd[1]: Stopped Clean the /media/willy/SPARKY_64bit mount point.
Dez 07 14:23:40 debianxfce udisksd[811]: Unmounted /dev/sdg1 on behalf of uid 1000

~$ udisksctl power-off --block-device /dev/sdg1


Dez 07 14:23:45 debianxfce udisksd[811]: Successfully sent SCSI command SYNCHRONIZE CACHE to /dev/sdg
Dez 07 14:23:45 debianxfce udisksd[811]: Successfully sent SCSI command START STOP UNIT to /dev/sdg
Dez 07 14:23:45 debianxfce udisksd[811]: Powered off /dev/sdg - successfully wrote to sysfs path /sys/devices/pci0000:00/0000:00:0a.0/0000:04:00.0/usb10/10-2/remove
Dez 07 14:23:45 debianxfce kernel: usb 10-2: USB disconnect, device number 7
Edit
Aber --- seit gestern ist zumindest bei Nemo plötzlich alles anders, wie ich gerade feststelle und meine schöne Theorie ist über den Haufen geworfen.: :facepalm:
Der Menüpunkt "Laufwerk sicher entfernen" (bisher = auswerfen) ist verschwunden. Es gibt nur noch auswerfen ---> Laufwerk ist im System verschwunden. Aber im Journal ist nichts zu sehen :facepalm: :facepalm: -----> Testing :roll:

guennid

Re: Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 15:13:39

Mich beschleicht da der Verdacht, dass hier versucht wird, absurde Windows Konventionalitäten nachzubilden. Dieser ominöse tooltip "Laufwerk sicher entfernen" hat letztens bei Windows XP bei mir zu erhöhtem Blutdruck geführt, aber da konnte ich's verstehen, da MS sich ja schon immer außerordentlich viel Mühe gemacht hat, dem Benutzer zu verheimlichen, was er denn eigentlich macht an seiner Maschine.

Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen, es sei denn es geht um Strom(kosten)/ überflüssigen Verschleiß.

Ich halte es da mit MSfree: Einen Stick kann man nunmal nicht auswerfen, genauso wenig wie Windows einen "sicher entfernen" kann und der Versuch des Benutzers, Das Kommando dennoch auszuführen, darf gerne mit einer Fehlermeldung quittiert werden, aber nicht zum Systemabsturz führen. Wobei immer noch ungklärt zu sein scheint, ob nun der Kern oder die DE(-Tools) verantwortlich sind. :wink:

Grüße, Günther

Benutzeravatar
MSfree
Beiträge: 10684
Registriert: 25.09.2007 19:59:30

Re: Umgang mit USB-Geräten

Beitrag von MSfree » 07.12.2018 15:34:09

guennid hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 15:13:39
Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen, es sei denn es geht um Strom(kosten)/ überflüssigen Verschleiß.
Ein Disconnect sollte den USB-Port stromlos machen, was vor einem Abziehen eins USB-Gerätes durchaus sinnvoll ist. Damit sollte sicher gestellt sein, daß z.B. der Flash-Controller in einem Speicherstick keine Fehlsignale mehr bekommen kann und somit auch keinen Datensalat mehr auf die Speicherzellen schreiben kann.

Denn so hot-plugable, wie das gerne dargestellt wird, ist USB im dümmsten Fall leider nicht. Es geht zwar fast immer gut, nur dann nicht, wenn Murphy im Spiel ist.

willy4711

Re: Umgang mit USB-Geräten

Beitrag von willy4711 » 07.12.2018 15:40:21

guennid hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 15:13:39
Mich beschleicht da der Verdacht, dass hier versucht wird, absurde Windows Konventionalitäten nachzubilden. Dieser ominöse tooltip "Laufwerk sicher entfernen" hat letztens bei Windows XP bei mir zu erhöhtem Blutdruck geführt, aber da konnte ich's verstehen, da MS sich ja schon immer außerordentlich viel Mühe gemacht hat, dem Benutzer zu verheimlichen, was er denn eigentlich macht an seiner Maschine.
Vielleicht besitzt du so etwas wie eine externe USB 3-Festplatte nicht, die über USB mit Strom versorgt wird.
Aber vielleicht kannst du dir vorstellen, dass es ganz sinnvoll sein könnte, diese Platte stromlos zu schalten, ohne jedes mal den Stecker ziehen zu müssen? Beim nächsten Start ist sie dann wieder da. Z.B: als Backup.Medium.
Und umgekehrt macht es sogar mehr als Sinn.
Würde es das "Attached" nicht geben, wärst du kaum in der Lage, irgendein USB-Laufwerk nachträglich zu mounten.
Ob nun "transparent" mit mount --irgendwas oder mit Klick +PW im Dateimanager.

guennid

Re: Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 16:01:11

willy4711 hat geschrieben:vielleicht kannst du dir vorstellen, dass es ganz sinnvoll sein könnte, diese Platte stromlos zu schalten, ohne jedes mal den Stecker ziehen zu müssen?
Das hatte ich bereits erwähnt und das hättest du berücksichtigen können.
MSFree hat geschrieben:Disconnect sollte den USB-Port stromlos machen, was vor einem Abziehen eines USB-Gerätes durchaus sinnvoll ist.
Durchaus nachvollziehbar. Aber warum ventiliert man sowas erst im Zusammenhang mit diesem aktuellen Ärgernis? Die Frage muss/kann vielleicht auch nicht beantwortet werden. Aber ich wundere mich über Debian und manchen Verteter. Is' halt so "Psycho-Kram" und "zwischenmenschlicher Umgang". Für mich ist damit auch gut.

Grüße, Günther

DeletedUserReAsG

Re: (gelöst) Umgang mit USB-Geräten

Beitrag von DeletedUserReAsG » 07.12.2018 17:26:27

guennid hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 15:13:39
Dieser ominöse tooltip "Laufwerk sicher entfernen" […]
„Laufwerk sicher entfernen“ hängt’s in erster Linie aus, und sorgt dafür, dass die gecachten Daten geschrieben werden. Mehr als ein Windowsuser hat sich seine Daten zerschossen, indem er entweder nicht draufgeklickt, sondern den Stick so abgezogen hat, oder zwar draufgeklickt, aber nicht bis zum Beenden des Schreibens (mit entsprechender Meldung „Sie können das Gerät nun entfernen“ oder so) gewartet hat.
guennid hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 15:13:39
Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen
Bei USB-Sticks ist auch kein großer Sinn zu erkennen. Aber es gibt noch andere Geräte: eBook-Reader z.B. gehen in den „nur laden“-Modus (meinen könnte man nicht benutzen, solange er am Rechner hängt, aber nicht mit „eject“ oder dem entsprechenden Button in Calibre „ausgeworfen“ wurde), und eigentlich gilt’s für jedes Gerät, bei dem die Storage-Funktion nur eine von mehreren Funktionen ist.

guennid

Re: (gelöst) Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 18:32:25

Irgendwie habe ich das Gefühl, gegen Wände zu reden. Nichsdestotrotz sind mir niemands Hinweise immer einen Beitrag wert.

Dein erster Kommentar bestätigt nur das, was zumindest mir eh klar ist. Wobei dieses Verhalten nicht nur den Win-User betrifft, sondern potentiell auch jeden Linuxer, der Mount/Unmount-Regeln nicht beachtet. Die hardware hindert halt dummerweise keinen einzigen User daran, Blödsinn mit dem USB-Stick zu machen, egal, welches Betriebssystem er nutzt.
Nur wird (wurde?) der Linux-Anfänger recht ausführlich und detailliert von jeder halbwegs offiziellen Anleitung über die Bedeutung des Mountens ausführlich informiert, worin ein solcher Blödsinn besteht und er den demzufolge tunlichst zu unterlassen hat, was mir mit dem windowsigen "Laufwerk sicher entfernen" nie der Fall zu sein schien. Müssen wir nicht drüber streiten, ist mein Eindruck. Aber mit dem ganzen Automount-Gedönse der DEs bewegt sich Linux nach meinem Eindruck in diese Richtung hin.
niemand hat geschrieben:Bei USB-Sticks ist auch kein großer Sinn zu erkennen. Aber es gibt noch andere Geräte
Dem nicht geposteten Teil deines zweiten Zitates ließe sich entnehmen, dass mir auch das bewusst ist.

Interessant und neu für mich ist, was du über Lesegeräte sagst. Aber vielleicht verunklart offenbar (auch?) hier die "moderne" Software, das Problem, das man ohne sie nicht hätte. Ich habe keinen Verwendungszweck (mehr) für Calibre. Mein Tolino funktioniert, pysikalisch verbunden mit einem Rechner, als Lesegerät genauso wenig wie dein Gerät. Aber ich kann dmesg lesen, den tolino dann mounten und dann Daten auf ihn übertragen. Und wenn ich dann die Verbindung trenne, ohne ihn vorher unmountet zu haben, sind diese Daten höchstwahrscheinlich weg.Soweit so klar, seit Linux-Urzeiten. Wie dem auch sei, als Lesegerät kann ich ihn erst wieder benutzen, wenn ich ihn mit meinen eigenen Händen vom Rechner getrennt (und vorher hoffentlich ordnungsgemäß unmountet) habe. Verstehe ich dich recht, dass dein Lesegerät trotz physikalischer Verbindung mit dem Rechner als Lesegerät funktioniert, wenn es via eject/oder entsprechendem Calibre-Kommando "behandelt" wurde. Das wäre in der Tat eine kleine Verbesserung gegenüber dem, was bei mir notwendig ist. Nur was passiert da anderes, als mit einem "unmount passieren würde? Ich werde das - ohne Calibre - testen, obwohl ich diese Verbesserung für mich für recht marginal halte.

Grüße, Günther
Zuletzt geändert von guennid am 07.12.2018 18:37:08, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: (gelöst) Umgang mit USB-Geräten

Beitrag von DeletedUserReAsG » 07.12.2018 18:35:42

guennid hat geschrieben: ↑ zum Beitrag ↑
07.12.2018 18:32:25
Wie dem auch sei, als Lesegerät kann ich ihn erst wieder benutzen, wenn ich ihn mit meinen eigenen Händen vom Rechner getrennt (und vorher hoffentlich ordnungsgemäß unmountet) habe.
Probier’s halt einfach mal mit eject. Würde mich nicht wundern, wenn man dann während des Ladens lesen könnte. Wie’s beim Kindle halt auch funktioniert.

guennid

Re: (gelöst) Umgang mit USB-Geräten

Beitrag von guennid » 07.12.2018 18:56:42

Kleine Editierung meines ersten Satzes in meinem vorigen Beitrag. (Eigentlich wollte ich in diesem Thread nichts mehr schreiben. :wink: )

Grüße, Günther

guennid

Re: (gelöst) Umgang mit USB-Geräten

Beitrag von guennid » 08.12.2018 09:09:28

So, hab's getestet:

/etc/fstab:

Code: Alles auswählen

LABEL=tolino  /media/tolino  auto  rw,users,noauto  0  0

Code: Alles auswählen

$ mount /media/tolino
$ eject /media/tolino
eject: kann `/dev/sdc' nicht öffnen
Kein Absturz/Freeze. Ausgehängt wird das Gerät, aber Lesezugriff nicht möglich. Vanilla-Eigenbaukern 4.14. Wie gesagt: dass es so wie bei niemand funktioniert, ist mir nicht besonders wichtig. Wenn ich Zeit finde, teste ich nochmal auf einer Maschine mit Stretch-Standard-Kern 4.9.

Grüße, Günther

Antworten