USB sous Linux

De system.co.free.fr.
(Différences entre les versions)
(Exemple 3: connaître le pilote associé a un périphérique usb)
(Exemple 1: liste de tout les périphériques usb, contrôleur usb compris)
Ligne 26 : Ligne 26 :
Pour avoir le détail sur un périphérique particulier, passer en root.<br>
Pour avoir le détail sur un périphérique particulier, passer en root.<br>
-
Et, par exemple,pour le detail de la QuickCam Sphere de la premiere ligne:<br>
+
Et, par exemple,pour le detail de la QuickCam Sphere de la 2eme ligne:<br>
-v pour le detail<br>
-v pour le detail<br>
-d avec l'identifiant vendeur suivi de ":" et de l'identifiant de périphérique. ( a la suite d' <b>ID</b> de la commande simple lsusb)<br>
-d avec l'identifiant vendeur suivi de ":" et de l'identifiant de périphérique. ( a la suite d' <b>ID</b> de la commande simple lsusb)<br>

Version du 3 mars 2013 à 15:34

retour vers Linux


Sommaire

documentation

http://www.linux-usb.org/

lsusb

/usr/bin/lsusb
paquet:usbutils

cette commande permet d'afficher des informations relatives aux bus USB du système et aux périphériques qui y sont connectés.
voir man lsusb

Exemple 1: liste de tout les périphériques usb, contrôleur usb compris

 lsusb
 Bus 001 Device 002: ID 1b1c:1a03 Corsair 
 Bus 002 Device 002: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF
 Bus 002 Device 004: ID 0bb4:0ff9 HTC (High Tech Computer Corp.) Desire / Desire HD / Hero (Charge Mode)
 Bus 008 Device 002: ID 046d:c505 Logitech, Inc. Cordless Mouse+Keyboard Receiver
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Pour avoir le détail sur un périphérique particulier, passer en root.
Et, par exemple,pour le detail de la QuickCam Sphere de la 2eme ligne:
-v pour le detail
-d avec l'identifiant vendeur suivi de ":" et de l'identifiant de périphérique. ( a la suite d' ID de la commande simple lsusb)

 sudo lsusb -v -d 046d:0994
 Bus 002 Device 002: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF
 Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass          239 Miscellaneous Device
   bDeviceSubClass         2 ?
   bDeviceProtocol         1 Interface Association
   bMaxPacketSize0        64
   idVendor           0x046d Logitech, Inc.
   idProduct          0x0994 QuickCam Orbit/Sphere AF
   bcdDevice            0.08
 
   [... Il y a plus de 916 ligne, je vous les passe]
 
   bDeviceClass          239 Miscellaneous Device
   bDeviceSubClass         2 ?
   bDeviceProtocol         1 Interface Association
   bMaxPacketSize0        64
   bNumConfigurations      1
 Device Status:     0x0000
 (Bus Powered)
   



Exemple 2: liste de tout les périphérique d'un constructeur

Avec l'option -d vous pouvez lister tout les périphérique d'un constructeur, ou l'inverse, tout les constructeurs d'un périphérique. Ici, la liste des périphériques de chez logitech (on sait par lsusb que l'idendentifiant du constructeur est le premier nombre après ID du résultat de la commande lsusb):

 lsusb -d 046d:
 Bus 002 Device 002: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF
 Bus 008 Device 002: ID 046d:c505 Logitech, Inc. Cordless Mouse+Keyboard Receiver



Exemple 3: connaître le pilote associé a un périphérique usb

Avec l'option -t nous allons afficher l'arborescence hiérarchique des périphériques connectés (ports usb, périphérique(s) connecté a ce port, vitesse max de transmission, classes des périphériques et pilotes associés aux périphériques). Option -t n'est pas compatible avec les autres options et les annule.

 lsusb -t 
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
   |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=HID, Driver=usbhid, 1.5M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 4: Dev 2, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 4: Dev 2, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 4: Dev 2, If 2, Class=audio, Driver=snd-usb-audio, 480M
    |__ Port 4: Dev 2, If 3, Class=audio, Driver=snd-usb-audio, 480M
    |__ Port 6: Dev 4, If 0, Class=stor., Driver=usb-storage, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M

On voit ici rattaché au bus 02 le port 4 et le port 6. Ce sont 2 périphériques différents. Isolons le port 4:

 lsusb -t | grep "Port 4"
    |__ Port 4: Dev 2, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 4: Dev 2, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 4: Dev 2, If 2, Class=audio, Driver=snd-usb-audio, 480M
    |__ Port 4: Dev 2, If 3, Class=audio, Driver=snd-usb-audio, 480M

Tout cela correspond au périphérique "Logitech, Inc. QuickCam Orbit/Sphere AF". Et on voit 2 Drivers differents: uvcvideo et snd-usb-audio
soit la video webcam et le son.

Fichier listant le nom des peripheriques USB pour leurs identifications par lsusb

Fichier contenant la correspondance entre id d'entreprise=nom d'entreprise et id de peripherique=nom de periphérique (les nom de la dernière colonne que vous renvoi lsusb)
/usr/share/misc/usb.ids
paquet:usbutils

La liste de tous les identifiants constructeurs et peripheriques connus (vendeurs, produits, classes, sous-classes et protocoles) par votre systèmes.

/usr/share/kde4/apps/kcmusb/usb.ids
paquet:kinfocenter

le même fichier que précédemment. Attention cependant, il n'est pas nécessairement de la même version. Il est utilisé pour identifier les périphériques par kinfocenter.

/var/lib/misc/usb.ids

encore le même fichier.

La dernière version peut être trouvé sur http://www.linux-usb.org/usb.ids

Mettre a jour son fichier /usr/share/misc/usb.ids

Ancienne version de kubuntu

/usr/sbin/update-usbids.sh
paquet:usbutils
met a jour le fichier /usr/share/misc/usb.ids a partir de la page http://www.linux-usb.org/usb.ids

/proc/bus/usb

Une interface vers les périphériques USB fournie par les noyaux Linux postérieurs à la version 2.3.15. Elle contient un sous-répertoire par bus qui contient un fichier par périphérique et un fichier devices qui contient certains descripteurs pour chaque périphérique USB. Cette interface est également prise en charge par certains noyaux Linux 2.2.

Version recente de Kubuntu

/usr/sbin/update-usbids
paquet:usbutils

met a jour le fichier /usr/share/misc/usb.ids a partir de la page http://www.linux-usb.org/usb.ids

Outils personnels