USB Status von USB prüfen

Aus Linupedia
Wechseln zu: Navigation, Suche

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)


zurück zu USB
zurück zur Partition