USB Status von USB prüfen: Unterschied zwischen den Versionen
Misiu (Diskussion | Beiträge) |
Robi (Diskussion | Beiträge) K (intern verlinkt) |
||
Zeile 79: | Zeile 79: | ||
Die meisten USB-Geräte können bei SuSE-Linux mit | Die meisten USB-Geräte können bei SuSE-Linux mit | ||
dem Werkzeug YaST eingerichtet werden. Voraussetzung | dem Werkzeug YaST eingerichtet werden. Voraussetzung | ||
− | ist , daß im BIOS USB eingeschaltet und ein IRQ-u zugewiesen sind. | + | ist , daß im [[BIOS]] USB eingeschaltet und ein IRQ-u zugewiesen sind. |
== Was bedeutet "/proc/bus/usb/devices/" ? == | == Was bedeutet "/proc/bus/usb/devices/" ? == |
Aktuelle Version vom 5. September 2015, 20:14 Uhr
Inhaltsverzeichnis
- 1 Um die USB-Hardware zum laufen zu bringen wird folgendes benötigt:
- 2 Wird der USB-Controller erkannt?:
- 3 Erkannte USB-Geräte:
- 4 Detallierte Anzeige der USB-Geräte:
- 5 Was bedeutet "/proc/bus/usb/devices/" ?
- 6 Was sind "ohci / uhci / ehci"?
- 7 Mit dem Befehl "lsusb" kann ich die angeschlossenen Geräte anzeigen (Option -t zeigt zusätzlich welchen Bus sich diese Teilen)
- 8 Informationen über Störungen aus den LOG / INFO-Dateien:
- 9 Informationen kann auch "udevadm" liefern, z.B. mit Option "monitor"
Um die USB-Hardware zum laufen zu bringen wird folgendes benötigt:
- erkannte USB-Kontroller auf der Mutterplatine
- erkanntes angeschlossen USB-Gerät
- geladene USB-Schnittstellenmodule (ehci-hcd ohci-hcd uhci-hcd)
- geladene USB-Treiber, die dem USB-Gerät entsprechen (z.B. usb_storage für USB-Speichergeräte)
Wird der USB-Controller erkannt?:
Textkonsole / Shell : Erst Befehl:
"su" + root Passwort
dann
Code: linux:~ # lspci | grep -i controller
Erkannte USB-Geräte:
Code: lsusb
oder
lsmod | grep usb
Beispiel:
misiu@exotux:~> lsmod | grep usb usb_storage 80780 0 usbhid 41300 0 hid 29184 1 usbhid ide_core 122948 1 usb_storage usblp 17024 0 ff_memless 9352 1 usbhid usbcore 123756 6 usb_storage,usbhid,usblp,ehci_hcd,ohci_hcd scsi_mod 140376 5 usb_storage,sr_mod,sg,sd_mod,libata
Detallierte Anzeige der USB-Geräte:
cat /proc/bus/usb/devices
lshal
oder
lshal | grep usb
Geladene Module/Treiber
linux:~ # lspci | grep usb
Auflistung vom PCI-Bus:
lspci -v
USB-Geräte-Anzeige (Grafisch):
KDE-->System-->Überwachung-->Infozentrum-->USB
oder
Programm "usbview" (falls nicht auffindbar, von der Textkonsole aufrufen oder nachinstallieren)
Ab SuSE 9.1 gibt es manchmal Probleme mit usbview, da auf falsche "Devices" zugegrifen wird. So kann es berechtigt werden: - usbview aufrufen - auf Button "Configure" (Konfiguration) drücken es erscheint einFenster mit: "/proc/bus/usb/devices" - rechts davon auf Button drücken es geht ein doppelseitiges Fenster auf - in der rechten Hälfte den Eintrag devices-XXXXXXX Anklicken und alles mit "OK"-Button bestätigen. Jetzt durften die USB-Geräte angezeigt werden! (Evtl. noch "Refresh" drücken)
Die meisten USB-Geräte können bei SuSE-Linux mit dem Werkzeug YaST eingerichtet werden. Voraussetzung ist , daß im BIOS USB eingeschaltet und ein IRQ-u zugewiesen sind.
Was bedeutet "/proc/bus/usb/devices/" ?
Es ist eine Auflistung der USB-Geräte, dazu gehören auch der USB-Bus selbst, der in verschiedene Levels angeordnet ist. Die Dokumentation dazu befindet sich in:
/usr/src/linux/Documentation/usb/proc_usb_info.txt
(Kernelquellen müssen installiert sein!).
Dieser Dokumentation nach:
T: es handelt sich um topologische Informationen
Bus: Busnummer
Lev: Ebene in der USB-Baumtopologie an diesem Bus
Prnt: Gerätenummer des übergeordneten Gerätes
Port: Anschluß/Port an dem das Gerät am übergeordneten Gerät angeschlossen ist
Cnt: Anzahl aller angeschlossenen Geräte in dieser Ebene (Bus,Lev)
Dev#: eigene Gerätenummer
Spd: Übertragungsgeschwindigkeit (1,5|12|480 MBit/s)
MxCh: Anzahl maximal anschließbarer weiterer Geräte
/usr/src/linux/Documentation/usb/ehci.txt
Hotplug Dokumentation:
/usr/src/linux/Documentation/usb/hotplug.txt
USB-Serial Dokumentation (Handhelds, PDA´s) :
/usr/src/linux/Documentation/usb/usb-serial.txt
Speichermedien, Mountoptionen:
FAT16/32: /usr/src/linux/Documentation/filesystems/vfat.txt ReiserFS4: /usr/src/linux/Documentation/filesystems/reiser4.txt
EXT2: /usr/src/linux/Documentation/filesystems/ext2.txt
EXT3: /usr/src/linux/Documentation/filesystems/ext3.txt
NTFS: /usr/src/linux/Documentation/filesystems/ntfs.txt
Automounting:
/usr/src/linux/Documentation/filesystems/automount-support.txt
KERNELPARAMETER (Bootparameter):
/usr/src/linux/Documentation/kernel-parameters.txt
Was sind "ohci / uhci / ehci"?
OHCI steht für Open Host Controller Interface und meint die USB-1.0-Spezifikation.
UHCI steht für Universal Host Controller Interface und bezeichnet die Spezifikation von USB-1.1.
EHCI ist die Abkürzung für Enhanced Host Controller Interface, was einen erweitertes USB-2.0-Interface ist.
Dieselben Kürzel besitzen auch die Linux-USB-Module für die USB-Controller, die normalerweise dem vorhandenem USB-Controller entsprechend, automatisch geladen werden, sehe:
lsmod | grep usb
KDE - Kontrollzentrum: Geräteinfos
bis Version 3 waren Kontrollzentrum und Infozentrum zusammen, ab 3.1 wurde Infozentrum (reine Infos über Hardware, keine Einstellungsmöglichkeiten) ausgesondert.
SuSE 9.0+KDE 3.1.4-> KDE->System->Überwachung->Infozentrum
opensuse 10.3 + KDE--> System-->Überwachung-->Infozentrum
Digitalkameras anbinden:
- erste Möglichkeit : Massenstorage, da wird die Kamera
ganz normal gemountet, wie USB-Stick, einige Kameras müssen erst in den "Massenstorage"-Zustand versetzt werden. Sobald Hotplug existiert , gibt es ein KDE-Plugin "Camera", der die ablesen kann. Seit SuSE 10.0 geschieht die Anbindung meistens automatisch.
- zweite Möglichkeit : es gibt "gphoto2" ->
http://www.gphoto.org/ ist eigentlich ein Textkonsolen-Tool. Also kann die Kamera von der Textkonsole (auf rechte Achten !) abgefragt werden:
gphoto2 --auto-detect
Natürlich gibt es auch grafische Frontends, wie qtkam oder digikam, die mit Hilfe von gphoto2 einiges machen können.
- dritte Möglichkeit:
Kartenlesegerät, kann auch meistens leicht gemountet werden, bittet oft bessere Übertragungsraten, als die Kamera selbst und kostet nicht die Welt (12 bis 15 Euro). Kartenlesegeräte werden meistens , als sdd erkannt.
Mit dem Befehl "lsusb" kann ich die angeschlossenen Geräte anzeigen (Option -t zeigt zusätzlich welchen Bus sich diese Teilen)
Beispiel
ich@linux:~> lsusb -t /: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/2p, 12M /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M |__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M |__ Port 6: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 6: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 6: Dev 3, If 3, Class=Audio, Driver=snd-usb-audio, 480M
Informationen über Störungen aus den LOG / INFO-Dateien:
grep -i Begriff /var/log/messages
Dabei "Begriff" durch gesuchtes Wort / Name des Gerätes etc. ersetzen
Beispiel:
grep -i usb /var/log/messages
Kernelmeldungen:
dmesg|grep -i Begriff
Dabei "Begriff" durch gesuchtes Wort / Name des Gerätes etc. ersetzen
dmesg|grep -i usb
Informationen kann auch "udevadm" liefern, z.B. mit Option "monitor"
Beispiel (Eine SD-Karte am USB-Lesegerät wird angesteckt):
ich@linux:~> udevadm monitor monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[16092.681374] change /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde (block) KERNEL[16092.689931] change /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde (block) KERNEL[16092.690078] add /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde/sde1 (block) UDEV [16092.744334] change /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde (block) UDEV [16092.803558] change /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde (block) UDEV [16092.871765] add /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:1/block/sde/sde1 (block)