Angenommen, ich kenne die numerischen Produkt- / Anbieter-IDs der Hardware, die ich hier nicht habe, und möchte wissen, ob der Kernel Unterstützung für mich bietet. Ich kann dies tun (Beispiel für einen USB-Bluetooth-Empfänger):
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*
[...]
Daraus kann ich ersehen, von welchen Geräten Ansprüche geltend gemacht werden sollen btusb
und es setzt voraus, dass ich den Modulnamen vorher kenne. In einigen Fällen habe ich jedoch keine Ahnung, welche Modulnamen ein solches Gerät unterstützen.
Netzwerkhardware ist eine dieser Kategorien, über die es sehr schwierig zu sein scheint, etwas herauszufinden. Außerdem sind die Namen lspci
und lsusb
manchmal nicht schlüssig oder einfach falsch. Ich bin gerade dabei, den gesamten Kernel-Source-Tree zu durchsuchen, was nicht so elegant ist.
- Gibt es eine Möglichkeit, alle Modaliases aller Module (einschließlich der im Kernel integrierten) auf einmal aufzulisten , damit ich eine Übereinstimmung finden kann?
- Oder gibt es alternativ eine Möglichkeit, den Kernel abzufragen, um mir die Kernelmodule zur Verfügung zu stellen, die behaupten, ein solches Gerät zu besitzen, das ich eigentlich nicht besitze?
Anwendungsfälle:
- Benutzer, die hier Fragen stellen, die ich beantworten / täuschen kann, indem sie tatsächlich überprüfen, ob "Unterstützung vorhanden ist, wenn Sie auf ... aktualisieren" oder "Probieren Sie rmmod module1; modprobe module2 als module2 scheint auch Ihr Gerät zu unterstützen".
- Überprüfung des Supports vor dem Kauf von Hardware mit vorheriger Kenntnis der IDs. Zusätzlich zur Suche mit den IDs kann ich dann auf dem Kernelmodul selbst nach Fehlerberichten suchen.
sudo apt-get install usb-modeswitch