Matériel, Hardware

lsusb : Informations sur les périphériques USB

Table des matières

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


Les hubs représentés par cette ligne :
Code TEXT :
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub


Correspondent à des groupes de port USB qui sont connectés sur la carte mère (façade avant ou arrière)

Le 2.0 ou 3.0 indiquent le protocole USB utilisé (USB 2 ou USB 3)


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.

Un périphérique rattaché à Linux Foundation 3.0 root hub fonctionne en USB 3.0
Un périphérique rattaché à Linux Foundation 2.0 root hub fonctionne en USB 2.0

Cette page a été vue 1874 fois