Ton périphérique USB a un code Vendeur/Produit apparaissant dans lsusb, par exemple
Bus 001 Device 002: ID 064e:c117 Suyin Corp.
C’est le code 064e:c117. Plus précisemment, lorsqu’on branche le périphérique, il y a apparition d’un ou de plusieurs fichiers modalias dans /sys, ici c’est
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.0/modalias
usb:v064EpC117d0130dcEFdsc02dp01ic0Eisc01ip00
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.1/modalias
usb:v064EpC117d0130dcEFdsc02dp01ic0Eisc02ip00
Si la chaine est accepté par le modalias d’un module, celui est chargé. Ainsi uvcvideo présente
[quote]alias: usb:vpddcdscdpic0Eisc01ip00*
alias: usb:v1C4Fp3000ddcdscdpic0Eisc01ip00*
alias: usb:v1B3Bp2951ddcdscdpic0Eisc01ip00*
alias: usb:v19ABp1000d00dcdscdpic0Eisc01ip00*
alias: usb:v19ABp1000d01[0-1]dcdscdpic0Eisc01ip00*
alias: usb:v19ABp1000d012[0-6]dcdscdpic0Eisc01ip00
alias: usb:v199Ep8102ddcdscdpicFFisc01ip00*
alias: usb:v18ECp3290ddcdscdpic0Eisc01ip00*
alias: usb:v18ECp3288ddcdscdpic0Eisc01ip00*
alias: usb:v18ECp3188ddcdscdpic0Eisc01ip00*
alias: usb:v18CDpCAFEddcdscdpic0Eisc01ip00*
alias: usb:v1871p0306ddcdscdpic0Eisc01ip00*
alias: usb:v17EFp480Bddcdscdpic0Eisc01ip00*
alias: usb:v17DCp0202ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp8A34ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp8A33ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp8A31ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp8A12ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp5931ddcdscdpic0Eisc01ip00*
alias: usb:v174Fp5212ddcdscdpic0Eisc01ip00*
alias: usb:v152Dp0310ddcdscdpic0Eisc01ip00*
alias: usb:v13D3p5103ddcdscdpic0Eisc01ip00*
alias: usb:v0E8Dp0004ddcdscdpic0Eisc01ip00*
alias: usb:v0AC8p3420ddcdscdpic0Eisc01ip00*
alias: usb:v0AC8p3410ddcdscdpic0Eisc01ip00*
alias: usb:v0AC8p332Dddcdscdpic0Eisc01ip00*
alias: usb:v06F8p300Cddcdscdpic0Eisc01ip00*
alias: usb:v05E3p0505ddcdscdpic0Eisc01ip00*
alias: usb:v05C8p0403ddcdscdpic0Eisc01ip00*
alias: usb:v05ACp8501ddcdscdpic0Eisc01ip00*
alias: usb:v05A9p2640ddcdscdpic0Eisc01ip00*
alias: usb:v058Fp3820ddcdscdpic0Eisc01ip00*
alias: usb:v04F2pB071ddcdscdpic0Eisc01ip00*
alias: usb:v046Dp08C7ddcdscdpicFFisc01ip00*
alias: usb:v046Dp08C6ddcdscdpicFFisc01ip00*
alias: usb:v046Dp08C5ddcdscdpicFFisc01ip00*
alias: usb:v046Dp08C3ddcdscdpicFFisc01ip00*
alias: usb:v046Dp08C2ddcdscdpicFFisc01ip00*
alias: usb:v046Dp08C1ddcdscdpicFFisc01ip00*
alias: usb:v045Ep0723ddcdscdpic0Eisc01ip00*
alias: usb:v045Ep00F8ddcdscdpic0Eisc01ip00*
alias: usb:v0458p706Eddcdscdpic0Eisc01ip00*
alias: usb:v0416pA91Addcdscdpic0Eisc01ip00*
[/quote]
On peut noter que la première ligne est comatible avec usb:v064EpC117d0130dcEFdsc02dp01ic0Eisc01ip00 et donc que uvcvideo gère ce périphérique.
Voilà, c’est ce que j’ai pu comprendre des lectures des sources du noyau. Cela m’a permis de rajouter du matériel à certains modules il y a quelques temps. C’est un résumé assez (trop) sommaire du mécanisme tel que je l’ai compris