Lsusb: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) K hc Markierung: Zurückgesetzt |
Dirk (Diskussion | Beiträge) K code → ic Markierung: Zurückgesetzt |
||
Zeile 1: | Zeile 1: | ||
{{SEITENTITEL:lsusb}}{{righttoc}} | {{SEITENTITEL:lsusb}}{{righttoc}} | ||
Mittels des Tools | Mittels des Tools {{ic|lsusb}} kann man sich alle am Computer per USB angeschlossenen Geräte anzeigen lassen. Genauer genommen handelt es sich um ein Informationstool, mittels dessen das USB-System analysiert und durchsucht werden kann. Mittels verschiedener Parameter kann die Ausgabe angepasst werden. | ||
==Installation== | ==Installation== | ||
Das Programm | Das Programm {{ic|lsusb}} ist teil des Paketes {{ic|usbutils}}, welches sich im „core“-Repository befindet. Dieses Paket kann mittels [[Pacman]] installiert werden. | ||
pacman -S usbutils | pacman -S usbutils | ||
Zeile 10: | Zeile 10: | ||
==Einsatzzweck== | ==Einsatzzweck== | ||
Für die Anzeige durch | Für die Anzeige durch {{ic|lsusb}} ist es nicht wichtig, ob die Hardware von Linux erkannt wird. So lange die Hardware sich über USB am System anmeldet, können entsprechende Informationen angezeigt werden. {{ic|lsusb}} eignet sich daher also sehr gut, um im Zuge einer Fehleranalyse die generelle Funktionsfähigkeit von Hardware zu überprüfen. | ||
Wenn USB-Hardware duch | Wenn USB-Hardware duch {{ic|lsusb}} nicht angezeigt werden kann, ist es wahrscheinlich, dass die Hardware nicht funktioniert, sich in einem Funktionsmodus befindet, in dem USB deaktiviert ist, oder das USB-System nicht funktioniert. | ||
==Beispiele== | ==Beispiele== | ||
Nachfolgende Beispiele verdeutlichen die Verwendung von | Nachfolgende Beispiele verdeutlichen die Verwendung von {{ic|lsusb}}. Einige der Aufrufe bedürfen root-Rechten, da direkt auf die Hardware zugegriffen wird, was mit User-Rechten nicht uneingeschränkt möglich ist. | ||
===Standard-Aufruf/Erläuterung=== | ===Standard-Aufruf/Erläuterung=== | ||
Mittels der einfachen Eingabe von | Mittels der einfachen Eingabe von {{ic|lsusb}} wird das USB-System durchsucht, und es werden Informationen über die gefundenen Geräte ausgegeben. | ||
{{hc|lsusb|Bus 001 Device 003: ID 2040:7070 Hauppauge Nova-T Stick 3 | {{hc|lsusb|Bus 001 Device 003: ID 2040:7070 Hauppauge Nova-T Stick 3 | ||
Zeile 34: | Zeile 34: | ||
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub}} | Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub}} | ||
Die Standard-Ausgabe gliedert sich in drei Bereiche, der Bus-Bereich ( | Die Standard-Ausgabe gliedert sich in drei Bereiche, der Bus-Bereich ({{ic|Bus 001 Device 003}}) bestimmt die „physische“ Position der Hardware. Pro Bus können mehrere Devices vorhanden sein. Die Ausgabe unterscheidet sich je Mainboard. Die Anzahl der Busse und Devices stimmt oft nicht mit den tatsächlich vorhandenen USB-Anschlüssen überein, da {{ic|lsusb}} auch interne Verbindungen mit auflistet. | ||
Der ID-Abschnitt ( | Der ID-Abschnitt ({{ic|ID 2040:7070}}) bestimmt eindeutig, um welche Art von Hardware es sich handelt. Jeder Anbieter hat eine Vendor-ID (vor dem Doppelpunkt) und jedes Gerät hat eine Product-ID (nach dem Doppelpunkt). Anhand dieser beiden Angaben kann man ein Gerät identifizieren. | ||
Der Namensteil ( | Der Namensteil ({{ic|Hauppauge Nova-T Stick 3}}) kann vom Anbieter völlig frei gewählt werden (weiter Informationen siehe Abschnitt [[#Zuordungs-Datei|Zuordnungs-Datei]]). In Verbindung mit der Bus-Angabe und der ID kann man so ein bestimmtes Gerät an einem bestimmten USB-Anschluss eindeutig identifizieren. | ||
===Suche nach Geräte-IDs=== | ===Suche nach Geräte-IDs=== | ||
Will man sich nur die Geräte eines bestimmten Herstellers anzeigen lassen, und kennt man dessen Vendor-ID bedient man sich des Parameters | Will man sich nur die Geräte eines bestimmten Herstellers anzeigen lassen, und kennt man dessen Vendor-ID bedient man sich des Parameters {{ic|-d}}. | ||
{{hc|lsusb -d 046d:|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | {{hc|lsusb -d 046d:|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | ||
Bus 004 Device 002: ID 046d:08b2 Logitech, Inc. QuickCam Pro 4000}} | Bus 004 Device 002: ID 046d:08b2 Logitech, Inc. QuickCam Pro 4000}} | ||
Da | Da {{ic|046d}} die Vendor-ID von Logitech ist, werden nun nur noch alle Logitech-Geräte aufgelistet. Will man die Suche noch weiter spezifizieren, kann man zusätzlich zur Vendor-ID auch die Product-ID angeben. | ||
{{hc|lsusb -d 046d:c043|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | {{hc|lsusb -d 046d:c043|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | ||
Zeile 53: | Zeile 53: | ||
===Suche nach der Position im Bus=== | ===Suche nach der Position im Bus=== | ||
Will man sich Informationen darüber anzeigen lassen, welche Geräte an einem bestimmten Bus angeschlossen sind, bedient man sich des Parameters | Will man sich Informationen darüber anzeigen lassen, welche Geräte an einem bestimmten Bus angeschlossen sind, bedient man sich des Parameters {{ic|-s}}. | ||
{{hc|lsusb -s 005:|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | {{hc|lsusb -s 005:|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | ||
Zeile 59: | Zeile 59: | ||
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub}} | Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub}} | ||
Es werden nun nur noch alle Geräte ausgegeben, die am Bus | Es werden nun nur noch alle Geräte ausgegeben, die am Bus {{ic|005}} angeschlossen sind. Will man dies noch weiter spezifizieren, kann man zusätzlich auch noch die Device-Nummer angeben. | ||
{{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | {{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | ||
Jetzt wird nur noch die Zeile des Gerätes ausgegeben, das als drittes Gerät an Bus | Jetzt wird nur noch die Zeile des Gerätes ausgegeben, das als drittes Gerät an Bus {{ic|005}} angeschlossen wurde. Auch hier gilt wieder: Die Suche kann auch nur nach Device-Nummern, wieder mit vorangestelltem Doppelpunkt, vorgenommen werden. | ||
===Ausgabe anhand einer Gerätedatei=== | ===Ausgabe anhand einer Gerätedatei=== | ||
Statt den Bus zu durchsuchen, kann man | Statt den Bus zu durchsuchen, kann man {{ic|lsusb}} mittels des Parameters {{ic|-D}} auch anweisen, eine bestimmte Gerätedatei als Quelle für die Ausgabe zu verwenden. | ||
{{hc|lsusb -D /dev/bus/usb/005/003|Device: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | {{hc|lsusb -D /dev/bus/usb/005/003|Device: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | ||
Zeile 77: | Zeile 77: | ||
===Erweiterte Ausgabe=== | ===Erweiterte Ausgabe=== | ||
Die erweiterte Ausgabe mittels des Parameters | Die erweiterte Ausgabe mittels des Parameters {{ic|-v}} entspricht der Ausgabe nach der Gerätedatei mittels des Parameters {{ic|-D}}. Auch bei der erweiterten Ausgabe mittels {{ic|-v}} werden für die Ausgabe aller Informationen root-Rechte benötigt. | ||
Es ist ratsam, | Es ist ratsam, {{ic|-v}} mit einem Filter-Parameter zu kombinieren, da sonst für alle Geräte ausführliche Informationen ausgegeben werden, was die Ausgabe sehr unübersichtlich und umfangreich macht. | ||
{{hc|lsusb -v -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | {{hc|lsusb -v -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse | ||
Zeile 120: | Zeile 120: | ||
[…]}} | […]}} | ||
Die als zweites Gerät an Bus | Die als zweites Gerät an Bus {{ic|004}} angeschlossene Hardware verfügt also über ein Mikrofon, das per USB ansteuerbar ist. Wenn man die Hardware nicht kennt, kann man mittels der erweiterten Ausgabe Informationen über dessen Funktionen erlangen. | ||
==Zuordungs-Datei== | ==Zuordungs-Datei== | ||
Unter Arch befinden sich alle Informationen über die Product- und Vendor-IDs in der Datei | Unter Arch befinden sich alle Informationen über die Product- und Vendor-IDs in der Datei {{ic|/usr/share/hwdata/usb.ids}}. In dieser Datei werden nach einem recht einfachen Schema, welches im Kopfbereich der Datei erläutert wird, alle IDs aufgelistet. Änderungen an der Datei wirken sich auf die Ausgabe von {{ic|lsusb}} aus. | ||
{{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. blubb}} | {{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. blubb}} | ||
Hier wurde der Produktnamen-String in der Datei auf „blubb“ geändert. Nach Wiederherstellung des Originalzustandes, zeigt | Hier wurde der Produktnamen-String in der Datei auf „blubb“ geändert. Nach Wiederherstellung des Originalzustandes, zeigt {{ic|lsusb}} das Gerät wieder richtig an. | ||
{{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | {{hc|lsusb -s 005:003|Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse}} | ||
Zeile 133: | Zeile 133: | ||
Da die Produktnamen-Strings nur beschreibende Funktion haben hat eine Änderung des Strings keinen Einfluss auf die Funktionsweise des Gerätes. Allerdings wird der String überall angezeigt, sollte also das Gerät schon richtig beschreiben. Fehlerhafte Beschreibungen sollten dem Maintainer der Datei gemeldet werden. | Da die Produktnamen-Strings nur beschreibende Funktion haben hat eine Änderung des Strings keinen Einfluss auf die Funktionsweise des Gerätes. Allerdings wird der String überall angezeigt, sollte also das Gerät schon richtig beschreiben. Fehlerhafte Beschreibungen sollten dem Maintainer der Datei gemeldet werden. | ||
==Script | ==Script {{ic|usb-devices}}== | ||
Das Paket | Das Paket {{ic|usbutils}} wird mit einem Script {{ic|usb-devices}} ausgeliefert, welches Informationen über alle aktiven USB-Geräte in kompakter, leicht parsbarer Form anzeigt. Die Anzeige ist identisch des Inhaltes der Datei {{ic|usb/devices}} innerhalb eines Mountpoints von {{ic|usbfs}}, oder innerhalb eines Mountpoints von {{ic|debugfs}}. | ||
Anstatt einfach den Inhalt der Datei auszugeben, ermittelt | Anstatt einfach den Inhalt der Datei auszugeben, ermittelt {{ic|usb-devices}} die Daten selbständig. Da weder {{ic|usbfs}}, noch {{ic|debugfs}} gemountet sein müssen, hat man mittels {{ic|usb-devices}} neben {{ic|lsusb}} eine einfache Möglichkeit, um an Informationen über USB-Geräte zu gelangen, ohne, dass man einen {{ic|usbfs}}-, oder {{ic|debugfs}}-Mountpoint anlegen muss. | ||
==Siehe auch== | ==Siehe auch== | ||
* [[Mounten]] und [[fstab]] – Mounten von Dateisystemen ( | * [[Mounten]] und [[fstab]] – Mounten von Dateisystemen ({{ic|usbfs}}) | ||
==Weblinks== | ==Weblinks== |
Version vom 27. Januar 2013, 20:06 Uhr
Mittels des Tools lsusb
kann man sich alle am Computer per USB angeschlossenen Geräte anzeigen lassen. Genauer genommen handelt es sich um ein Informationstool, mittels dessen das USB-System analysiert und durchsucht werden kann. Mittels verschiedener Parameter kann die Ausgabe angepasst werden.
Installation
Das Programm lsusb
ist teil des Paketes usbutils
, welches sich im „core“-Repository befindet. Dieses Paket kann mittels Pacman installiert werden.
pacman -S usbutils
Um alle Funktionen (insbesondere die erweiterten Informationen zu Bus-Abschnitten und Geräten) verwenden zu können, sind root-Rechte erforderlich. Für den „täglichen Standard-Gebrauch“ ist dies nicht nötig.
Einsatzzweck
Für die Anzeige durch lsusb
ist es nicht wichtig, ob die Hardware von Linux erkannt wird. So lange die Hardware sich über USB am System anmeldet, können entsprechende Informationen angezeigt werden. lsusb
eignet sich daher also sehr gut, um im Zuge einer Fehleranalyse die generelle Funktionsfähigkeit von Hardware zu überprüfen.
Wenn USB-Hardware duch lsusb
nicht angezeigt werden kann, ist es wahrscheinlich, dass die Hardware nicht funktioniert, sich in einem Funktionsmodus befindet, in dem USB deaktiviert ist, oder das USB-System nicht funktioniert.
Beispiele
Nachfolgende Beispiele verdeutlichen die Verwendung von lsusb
. Einige der Aufrufe bedürfen root-Rechten, da direkt auf die Hardware zugegriffen wird, was mit User-Rechten nicht uneingeschränkt möglich ist.
Standard-Aufruf/Erläuterung
Mittels der einfachen Eingabe von lsusb
wird das USB-System durchsucht, und es werden Informationen über die gefundenen Geräte ausgegeben.
lsusb
Bus 001 Device 003: ID 2040:7070 Hauppauge Nova-T Stick 3 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse Bus 005 Device 002: ID 04b4:00ff Cypress Semiconductor Corp. Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 046d:08b2 Logitech, Inc. QuickCam Pro 4000 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 0644:0200 TEAC Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Die Standard-Ausgabe gliedert sich in drei Bereiche, der Bus-Bereich (Bus 001 Device 003
) bestimmt die „physische“ Position der Hardware. Pro Bus können mehrere Devices vorhanden sein. Die Ausgabe unterscheidet sich je Mainboard. Die Anzahl der Busse und Devices stimmt oft nicht mit den tatsächlich vorhandenen USB-Anschlüssen überein, da lsusb
auch interne Verbindungen mit auflistet.
Der ID-Abschnitt (ID 2040:7070
) bestimmt eindeutig, um welche Art von Hardware es sich handelt. Jeder Anbieter hat eine Vendor-ID (vor dem Doppelpunkt) und jedes Gerät hat eine Product-ID (nach dem Doppelpunkt). Anhand dieser beiden Angaben kann man ein Gerät identifizieren.
Der Namensteil (Hauppauge Nova-T Stick 3
) kann vom Anbieter völlig frei gewählt werden (weiter Informationen siehe Abschnitt Zuordnungs-Datei). In Verbindung mit der Bus-Angabe und der ID kann man so ein bestimmtes Gerät an einem bestimmten USB-Anschluss eindeutig identifizieren.
Suche nach Geräte-IDs
Will man sich nur die Geräte eines bestimmten Herstellers anzeigen lassen, und kennt man dessen Vendor-ID bedient man sich des Parameters -d
.
lsusb -d 046d:
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse Bus 004 Device 002: ID 046d:08b2 Logitech, Inc. QuickCam Pro 4000
Da 046d
die Vendor-ID von Logitech ist, werden nun nur noch alle Logitech-Geräte aufgelistet. Will man die Suche noch weiter spezifizieren, kann man zusätzlich zur Vendor-ID auch die Product-ID angeben.
lsusb -d 046d:c043
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse
Es wird nun nur noch die Zeile der am Rechner angeschlossenen Maus „Logitech MX400 Laser“ angezeigt. Nur der Vollständigkeit halber: Die Suche nur nach der Product-ID, dann mit vorangestelltem Doppelpunkt, funktioniert genau so.
Suche nach der Position im Bus
Will man sich Informationen darüber anzeigen lassen, welche Geräte an einem bestimmten Bus angeschlossen sind, bedient man sich des Parameters -s
.
lsusb -s 005:
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse Bus 005 Device 002: ID 04b4:00ff Cypress Semiconductor Corp. Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Es werden nun nur noch alle Geräte ausgegeben, die am Bus 005
angeschlossen sind. Will man dies noch weiter spezifizieren, kann man zusätzlich auch noch die Device-Nummer angeben.
lsusb -s 005:003
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse
Jetzt wird nur noch die Zeile des Gerätes ausgegeben, das als drittes Gerät an Bus 005
angeschlossen wurde. Auch hier gilt wieder: Die Suche kann auch nur nach Device-Nummern, wieder mit vorangestelltem Doppelpunkt, vorgenommen werden.
Ausgabe anhand einer Gerätedatei
Statt den Bus zu durchsuchen, kann man lsusb
mittels des Parameters -D
auch anweisen, eine bestimmte Gerätedatei als Quelle für die Ausgabe zu verwenden.
lsusb -D /dev/bus/usb/005/003
Device: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse [weitere Informationen] can't get device qualifier: Operation not permitted can't get debug descriptor: Operation not permitted cannot read device status, Operation not permitted (1)
Da hier direkt auf Gerätedateien zugegriffen wird, und über diese direkt auf die Hardware, können mit User-Rechten nicht alle Informationen ausgelesen werden.
Erweiterte Ausgabe
Die erweiterte Ausgabe mittels des Parameters -v
entspricht der Ausgabe nach der Gerätedatei mittels des Parameters -D
. Auch bei der erweiterten Ausgabe mittels -v
werden für die Ausgabe aller Informationen root-Rechte benötigt.
Es ist ratsam, -v
mit einem Filter-Parameter zu kombinieren, da sonst für alle Geräte ausführliche Informationen ausgegeben werden, was die Ausgabe sehr unübersichtlich und umfangreich macht.
lsusb -v -s 005:003
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046d Logitech, Inc. idProduct 0xc043 MX320/MX400 Laser Mouse bcdDevice 27.10 iManufacturer 1 Logitech iProduct 2 USB-PS/2 Optical Mouse iSerial 0 bNumConfigurations 1 [weitere Informationen] Device Status: 0x0000 (Bus Powered)
Je nach abgefragtem Gerät variieren die angezeigten Informationen.
lsusb -v -s 004:002
[…] idVendor 0x046d Logitech, Inc. idProduct 0x08b2 QuickCam Pro 4000 […] AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 […]
Die als zweites Gerät an Bus 004
angeschlossene Hardware verfügt also über ein Mikrofon, das per USB ansteuerbar ist. Wenn man die Hardware nicht kennt, kann man mittels der erweiterten Ausgabe Informationen über dessen Funktionen erlangen.
Zuordungs-Datei
Unter Arch befinden sich alle Informationen über die Product- und Vendor-IDs in der Datei /usr/share/hwdata/usb.ids
. In dieser Datei werden nach einem recht einfachen Schema, welches im Kopfbereich der Datei erläutert wird, alle IDs aufgelistet. Änderungen an der Datei wirken sich auf die Ausgabe von lsusb
aus.
lsusb -s 005:003
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. blubb
Hier wurde der Produktnamen-String in der Datei auf „blubb“ geändert. Nach Wiederherstellung des Originalzustandes, zeigt lsusb
das Gerät wieder richtig an.
lsusb -s 005:003
Bus 005 Device 003: ID 046d:c043 Logitech, Inc. MX320/MX400 Laser Mouse
Da die Produktnamen-Strings nur beschreibende Funktion haben hat eine Änderung des Strings keinen Einfluss auf die Funktionsweise des Gerätes. Allerdings wird der String überall angezeigt, sollte also das Gerät schon richtig beschreiben. Fehlerhafte Beschreibungen sollten dem Maintainer der Datei gemeldet werden.
Script usb-devices
Das Paket usbutils
wird mit einem Script usb-devices
ausgeliefert, welches Informationen über alle aktiven USB-Geräte in kompakter, leicht parsbarer Form anzeigt. Die Anzeige ist identisch des Inhaltes der Datei usb/devices
innerhalb eines Mountpoints von usbfs
, oder innerhalb eines Mountpoints von debugfs
.
Anstatt einfach den Inhalt der Datei auszugeben, ermittelt usb-devices
die Daten selbständig. Da weder usbfs
, noch debugfs
gemountet sein müssen, hat man mittels usb-devices
neben lsusb
eine einfache Möglichkeit, um an Informationen über USB-Geräte zu gelangen, ohne, dass man einen usbfs
-, oder debugfs
-Mountpoint anlegen muss.