USB Status von USB prüfen: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „'''Mit dem Befehl "lsusb" kann ich die angeschlossenen Geräte anzeigen (Option -t zeigt zusätzlich welchen Bus sich diese Teilen)''' Beispiel ich@linux:…“)
 
Zeile 1: Zeile 1:
 +
== 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)'''   
 
'''Mit dem Befehl "lsusb" kann ich die angeschlossenen Geräte anzeigen (Option -t zeigt zusätzlich welchen Bus sich diese Teilen)'''   
  
Zeile 56: Zeile 250:
 
  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.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)
 
  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)
 +
 +
 +
[[USB|zurück zu USB]]<br />
 +
[[Partition|zurück zur Partition]]
 +
[[Category:USB]][[Category:Partitionen]]

Version vom 20. November 2013, 15:51 Uhr

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