salve a tutti, da qualche giorno sto cercando di abilitare il modulo interno bluetooth sul mio portatile TOSHIBA TECRA A8.
Da quello che ho visto in giro devo applicare una patch al modulo toshiba_acpi per poter abilitare sia il bluetooth che i tasti di funzione.
Ho trovato in rete una guida sulla ricompilazione del modulo del kernel e ho trovato anche il sito da dove scaricare le patch che chiaramente dovranno essere adattate all'attuale file sotto il kernel 2.6.24 (/drivers/acpi/toshiba_acpi.c)
ho generato un nuovo file toshiba_acpi.c con le modifiche e seguendo questi passi ho ricompilato solo il modulo in questione:
<br />cd /usr/src/linux<br />make oldconfig<br />make scripts<br />make prepare<br />cd /usr/src/linux/drivers/acpi<br />make -C /usr/src/linux M=$(pwd)<br />make -C /usr/src/linux M=$(pwd) modules_install<br />modprobe -r toshiba_acpi<br />cp -f toshiba_acpi.ko /lib/modules/2.6.24-laptop-1mdv/kernel/drivers/acpi/<br />cd /lib/modules/2.6.24-laptop-1mdv/kernel/drivers/acpi/<br />rm -f toshiba_acpi.ko.gz<br />gzip toshiba_acpi.ko<br />depmod -a<br />modprobe toshiba_acpi<br />
a quest'ultimo comando però mi sono visto restituire:FATAL: Error inserting toshiba_acpi (/lib/modules/2.6.24-laptop-1mdv/kernel/drivers/acpi/toshiba_acpi.ko.gz): Invalid module format
e fin quì pensavo fosse un problema di riscrittura del sorgente. Allora ho ricompilato il sorgente originale del kernel 2.6.24 con la stessa procedura e quì sorpresa....
al modprobe ho avuto lo stesso errore. Se però carico direttamente il modulo precompilato già presente nella mia /lib/modul/etc... tutto ok.
Chi mi aiuta ?
e' semplice da spiegare:
prima di caricare un modulo, il kernel controlla che tale modulo sia stato compilato con lo stesso compilatore e con lo stesso insieme di sorgenti del kernel; i sorgenti sono contraddistinti da una sigla (es 2.6.22.1-mdv) che e' nel Makefile
nei sorgenti del kernel che scarichi, Mandriva cambia la sigla aggiungendo una scritta "custom", quindi i moduli che compili tu non possono andare nei kernel mandriva.
per verifica, se guardi dmesg (o la fine di /var/log/messages, non ricordo) vedi perche' il modulo e' stato rifiutato
se questo e' quello che ti accade, hai 2 strade percorribili:
- o installi ed avvii il kernel che hai compilato, quindi il tuo modulo verra' accettato (ma non i altri moduli tipo ati invidia che comunque adesso non hai, altrimenti non saresti inciampato in questo problema)
- o apri il Makefile, rimuovi quella sigla "custom", ripulisci i sorgenti (make mrproper) e ricopili il modulo.