Wir alle kennen vermutlich den Befehl lsusb. Er gibt Auskunft über intern verbaute und extern angeschlossene USB-Geräte. Er verwendet im Hintergrund die usb.ids der Hardware Database in /usr/share/hwdata/
, um unter anderem die Anbieter- und Produktkennung, auch als ID bezeichnet, auszugeben. Diese ist oft wichtig, um die verbaute Revision eines Geräts genau zu bestimmen. Der Befehl ist zudem nützlich, um festzustellen, ob ein nicht funktionierendes Gerät grundsätzlich erkannt wird. Die Ausgabe sieht bei mir auszugsweise so aus:
Bus 006 Device 002: ID 0bda:0409 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 046d:0826 Logitech, Inc. HD Webcam C525
Bus 005 Device 003: ID 0bda:5409 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 005 Device 002: ID 046a:00b0 Cherry GmbH Mechanical Keyboard
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
...
Die Standard-Ausgabe gliedert sich in drei Bereiche: Links der Bus-Bereich, er gibt die physische Position der Hardware an. Es folgen Vendor- und Produkt-ID sowie der Namensteil.
Die Ausgabe lässt sich über einige Parameter erweitern (-v -vv), eingrenzen (-d -D -s) oder übersichtlicher darstellen (-t). Weitere Einzelheiten verrät die Manpage.
Martijn Braam, unter anderem Entwickler bei postmarketOS, war das nicht genug. Deshalb hat er gestern das Tool lsplug
veröffentlicht, das, wie in der Ankündigung vermerkt, mehr nützliche und weniger nutzlose Informationen ausgibt. Das nur 3 KB große Paket lässt sich über pip
, das Paketverwaltungsprogramm für Python-Pakete mit dem Befehl pip install lsplug
installieren.
Die Standard-Ausgabe von lsplug
ohne Parameter sieht so aus:
USB 5-3 [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
USB 5-1 [046a:00b0] Cherry GmbH Mechanical Keyboard
USB 1-3 [046d:c52b] Logitech, Inc. Unifying Receiver
USB 6-2 [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
USB 4-3 [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
USB 5-2 [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
USB 1-6 [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
USB 1-2 [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub
Der Befehl zeigt bei mir nur extern an USB angeschlossene Geräte an. Eigentlich soll dies laut Beschreibung erst die Eingabe mit dem Parameter -r
tun. Aber gut, da die meisten Abfragen sich um externe Geräte drehen, ist das eine gute Standard-Einstellung. Mit lsplug -r -d
werden zusätzlich die genutzten Geräteknoten angezeigt:
USB 5-3 [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
Device /dev/video1
Device /dev/video0
Device /dev/media0
Device /dev/input/event20
USB 5-1 [046a:00b0] Cherry GmbH Mechanical Keyboard
USB 1-3 [046d:c52b] Logitech, Inc. Unifying Receiver
Device /dev/usb/hiddev0
USB 6-2 [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
USB 4-3 [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
USB 5-2 [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
USB 1-6 [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
Device /dev/sdb
USB 1-2 [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub
Mit lsplug -r -p
lassen sich die USB-Geschwindigkeit und der maximale Stromverbrauch, mit dem sich ein Gerät beim Host anmeldet, zusätzlich anzeigen:
USB 5-3 [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
Speed: 480 Mbps, MaxPower: 500mA
USB 5-1 [046a:00b0] Cherry GmbH Mechanical Keyboard
Speed: 12 Mbps, MaxPower: 500mA
USB 1-3 [046d:c52b] Logitech, Inc. Unifying Receiver
Speed: 12 Mbps, MaxPower: 98mA
USB 6-2 [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Speed: 5.0 Gbps 1x1, MaxPower: 0mA
USB 4-3 [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
Speed: 5.0 Gbps 1x1, MaxPower: 8mA
USB 5-2 [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Speed: 480 Mbps, MaxPower: 0mA
USB 1-6 [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
Speed: 480 Mbps, MaxPower: 500mA
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
Speed: 480 Mbps, MaxPower: 0mA
USB 1-2 [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub
Speed: 480 Mbps, MaxPower: 100mA
Mit lsplug -i
und der Angabe des Bus-Bereichs lassen sich die einem Gerät zugehörigen Interface Descriptors ausgeben, die angeben, was für Fähigkeiten ein Gerät besitzt. So zeigt lsplug -i 5-1
:
USB 5-1 [046a:00b0] Cherry GmbH Mechanical Keyboard
Class 00 SubClass 00 Protocol 00
Interface 0 03/01/01 MX5.0 Keyboard
Interface 1 03/00/00 MX5.0 Multimedia
Das kleine Tool lsplug ist nichts Weltbewegendes, hält aber für Anwender, die oft Informationen über USB-Geräte einholen müssen, vielleicht nützliche Parameter bereit.
Bild: Sara Kurfeß on Unsplash