Introduzione
Il comando "lsusb" in Linux è uno strumento a riga di comando che consente di elencare e enumerare tutti i dispositivi USB, compresi gli hub USB, presenti all'interno del sistema su cui viene eseguito. Questo comando può essere utilizzato su desktop, server e altri hardware comuni che utilizzano Linux, come i Raspberry Pi, e visualizza informazioni come velocità, BUS, classe, tipo di dettagli e così via.
Il comando "lsusb" è incluso di default nei moderni sistemi operativi Linux. Per utilizzare questo comando, è possibile digitare "lsusb" sulla riga di comando del terminale. Inoltre, esistono alcune opzioni che possono essere utilizzate con il comando "lsusb" per filtrare o personalizzare l'output.
Ad esempio, l'opzione "-v" può essere utilizzata per visualizzare informazioni dettagliate sui dispositivi USB, mentre l'opzione "-t" visualizza un albero di dispositivi USB e hub. Per ulteriori informazioni sull'utilizzo del comando "lsusb" in Linux, è possibile fare riferimento alle risorse elencate sopra.
Il comando lsusb
è un'utilità in Linux che consente agli utenti di elencare i dispositivi USB (Universal Serial Bus) collegati al sistema. Questa utilità fa parte del pacchetto "usbutils" , che fornisce utilità per visualizzare informazioni sui bus USB nel sistema e sui dispositivi ad essi collegati.
Sintassi
La sintassi di base del comando lsusb è:
lsusb [options]
Opzioni
Alcune opzioni comuni utilizzate con il comando lsusb sono:
-v
: Visualizza informazioni dettagliate sui dispositivi USB.-t
: Visualizza una vista ad albero dei dispositivi USB.-s
: Visualizza le informazioni su un dispositivo USB specifico, specificato dal bus e dal numero del dispositivo.-d
: visualizza le informazioni su un dispositivo USB specifico, specificato dal fornitore e dall'ID prodotto.-D
: Seleziona quale dispositivo verrà esaminato.
Esempi
Per elencare tutti i dispositivi USB collegati al sistema, utilizzare il comando lsusb senza alcuna opzione:
lsusb
Bus 002 Device 004: ID 046d:0a37 Logitech, Inc. USB Headset H540
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 413c:301a Dell Computer Corp.
Bus 001 Device 003: ID c0f4:05e0
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Per visualizzare informazioni dettagliate sui dispositivi USB, utilizzare l'opzione -v:
lsusb -v
Per visualizzare una vista ad albero dei dispositivi USB, utilizzare l'opzione -t:
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 1: Dev 4, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 4, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 4, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 4, If 3, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
Per visualizzare le informazioni su un dispositivo USB specifico, utilizzare l'opzione -s seguita dal bus e dal numero del dispositivo. Ad esempio, per visualizzare le informazioni sul dispositivo USB sul bus 2 e sul dispositivo 4, utilizzare il seguente comando:
lsusb -s 2:4 -v
Bus 002 Device 004: ID 046d:0a37 Logitech, Inc. USB Headset H540
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0x0a37 USB Headset H540
bcdDevice 1.22
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x011c
Per visualizzare informazioni su un dispositivo USB specifico, utilizzare l'opzione -d seguita dal fornitore e dall'ID prodotto. Ad esempio, per visualizzare informazioni su un dispositivo con ID fornitore 8087 e ID prodotto c52b, utilizzare il seguente comando:
lsusb -d 1d6b:0002 -v
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 5.15
iManufacturer 3
iProduct 2
iSerial 1
Utilizzare il comando lsusb con altre utilità
Il comando lsusb può essere utilizzato in combinazione con altre utilità per eseguire una varietà di attività.
Trova il fornitore e l'ID prodotto di un dispositivo USB
Per trovare il fornitore e l'ID prodotto di un dispositivo USB, utilizzare il comando lsusb con l'opzione -v e grep per i campi idVendor e idProduct:
lsusb -v | grep -E 'idVendor|idProduct'
idVendor 0x046d Logitech, Inc.
idProduct 0x0a37 USB Headset H540
idVendor 0x8087 Intel Corp.
idProduct 0x0024 Integrated Rate Matching Hub
idVendor 0x8087 Intel Corp.
idProduct 0x0024 Integrated Rate Matching Hub
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
Trovare il nome del dispositivo di un dispositivo USB
Per trovare il nome del dispositivo di un dispositivo USB, utilizzare il comando lsusb con l'opzione -v e grep per il campo iProduct:
lsusb -v | grep iProduct
Produzione Cuffie USB Logitech iProduct 2 H540 Controller host EHCI iProduct 2 Mouse ottico USB Dell MS116 iProduct 2 Tastiera USB iProduct 2
Trovare il driver di dispositivo di un dispositivo USB
Per trovare il driver di dispositivo di un dispositivo USB, utilizzare il comando lsusb con l'opzione -t e grep per il nome del dispositivo:
lsusb -t | grep Unifying
|__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
In questo esempio, il driver del dispositivo USB è "usbhid" .
Trovare il nodo del dispositivo di un dispositivo USB
Per trovare il nodo del dispositivo di un dispositivo USB, utilizzare il comando lsusb con l'opzione -t e cercare il nome del dispositivo nella directory /dev:
lsusb -t
Ora esegui:
ls /dev/input/
by-id event0 event10 event2 event4 event6 event8 mice
by-path event1 event11 event3 event5 event7 event9 mouse0
In questo esempio, il nodo del dispositivo per il dispositivo USB è /dev/input/mouse0.
Conclusione
In questo articolo, hai imparato a conoscere l'utilità lsusb
della riga di comando e come usarla per elencare e visualizzare informazioni sui dispositivi USB collegati a un sistema Linux. Abbiamo anche visto come utilizzare il comando lsusb con altre utilità per eseguire varie attività relative ai dispositivi USB.