lsusb : Informations sur les périphériques USB
Table des matières
La commande lsusb est un utilitaire en ligne de commande sous Linux utilisé pour afficher des informations sur les périphériques USB reconnus et détectés par le système.
lsusb permet de :
- Lister tous les périphériques USB connectés et modules USB présents.
- Vérifier que le système reconnaît correctement nos périphériques USB.
- Afficher des détails spécifiques sur chaque périphérique USB, tels que l'identifiant du fabricant et du produit, la description, le pilote utilisé, etc.
Cette commande sera plus utile sur un poste de travail (PC fixe ou portable) que sur un serveur (surtout avec des machines virtuelles, mais ça peut être utile pour vérifier si des "dongle USB" sont détectés).
La syntaxe générale de lsusb est simple :
Pour lister simplement les périphériques USB :
Cet exemple affichera une liste de tous les périphériques USB actuellement connectés à votre système, avec des informations de base comme l'identifiant du fabricant et l'identifiant du produit :
Pour avoir une vue beaucoup plus détaillée sur tous les périphériques USB :
Le mode verbeux affiche des informations détaillées sur chaque périphérique USB, y compris les configurations, interfaces, points de terminaison, etc. (extrait d'un seul périphérique ici ma clé USB SanDisk Extreme Pro de 256Go) :
Pour afficher des informations pour un périphérique USB spécifique avec son ID fabricant et produit (exemple ici avec mon volant Logitech MOMO Racing) :
Pour se représenter plus précisément l'arborescence des périphériques USB, montrant la hiérarchie des périphériques USB connectés, y compris les hubs USB et les périphériques connectés à ces hubs on pourra utiliser (avec un mode plus verbeux éventuellement) :
Voici ce que ça donne :
Dans cet exemple, on voit bien que ma Webcam (Generalplus Technology) et le volant (Logitech MOMO Racing) sont connectés sur le même Hub USB (qui est connecté sur un port USB de ma carte mère, juste à côté de mon micro Bird UM1)
On notera que l'option -t permet d'afficher de façon claire le pilote utilisé par le périphérique ou hub USB et indique également les débuts de fonctionnements du bus USB.
Introduction
La commande lsusb est un utilitaire en ligne de commande sous Linux utilisé pour afficher des informations sur les périphériques USB reconnus et détectés par le système.
lsusb permet de :
- Lister tous les périphériques USB connectés et modules USB présents.
- Vérifier que le système reconnaît correctement nos périphériques USB.
- Afficher des détails spécifiques sur chaque périphérique USB, tels que l'identifiant du fabricant et du produit, la description, le pilote utilisé, etc.
Cette commande sera plus utile sur un poste de travail (PC fixe ou portable) que sur un serveur (surtout avec des machines virtuelles, mais ça peut être utile pour vérifier si des "dongle USB" sont détectés).
La syntaxe générale de lsusb est simple :
Code BASH :
lsusb [options]
Utiliser lsusb
Pour lister simplement les périphériques USB :
Code BASH :
lsusb
Cet exemple affichera une liste de tous les périphériques USB actuellement connectés à votre système, avec des informations de base comme l'identifiant du fabricant et l'identifiant du produit :
Code :
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0bda:0111 Realtek Semiconductor Corp. RTS5111 Card Reader Controller
Bus 001 Device 003: ID 0781:5588 SanDisk Corp. Extreme Pro
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 413c:2113 Dell Computer Corp. KB216 Wired Keyboard
Bus 003 Device 003: ID 046d:c52f Logitech, Inc. Nano Receiver
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 0d8c:0134 C-Media Electronics, Inc. BIRD UM1
Bus 005 Device 003: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 005 Device 004: ID 046d:ca03 Logitech, Inc. MOMO Racing
Bus 005 Device 005: ID 1b3f:2247 Generalplus Technology Inc. GENERAL WEBCAM
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Pour avoir une vue beaucoup plus détaillée sur tous les périphériques USB :
Code BASH :
lsusb -v
Le mode verbeux affiche des informations détaillées sur chaque périphérique USB, y compris les configurations, interfaces, points de terminaison, etc. (extrait d'un seul périphérique ici ma clé USB SanDisk Extreme Pro de 256Go) :
Code :
Bus 001 Device 003: ID 0781:5588 SanDisk Corp. Extreme Pro
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0781 SanDisk Corp.
idProduct 0x5588 Extreme Pro
bcdDevice 1.00
iManufacturer 2 SanDisk
iProduct 3 USB Extreme Pro
iSerial 1 00000000000000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Pour afficher des informations pour un périphérique USB spécifique avec son ID fabricant et produit (exemple ici avec mon volant Logitech MOMO Racing) :
Code BASH :
lsusb -d 046d:ca03 -v
Pour se représenter plus précisément l'arborescence des périphériques USB, montrant la hiérarchie des périphériques USB connectés, y compris les hubs USB et les périphériques connectés à ces hubs on pourra utiliser (avec un mode plus verbeux éventuellement) :
Code BASH :
lsusb -t
Voici ce que ça donne :
Code :
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/14p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 009: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 480M
ID 0bda:0111 Realtek Semiconductor Corp. RTS5111 Card Reader Controller
|__ Port 014: Dev 003, If 0, Class=Mass Storage, Driver=usb-storage, 480M
ID 0781:5588 SanDisk Corp. Extreme Pro
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/8p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 001: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
ID 413c:2113 Dell Computer Corp. KB216 Wired Keyboard
|__ Port 001: Dev 002, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
ID 413c:2113 Dell Computer Corp. KB216 Wired Keyboard
|__ Port 002: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52f Logitech, Inc. Nano Receiver
|__ Port 002: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52f Logitech, Inc. Nano Receiver
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 001: Dev 002, If 0, Class=Audio, Driver=snd-usb-audio, 12M
ID 0d8c:0134 C-Media Electronics, Inc.
|__ Port 001: Dev 002, If 1, Class=Audio, Driver=snd-usb-audio, 12M
ID 0d8c:0134 C-Media Electronics, Inc.
|__ Port 001: Dev 002, If 2, Class=Human Interface Device, Driver=usbhid, 12M
ID 0d8c:0134 C-Media Electronics, Inc.
|__ Port 003: Dev 003, If 0, Class=Hub, Driver=hub/4p, 480M
ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
|__ Port 003: Dev 004, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
ID 046d:ca03 Logitech, Inc. MOMO Racing
|__ Port 004: Dev 005, If 0, Class=Video, Driver=uvcvideo, 480M
ID 1b3f:2247 Generalplus Technology Inc.
|__ Port 004: Dev 005, If 1, Class=Video, Driver=uvcvideo, 480M
ID 1b3f:2247 Generalplus Technology Inc.
|__ Port 004: Dev 005, If 2, Class=Audio, Driver=snd-usb-audio, 480M
ID 1b3f:2247 Generalplus Technology Inc.
|__ Port 004: Dev 005, If 3, Class=Audio, Driver=snd-usb-audio, 480M
ID 1b3f:2247 Generalplus Technology Inc.
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 003: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M
ID 0bda:0411 Realtek Semiconductor Corp. Hub
Dans cet exemple, on voit bien que ma Webcam (Generalplus Technology) et le volant (Logitech MOMO Racing) sont connectés sur le même Hub USB (qui est connecté sur un port USB de ma carte mère, juste à côté de mon micro Bird UM1)
On notera que l'option -t permet d'afficher de façon claire le pilote utilisé par le périphérique ou hub USB et indique également les débuts de fonctionnements du bus USB.