La comanda lsusb llista els dispositius USB connectats a l’equip: teclats, ratolins, discos externs, memòries, adaptadors wifi o Bluetooth, càmeres… i també els concentradors (hubs) interns. Per a cada dispositiu mostra el bus on és, el número que li ha assignat el sistema i els identificadors del fabricant i del producte. És molt útil per comprovar si el sistema ha detectat un aparell que acabes de connectar. Forma part del paquet usbutils.
Sintaxi
lsusb [opcions]
Per veure la llista no cal ser root. Només el mode detallat (-v) necessita sudo per llegir alguns descriptors; sense permisos, avisa amb Couldn't open device, some information will be missing.
Opcions més útils
| Opció | Què fa |
|---|---|
-t, --tree | Mostra els dispositius en arbre: a quin port i a quin hub estan connectats, el controlador i la velocitat |
-tv | L’arbre, amb el nom i l’identificador de cada dispositiu |
-v, --verbose | Tots els descriptors del dispositiu (classe, consum, interfícies…) |
-d fabricant:[producte] | Només els dispositius amb aquests identificadors (en hexadecimal) |
-s [bus]:[dispositiu] | Només el dispositiu amb aquest bus i número (en decimal) |
-D /dev/bus/usb/BBB/DDD | Examina directament aquest fitxer de dispositiu |
Com es llegeix la sortida
En un portàtil:
$ lsusb
Bus 001 Device 005: ID 04f2:b57a Chicony Electronics Co., Ltd
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 04f3:3012 Elan Microelectronics Corp.
Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001: el bus USB (cada controlador en té un o més).Device 005: el número que el sistema assigna al dispositiu en aquell bus. Canvia cada vegada que el desconnectes i el tornes a connectar.ID 046d:c31c: identificador del fabricant (046d, Logitech) i del producte (c31c). Aquest sí que és fix i és el que has de buscar per saber si un aparell és compatible amb Linux.- Descripció: el nom del fabricant i del model, tret de la base de dades
usb.ids. Pot ser genèrica (comIntel Corp.) o faltar si el dispositiu no hi és.
Els Linux Foundation 2.0/3.0 root hub no són aparells físics: representen els controladors USB de l’equip (un per a USB 2.0 i un per a USB 3.x).
Exemples
Veure on està connectat cada dispositiu
En un Raspberry Pi 4 amb un disc SATA connectat per USB 3.0:
$ lsusb -t
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 002: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
Aquí hi ha dues dades molt útils:
Driver=: el controlador del nucli que gestiona el dispositiu. Si un aparell no en té, el sistema el veu però no el sap fer servir.- La velocitat:
480Més USB 2.0,5000Més USB 3.0 (5 Gbit/s),10000Més USB 3.1/3.2 de 10 Gbit/s, i12Mo1.5Msón USB 1.x (teclats i ratolins). Si un disc extern va lent i surt a480M, segurament està connectat a un port USB 2.0 o amb un cable que no és USB 3.
Amb -tv (versions recents d’usbutils) hi afegeix el nom de cada dispositiu:
$ lsusb -tv
...
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 002: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ...
Filtrar un dispositiu
Per identificador (el que no canvia):
$ lsusb -d 174c:55aa
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ...
Per bus i número:
lsusb -s 002:002
Tots els detalls
sudo lsusb -v -d 046d:c31c
Mostra la versió d’USB (bcdUSB), el fabricant i el número de sèrie que declara el dispositiu, el consum màxim (MaxPower), la classe de cada interfície (HID, Mass Storage, Audio…) i molt més. Com que la sortida és llarga, filtra-la amb grep o passa-la per less.
Detectar què acabes de connectar
Un truc senzill: executa lsusb, connecta l’aparell i torna-la a executar. La línia nova és el teu dispositiu. Per veure en directe què passa en connectar-lo (controlador carregat, nom del dispositiu /dev/sdX d’un disc, errors…), fes servir els missatges del nucli:
sudo dmesg -w
Compte amb…
- Un aparell no surt a
lsusb: el problema és físic (cable, port, alimentació) o del mateix aparell; el sistema ni tan sols el veu. - Surt a
lsusbperò no funciona: el sistema el detecta però no hi ha controlador o li falta firmware. Miralsusb -t(si téDriver=) idmesg. - Descripció buida o antiga: la base de dades
usb.idsve del paquet del mateix nom; actualitzar el sistema l’actualitza.