Mám následující problém.
Potřebuji znovu zkompilovat modul btusb, abych mohl používat bluetooth s tímto patchem
Když jsem konečně spustil opravu, modul se nenačetl:
$ lsmod | grep bluetooth
bluetooth 557056 10 btrtl,btintel,bnep,btbcm
Pokusil jsem se načíst modul ručně a zobrazila se mi tato chyba:
$ sudo modprobe btusb
modprobe: ERROR: could not insert 'btusb': Exec format error
Poslední věc, kterou jsem zkusil, byla kompilace a načtení vanilkového kódu, ale zobrazila se stejná chyba.
Může to být chyba ve zdrojovém kódu z btusb?
Pokud je odpověď ano, nahlásím chybu na launchpad, ale pro jistotu jsem to napsal sem. Více informací jsem uvedl zde
Děkujeme za pokročilé.
Aktualizace:
více informací o modulu:
$ modinfo btusb | egrep 'filename|vermagic'
filename: /lib/modules/4.10.0-20-generic/kernel/drivers/bluetooth/btusb.ko
vermagic: 4.10.8 SMP mod_unload
Přijatá odpověď:
Musíte se vrátit do adresáře drivers/bluetooth vašeho zdrojového kódu a poté
make -C /lib/modules/$(uname -r)/build M=$(pwd) clean
cp /usr/src/linux-headers-$(uname -r)/.config ./
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth
sudo modprobe -r btusb
sudo modprobe -v btusb
K chybě došlo, protože zdrojový kód byl zkompilován na nesprávné hlavičce jádra. modinfo
výsledky to potvrzují, protože vermagické informace (kernel 4.10.8) neodpovídají názvu souboru (4.10.0-20)