Suponha que eu conheça os IDs numéricos de produtos / fornecedores de hardware que não possuo aqui e deseje saber se há suporte para mim no kernel, posso fazer isso (exemplo de receptor 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*
[...]
A partir disso, posso ver quais dispositivos devem ser reivindicados btusb
e exige que eu saiba o nome do módulo com antecedência. Em alguns casos, no entanto, não tenho idéia do nome do (s) módulo (s) que suporta esse dispositivo.
O hardware de rede é uma dessas categorias que parece muito difícil de descobrir. Além disso, os nomes lspci
e lsusb
às vezes são inconclusivos ou simplesmente errados. Atualmente, estou pesquisando por toda a árvore de fontes do kernel, o que não é tão elegante.
- Existe uma maneira de listar todas as modalidades de todos os módulos (incluindo o incorporado no kernel) de uma só vez, para que eu possa encontrar uma correspondência?
- Ou, como alternativa, existe uma maneira de consultar o kernel para fornecer os módulos do kernel que reivindicam um dispositivo que eu não possuo?
Casos de uso:
- Usuários fazendo perguntas aqui, com as quais eu posso responder / enganar, verificando se "existe suporte se você atualizar para ..." ou "Tente rmmod module1; modprobe module2 como module2 parece também suportar seu dispositivo".
- Verificando o suporte antes de comprar o hardware com conhecimento prévio dos IDs. Além de pesquisar com os IDs, posso procurar relatórios de erros no próprio módulo do kernel.
sudo apt-get install usb-modeswitch
Respostas:
Se você reafirmar o problema como "Como posso executar
modinfo
em todos (ou alguns) módulos e selecionar parte da saída para uso posterior?", Você poderá usar este truque (deixei os comandos que usei para descobrir como obter para o resultado final):Este truque pode ser usado em outro lugar, divirta-se!
fonte