USB - FAQ openSUSE: Unterschied zwischen den Versionen
Misiu (Diskussion | Beiträge) |
Yehudi (Diskussion | Beiträge) (Einige Elemente Wikikonformer gestaltet) |
||
Zeile 1: | Zeile 1: | ||
Autor: [http://www.linux-club.de/profile.php?mode=viewprofile&u=2013 misiu] | Autor: [http://www.linux-club.de/profile.php?mode=viewprofile&u=2013 misiu] | ||
− | + | ||
+ | == Allgemein == | ||
+ | |||
Viele USB-Geräte haben Anlaufprobleme. Bitte prüfen Sie in solchen Fällen folgendes: | Viele USB-Geräte haben Anlaufprobleme. Bitte prüfen Sie in solchen Fällen folgendes: | ||
Zeile 32: | Zeile 34: | ||
"ACPI Disabled" | "ACPI Disabled" | ||
und dann in Grub als Boot - Option | und dann in Grub als Boot - Option | ||
− | + | ||
− | "acpi=off noapic" | + | "acpi=off noapic" |
einstellen (geht bei SuSE mit Yast) | einstellen (geht bei SuSE mit Yast) | ||
Zeile 44: | Zeile 46: | ||
− | + | ||
+ | == Hier erfolgt die Zusammenfassung, bei Problemen mit USB-Speichermedien die SuSE 10.0 und 9.3 betreffen == | ||
+ | |||
Zeile 57: | Zeile 61: | ||
* Linux-Magazin und anderen. | * Linux-Magazin und anderen. | ||
− | + | ||
+ | == USB-Massenspeicher entfernen == | ||
+ | |||
Im Normalfall kann das Speichergerät (Speicherstick, USB-Festplatte etc.) | Im Normalfall kann das Speichergerät (Speicherstick, USB-Festplatte etc.) | ||
Zeile 67: | Zeile 73: | ||
eingesetzt werden um das USB-Medium zu entfernen. Der Befehl lautet: | eingesetzt werden um das USB-Medium zu entfernen. Der Befehl lautet: | ||
− | |||
eject /media/usbdisk | eject /media/usbdisk | ||
Zeile 91: | Zeile 96: | ||
* 2. Den Befehl reinschreiben : | * 2. Den Befehl reinschreiben : | ||
− | |||
eject /media/usbstick | eject /media/usbstick | ||
oder | oder | ||
− | |||
eject /media/usbdisk | eject /media/usbdisk | ||
Zeile 105: | Zeile 108: | ||
Dazu die Shell / Textkonsole starten und ausführen: | Dazu die Shell / Textkonsole starten und ausführen: | ||
− | |||
misiu@linux:~> sudo umount /dev/sdx1 | misiu@linux:~> sudo umount /dev/sdx1 | ||
Zeile 117: | Zeile 119: | ||
Sonst zum sicherem entfernen den Befehl: | Sonst zum sicherem entfernen den Befehl: | ||
− | |||
sudo umount /media/usbstick | sudo umount /media/usbstick | ||
Zeile 125: | Zeile 126: | ||
(Textkonsole / Shell) | (Textkonsole / Shell) | ||
− | |||
misiu@linux:~> man mount | misiu@linux:~> man mount | ||
misiu@linux:~> man umount | misiu@linux:~> man umount | ||
Zeile 132: | Zeile 132: | ||
Optionen zu diesen Befehlen: | Optionen zu diesen Befehlen: | ||
− | |||
mount --help | mount --help | ||
umount --help | umount --help | ||
− | + | ||
+ | == Bei Problemen mit USB-Stick( USB 2.0 ) == | ||
+ | |||
Booten mit der Option: | Booten mit der Option: | ||
− | |||
insmod=usb-storage | insmod=usb-storage | ||
danach : | danach : | ||
− | |||
modprobe -r ehci-hcd | modprobe -r ehci-hcd | ||
( entfernen des USB 2.0 - Moduls ) | ( entfernen des USB 2.0 - Moduls ) | ||
− | |||
modprobe ehci-hcd | modprobe ehci-hcd | ||
( laden des USB 2.0 - Moduls ) | ( laden des USB 2.0 - Moduls ) | ||
Zeile 157: | Zeile 155: | ||
− | + | ||
+ | == Wie finde ich die UUID/volume.uuid raus? == | ||
Da gibts folgende Möglichkeiten: | Da gibts folgende Möglichkeiten: | ||
Zeile 184: | Zeile 183: | ||
Devices ID können mit: | Devices ID können mit: | ||
− | |||
su | su | ||
+ Passwort | + Passwort | ||
Zeile 190: | Zeile 188: | ||
und | und | ||
− | |||
lsusb | lsusb | ||
Zeile 197: | Zeile 194: | ||
Als welches Device USB-Geräte angesprochen werden kann mit dem Befehl: | Als welches Device USB-Geräte angesprochen werden kann mit dem Befehl: | ||
− | |||
su | su | ||
+ Passwort | + Passwort | ||
und | und | ||
− | |||
lsscsi | lsscsi | ||
Zeile 209: | Zeile 204: | ||
Hilfreich kann auch der Befehl: | Hilfreich kann auch der Befehl: | ||
− | |||
dmesg | tail -n 10 | dmesg | tail -n 10 | ||
Zeile 221: | Zeile 215: | ||
Mit Befehl: | Mit Befehl: | ||
− | |||
udevmonitor --env | udevmonitor --env | ||
Zeile 228: | Zeile 221: | ||
− | + | ||
− | + | == Was ist HAL (Hardware Abstraction Layer)? == | |
Ist eine Zwischenschicht im Betriebsystem, die die Zugriffe auf | Ist eine Zwischenschicht im Betriebsystem, die die Zugriffe auf | ||
Zeile 240: | Zeile 233: | ||
− | + | ||
+ | == Betrifft SuSE 9.3 und 10.0 mit HAL (Hardware Abstraction Layer) == | ||
Problem: | Problem: | ||
Zeile 295: | Zeile 289: | ||
+ | == ab/bei(?) openSUSE 10.0 == | ||
− | + | Siehe Bugtracker: https://bugzilla.novell.com/show_bug.cgi?id=105871 | |
− | |||
− | |||
(Als root ausführen!) | (Als root ausführen!) | ||
Kopiere diese Zeilen in ein Texteditor und speichere , als "nosync.fdi" in Verzeichnis: | Kopiere diese Zeilen in ein Texteditor und speichere , als "nosync.fdi" in Verzeichnis: | ||
Zeile 341: | Zeile 334: | ||
− | + | ||
+ | == Rechteverwaltung / Zugriffsprobleme bei/ab openSuSE 10.0 == | ||
Auszug aus SuSE-Portal: | Auszug aus SuSE-Portal: | ||
Zeile 358: | Zeile 352: | ||
− | + | == klassisch mounten bei/ab (?) openSUSE 10.0 == | |
− | |||
/TIPP VON ABGDF/ | /TIPP VON ABGDF/ |
Version vom 23. Januar 2007, 22:18 Uhr
Autor: misiu
Inhaltsverzeichnis
- 1 Allgemein
- 2 Hier erfolgt die Zusammenfassung, bei Problemen mit USB-Speichermedien die SuSE 10.0 und 9.3 betreffen
- 3 USB-Massenspeicher entfernen
- 4 Bei Problemen mit USB-Stick( USB 2.0 )
- 5 Wie finde ich die UUID/volume.uuid raus?
- 6 Was ist HAL (Hardware Abstraction Layer)?
- 7 Betrifft SuSE 9.3 und 10.0 mit HAL (Hardware Abstraction Layer)
- 8 ab/bei(?) openSUSE 10.0
- 9 Rechteverwaltung / Zugriffsprobleme bei/ab openSuSE 10.0
- 10 klassisch mounten bei/ab (?) openSUSE 10.0
Allgemein
Viele USB-Geräte haben Anlaufprobleme. Bitte prüfen Sie in solchen Fällen folgendes:
- ohne USB-Verlängerungskabel anschliessen
- an anderen USB-Büchsen anschliessen
- USB-Hub mit eigener Stromversorgung verwenden, am besten über PS/2 Anschluss.
- BIOS: USB-Einstellungen prüfen (alle USB-Anschlüsse an?, IRQ zugewiesen?)
Somit verbessert sich oft die gelieferte Strommenge und
die Signalqualität des USB-Anschlusses. In seltenen Fällen
kann es auch an zu schwach ausgelegten Netzteilen liegen,
was sich auch an die gelieferte Strommenge für die
Mutterplatine (Motherboard) auswirkt. In solchen Fällen
treten oft auch Schwierigkeiten, wie Startprobleme des Rechners
(geht erst nach mehrmaligen betätigen der "Power" (Einschalttaste) an ).
Legacy USB Support
( Bei Problemen mit USB - Tastatur/Maus ein/ausschalten ) Wenn auf Ihrem Board USB vorhanden ist, sollten Sie diese Option auf Enabled stehen haben. Hier wird dem USB-Anschluss ein IRQ zugewiesen. Falls sie keine USB-Geräte verwenden, dann sollten Sie diese Option auf Disabled stellen. Sie bekommen dadurch für andere Zwecke Ressourcen frei.
Falls mehrere Geräte um die Mutterplatinen-Resourcen (IRQ´s, Adressenbereiche etc.) kämpfen, sollte probeweise ACPI ausschaltet werden. also im BIOS unter PowerManagement: "ACPI Disabled" und dann in Grub als Boot - Option
"acpi=off noapic"
einstellen (geht bei SuSE mit Yast)
Andere Bootstartparameter zum nachlesen hier:
KERNELPARAMETER (Bootparameter die beim Start des Rechners in der Optionszeile des Bootmanagers eingegeben werden):
/usr/src/linux/Documentation/kernel-parameters.txt (Kernelquellen müssen installiert sein).
Hier erfolgt die Zusammenfassung, bei Problemen mit USB-Speichermedien die SuSE 10.0 und 9.3 betreffen
Vor allem an regelmässige Updates denken, da ständig Nachbesserungen im Linux-Kernel, im USB-Hotplug und HAL-System gemacht werden. Dabei hilft bei SuSE-Linux, YaST und YOU-Onlineupdate. Falls kein schneller Internetzugang vorhanden sei, auf Zugaben bei Linux-Zeitschriften achten:
- Easy Linux
- Linux-User
- Linux-Magazin und anderen.
USB-Massenspeicher entfernen
Im Normalfall kann das Speichergerät (Speicherstick, USB-Festplatte etc.) problemlos entfernt werden, ohne zusätzliche Kommandos auszuführen. Dabei ist es gut darauf zu achten, dass eine LED (Leuchtdiode) die die Daten- übertragung meistens durch schnelles blinken anzeigt, auch damit aufhört.
Falls es Probleme bereitet, solches Medium abzuhängen, sollte ein Befehl eingesetzt werden um das USB-Medium zu entfernen. Der Befehl lautet:
eject /media/usbdisk
Ausführen in der Textkonsole, bzw. ein Desktop-Ikon erstellen (KDE):
- 1. Rechtes Mausklick auf dem Desktop
- 2. "Neu erstellen"
- 3. "Verknüpfung zu Programm..."
- 3. Einen Namen reinsetzen z.B. "USB-Raus"
- 4. Kartei "Programme" -> "Befehl" -> den Befehl
"eject /media/usbstick"
reinschreiben. Falls es so nicht klappt, den Befehl ändern in:
kdesu "umount /media/usbstick"
- 5. mit "OK" bestätigen .
( Es kann auch "/media/usbdisk" heissen! )
Auf die schnelle Art:
- 1. Alt + F2 drücken
- 2. Den Befehl reinschreiben :
eject /media/usbstick
oder
eject /media/usbdisk
3. "Ausführen" drücken
Weitere Möglichkeit die "störrischen" USB-Speichermedien abzuhängen ist diese mit dem Befehl "umount" abzuhängen. Dazu die Shell / Textkonsole starten und ausführen:
misiu@linux:~> sudo umount /dev/sdx1
"sudo" bedeutet Administrationsrechte ( root ) erlangen.
"x" soll ersetzt werden durch den entsprechenden Partitionsbuchstaben (a,b,c,d,e usw.).
Die Partitionkennung (Buchstabe) kann mit dem Befehl:
mount
herausgefunden werden.
Sonst zum sicherem entfernen den Befehl:
sudo umount /media/usbstick
in der Textkonsole / Shell verwenden.
Hilfe zu Befehlen mount und umount: (Textkonsole / Shell)
misiu@linux:~> man mount misiu@linux:~> man umount
Optionen zu diesen Befehlen:
mount --help umount --help
Bei Problemen mit USB-Stick( USB 2.0 )
Booten mit der Option:
insmod=usb-storage
danach :
modprobe -r ehci-hcd
( entfernen des USB 2.0 - Moduls )
modprobe ehci-hcd
( laden des USB 2.0 - Moduls ) Danach evtl.:
rchal restart
Wie finde ich die UUID/volume.uuid raus?
Da gibts folgende Möglichkeiten:
- 1.Grafisch:
Der "hal-device-manager" zeigt es unter Gnome an (evtl. Paket "hal-gnome" nachinstallieren),ist aber nicht für Gerätekonfigurationen gedacht.
- 2.Listen der USB-Geräte, die HAL erkannt mit dem Befehl:
Code:
lshal
in der Kommandozeile , dabei kann die Ausgabe in eine Textdatei umgelenkt werden:
Code:
lshal > /home/benutzer/lshal.txt
2.Befehl hwinfo (als root) nutzen:
Ausgabe umlenken:
Code:
hwinfo > /root/hwinfo.txt
(landet im Verzeichnis /root)
Devices ID können mit:
su + Passwort
und
lsusb
ermittelt werden.
Als welches Device USB-Geräte angesprochen werden kann mit dem Befehl:
su + Passwort
und
lsscsi
ermittelt werden.
Hilfreich kann auch der Befehl:
dmesg | tail -n 10
(funktioniert auch mit anderen Befehlen -> Befehl | tail -n 10 zeigt letzte 10 Zeilen eines Befehls.)
sein.
( Pipe-Zeichen "|" wird mit AltGr + < erzeugt )
Mit Befehl:
udevmonitor --env
können die USB-Ereignisse beobachtet werden (Zuerst Befehl ausführen, dann USB-Gerät anstöpseln, bzw. Stick/Speicherkarte reinstecken)
Was ist HAL (Hardware Abstraction Layer)?
Ist eine Zwischenschicht im Betriebsystem, die die Zugriffe auf die Hardware regeln soll: http://de.wikipedia.org/wiki/Hardware-Abstraktions-Schicht
Ein Gerät wird angeschlossen -> HAL erkennt es -> HAL veranlasst weitere Aktionen (Treiber laden, entsprechende Scripte starten, eintragungen vornehmen).
Betrifft SuSE 9.3 und 10.0 mit HAL (Hardware Abstraction Layer)
Problem: Zu geringe Übertragungsgeschwindigkeiten bei USB.
Lösung (Auszug aus SuSE-Portal) : http://portal.suse.com/sdb/de/2005/06/dkukawka_halnosync_html.html
Automatisches Mounten ohne sync-Option
Bezieht sich auf: SUSE LINUX 9.3 - 9.3 Anliegen Sie nehmen eine zu geringe Schreibgeschwindigkeit auf Medien wie USB-Sticks oder externen USB-Festplatten wahr. Aus diesem Grund oder da für Sie synchrones Schreiben auf ausgewählten Medien (z.B. USB-Sticks oder Flash-Medien) unerwünscht ist, wollen Sie die Option sync beim automatischen Mounten durch submount/HAL nicht verwenden.
Vorgehen:
Legen Sie als root in /usr/share/hal/fdi/95userpolicy/ eine Datei mit einem beliebigen Dateinamen und der Endung .fdi an, zum Beispiel nosync.fdi. Nun editieren Sie die Datei mit einem Editor ihrer Wahl:
<?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="block.is_volume" bool="true"> <match key="volume.fsusage" string="filesystem"> <match key="volume.uuid" string="UUID"> <merge key="volume.policy.mount_option.sync" type="bool">false</merge> </match> </match> </match> </device> </deviceinfo>
Sie müssen nur die folgende Zeile anpassen. Die nötigen Informationen können Sie der Ausgabe von 'lshal' auf der Konsole oder dem 'hal-device-manager' unter KDE/GNOME (ggf. installieren Sie hal-gnome.rpm nach) entnehmen.
<match key="volume.uuid" string="==UUID==">
Tragen Sie den unter volume.uuid eingetragenen Wert für "==UUID==" ein. Nachdem Sie die Datei angepasst haben, führen Sie folgenden Befehl als root aus:
rchal restart
submount sollte nun das betreffende Gerät ohne die Option sync mounten. Bitte beachten Sie, das Sie nun das betreffende Gerät vor dem Entfernen explizit unmounten müssen, da nicht mehr sichergestellt ist, dass die übertragenen Daten bereits geschrieben wurden. Andernfalls kann es zu Datenverlust kommen.
ab/bei(?) openSUSE 10.0
Siehe Bugtracker: https://bugzilla.novell.com/show_bug.cgi?id=105871 (Als root ausführen!) Kopiere diese Zeilen in ein Texteditor und speichere , als "nosync.fdi" in Verzeichnis: /usr/share/hal/fdi/policy/95userpolicy (falls der Verzeichnis nicht vorhanden, erstellen) :
<?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="block.is_volume" bool="true"> <match key="volume.fsusage" string="filesystem"> <match key="@info.parent:storage.bus" string="usb"> <merge key="volume.policy.mount_option.sync" type="bool">false</merge> </match> </match> </match> </device> </deviceinfo>
Und nicht vergessen:
- 1 - Ist die Datei im richtigem Verzeichnis gelandet ?
- 2 - Das USB-Gerät (Stick/Festplatte) abgehängt/abgestöpselt (unmount) bevor HAL neu gestartet wurde?
- 3 - HAL nach der änderung neu gestartet? (rchal restart) ,als root ?
Diese Zeilen haben Einfluss auf alle USB-Speichergeräte, sonst muss in die fdi-Datei mit der UUID/volume.uuid versorgt werden, die das Gerät beschreibt:
<match key="volume.uuid" string="==UUID==">
<match key="hier wird ersetzt" string="hier wird ersetzt">
Die Zeile:
<match key="@info.parent:storage.bus" string="usb">
veranlast das System, alle USB-Geräte ohne die "sync"-Option zu mounten:
<merge key="volume.policy.mount_option.sync" type="bool">false</merge>
Weitere Key-Beschreibungen befinden sich in:
/usr/share/doc/packages/hal ( SuSE 9.3 HAL 0.4.7 Specification: /usr/share/doc/packages/hal/spec/hal-spec.html )
Rechteverwaltung / Zugriffsprobleme bei/ab openSuSE 10.0
Auszug aus SuSE-Portal: Ab SUSE Linux 10.0 erfolgt die Zugriffskontolle mit "Whitelist"-Semantik. Das bedeutet, dass es eine Liste der USB Scanner geben muss, für die der Zugriff explizit erlaubt ist. So eine Liste wird von der YaST Scannerkonfiguration automatisch für den resmgr eingerichtet:
/etc/resmgr.conf.d/50-scanner.conf
Das Format der Einträge ist beispielsweise
add usb:vendor=0x1a2b,product=0x3c4d scanner
Es betrifft auch andere USB-Geräte!
klassisch mounten bei/ab (?) openSUSE 10.0
/TIPP VON ABGDF/
Zuerst macht man als root eine Sicherungskopie des Verzeichnisses
/usr/share/hal/fdi/policy
mit allen Unterverzeichnissen.
Im Verzeichnis
/usr/share/hal/fdi/policy/10osvendor
gibt es mehrere Konfigurationsdateien für hal.
In jeder davon sucht man alle Zeilen, die "should_mount" enthalten, z.B. die Zeile
<merge key="storage.policy.should_mount" type="bool">true</merge>
In allen diesen Zeilen (einige) setzt man den Wert von >true< auf >false<.
Wenn man das in allen Zeilen in allen Dateien getan hat, werden die Geräte (nach einem Neustart von hal) nicht mehr automatisch gemountet.
Allerdings wird zum Beispiel das Floppy-Laufwerk (amigaähnlich) trotzdem noch angesprochen, wenn eine neue Diskette eingelegt wird. Dies vermeidet man, indem man zusätzlich in der Datei
/usr/share/hal/fdi/policy/10osvendor/90-block-subfs.fdi
aus den Zeilen
<append key="info.callouts.add" type="strlist">hald-subfs-mount</append> <append key="info.callouts.remove" type="strlist">hald-subfs-mount</append>
das "hald-subfs-mount" entfernt.
Diese beiden Zeilen kommen zweimal vor, beide Varianten sollten geändert werden. Nun startet man hal mit dem Befehl
rchal restart
neu und ändert gegebenenfalls noch die Einträge in der Datei "/etc/fstab".
Auf diese Weise kann man unter SuSE 10.0 wieder traditionell mounten.
oder so: ( Dank an Eberhard Niendorf )
- 1. in Verzeichnis wechseln (ggf. anlegen)
# cd /usr/share/hal/fdi/policy/20thirdparty
- 2. Erstellen eines fdi-Files mit folgendem Ergebnis:
# cat nomount_usb_disk.fdi <?xml version"1.0" encoding"ISO-8859-1"?> <deviceinfo version"0.2"> <device> <match key"storage.bus" string"usb"> <match key"storage.drive_type" string"disk"> <match key"storage.policy.should_mount" bool"true"> <merge key"storage.policy.should_mount" type"bool">false</merge> </match> </match> </match> </device> </deviceinfo> #
- 3. HAL neu starten
# rchal restart
Hinweis! Das Kommando lshal gibt eine vollständige Liste der devices mit gesetzten Parametern aus. Innerhalb eines Gerätes erfolgt der Match von unten nach oben (storage.bus steht weiter unten als storage.drive_type; --> umgekehrte Matchreihenfolge im XML-File.
Eingefügt von --Yehudi 12:05, 26. Aug 2006 (CEST)