Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/05/2008, à 22:13

snapshot

Comment trouver des infos sur des périphériques USB exotiques

Vous avez un grille-pain USB et vous voudriez qu'il marche sous linux ?
À moins qu'il ne s'agisse d'une cafetière programmable ou plus simplement d'un simple chauffe-tasse ?
La méthode décrite ici vous permettra d'obtenir toutes les informations disponibles sur votre périphérique afin de savoir si d'autres personnes ont réussi à le faire fonctionner sous linux.
Bien entendu elle marche parfaitement avec des appareils plus communs, comme des GPS ou des webcams pour lesquelles est dédiée la suite de ce post.

Il ne sert souvent à rien de faire des recherches sur la marque et le modèle affichés sur la caméra : d'une part parce que les services marketing rivalisent d'ingéniosité pour trouver des noms compliqués, et d'autre part parce que linux n'a aucun moyen de lire l'autocollant fixé sur le couvercle et ne peut accéder qu'au circuit (chipset) qui est à l'intérieur... Ainsi, différentes marques de caméra peuvent utiliser le même chipset... et avoir finalement le même driver !

Pour connaitre le vrai modèle de la caméra, il faut :
1) débrancher la caméra
2) taper la commande lsusb
3) brancher la caméra
4) taper une nouvelle fois la commande lsusb
5) regarder ce qui a été ajouté entre la première liste et la deuxième.

Avec un peu d'habitude, on peut taper directement lsusb et deviner dans la liste.

Exemple avec une caméra Labtec bon marché :

sans caméra, j'obtiens :

Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 001 Device 001: ID 0000:0000

Avec :

Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 002: ID 046d:0929 Logitech, Inc. 
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 001 Device 001: ID 0000:0000

J'ai donc une ligne en plus :

Bus 002 Device 002: ID 046d:0929 Logitech, Inc.

Ce qui est intéressant c'est l'ID  (usbid), ici : USBID=046d:0929 qui identifie de façon certaine l'appareil. Le bus et le device indiquent où je l'ai branché, et sera différent si je change de prise.

L'usbid est composé de deux parties séparées par un caractère « deux-points ». La première est un numéro unique par constructeur (vendor), c'est le « vid » (Vendor IDentifier). La deuxième est un numéro interne au constructeur, c'est le « pid » (Product IDentifier). L'usbid est donc affiché sous la forme vid:pid

Ici, le vid=046d, c'est celui de Logitech. Le pid=0929, c'est le numéro que Logitech a attribué pour cette caméra.

Détail intéressant : ma caméra de 8€ Labtec a un cœur Logitech !

L'autre périphérique est effectivement un clavier/souris sans fil, de marque Logitech (d'où le même vid).

Ensuite, il suffit d'utiliser un moteur de recherche avec 046d:0929 pour trouver une pléthore d'information sur ce modèle.

Une dernière chose : la commande lsusb utilise une base de donnée pour associer le nom exact du constructeur au vid, et le nom du modèle au vid. La reconnaissance ou non par lsusb de votre périphérique n'implique absolument pas sa reconnaissance par linux !  En d'autres termes, lsusb peut connaitre un périphérique qui n'a pas de driver sous linux, et inversement, ne pas afficher de nom pour un périphérique qui fonctionne pourtant très bien (la base des drivers est différente de la base des noms). C'est le cas pour ma caméra citée en exemple : lsusb ne connait que le fabricant mais pas le modèle, pourtant, elle marche très bien.

La base de donnée utilisée par lsusb est stockée dans le fichier /var/lib/misc/usb.ids. Il est possible de mettre à jour ce fichier au moyen de la commande update-usbids :

sudo update-usbids

.

Après l'avoir mis à jour sur ma machine, la commande lsusb me donne :

Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 003: ID 046d:0929 Logitech, Inc. Labtec WebCam Pro
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 001 Device 001: ID 0000:0000

et avec cette base à jour, lsusb a su associer un nom à ma caméra !


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne