Supposons que je connaisse les identifiants numériques de produit / fournisseur du matériel que je n'ai pas ici et que je veux savoir s'il y a un support pour moi dans le noyau, je peux le faire (exemple de récepteur 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*
[...]
À partir de là, je peux voir quels appareils doivent être réclamés btusb
et cela nécessite que je connaisse le nom du module au préalable. Dans certains cas cependant, je n'ai aucune idée du nom du ou des modules prenant en charge un tel périphérique.
Le matériel réseau est l'une de ces catégories qui semble très difficile à découvrir. De plus, les noms lspci
et lsusb
sont parfois peu concluants ou tout simplement faux. Je suis en train de parcourir l'ensemble de l'arborescence des sources du noyau, ce qui n'est pas si élégant.
- Existe-t-il un moyen de répertorier toutes les modalias de tous les modules (y compris ceux intégrés au noyau) en une seule fois afin que je puisse trouver une correspondance?
- Ou bien, existe-t-il un moyen d'interroger le noyau pour me fournir les modules du noyau revendiquant un tel périphérique que je ne possède pas réellement?
Cas d'utilisation:
- Les utilisateurs qui posent ici des questions auxquelles je peux répondre / duper en vérifiant que "le support est disponible si vous passez à ..." ou "Essayez rmmod module1; modprobe module2 car module2 semble également prendre en charge votre appareil."
- Vérifier le support avant d'acheter du matériel avec une connaissance préalable des identifiants. En plus de rechercher avec les ID, je peux ensuite rechercher des rapports de bogues sur le module du noyau lui-même.
sudo apt-get install usb-modeswitch
Réponses:
Si vous reformulez le problème comme "Comment puis-je exécuter
modinfo
sur tous (ou certains) modules et sélectionner une partie de la sortie pour une utilisation ultérieure?", Vous pouvez utiliser cette astuce (j'ai laissé les commandes que j'ai utilisées pour comprendre comment obtenir au résultat final):Cette astuce peut être utilisée ailleurs, amusez-vous!
la source