Supponiamo che io conosca gli ID numerici di prodotto / fornitore dell'hardware che non ho qui e voglio sapere se c'è un supporto per me nel kernel, posso farlo (esempio di ricevitore bluetooth USB):
modinfo btusb
filename: /lib/modules/3.7.5-030705-generic/kernel/drivers/bluetooth/btusb.ko
[...]
alias: usb:v0A5Cp*d*dc*dsc*dp*icFFisc01ip01in*
alias: usb:v0489p*d*dc*dsc*dp*icFFisc01ip01in*
alias: usb:v413Cp8197d*dc*dsc*dp*ic*isc*ip*in*
[...]
Da questo posso vedere quali dispositivi devono essere rivendicati btusbe mi richiede di conoscere il nome del modulo in anticipo. In alcuni casi, tuttavia, non ho la minima idea del nome o dei moduli che supportano tale dispositivo.
L'hardware di rete è una di quelle categorie che sembra molto difficile da scoprire. Inoltre, i nomi lspcie lsusbsono talvolta inconcludenti o semplicemente sbagliati. Attualmente sto esaminando l'intero albero dei sorgenti del kernel, che non è così elegante.
- C'è un modo per elencare tutte le modalità di tutti i moduli (incluso il kernel integrato) in una volta sola in modo che io possa trovare una corrispondenza?
- Oppure, in alternativa, c'è un modo per interrogare il kernel per fornirmi i moduli del kernel che affermano che un tale dispositivo non possiedo?
Casi d'uso:
- Gli utenti che pongono qui domande a cui posso rispondere / duplicare verificando effettivamente che "il supporto è disponibile se esegui l'aggiornamento a ..." o "Prova rmmod module1; modprobe module2 come module2 sembra supportare anche il tuo dispositivo."
- Verifica dell'assistenza prima di acquistare hardware con conoscenza preliminare degli ID. Oltre a cercare con gli ID, posso quindi cercare segnalazioni di bug sul modulo del kernel stesso.
sudo apt-get install usb-modeswitch