GNU/Linux >> Znalost Linux >  >> Ubuntu

Chyba při načítání modulu Btusb s jádrem 4.10.0-20-generic?

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)


Ubuntu
  1. Trasování jádra pomocí trace-cmd

  2. Nelze najít Module/Load/Conditional.pm [Řešení]

  3. Linux – poskvrněné jádro v Linuxu?

  1. Chyba při vytváření swapového prostoru pomocí Mkswap?

  2. Chyba národního prostředí při instalaci Apt-get?

  3. Jak přidat parametry modulu jádra?

  1. Kernel Panics S chybou „nelze otevřít kořenové zařízení“, kam mohu připojit možnost „root=“?

  2. Jak napsat svůj vlastní modul linuxového jádra s jednoduchým příkladem

  3. změny parametrů modulu jádra (pomocí /sys/module)