Tutti i kernel drivers qui elencati sono rilasciati come moduli del kernel, quindi dovete essere sicuri di avere un kernel che supporti i moduli. Inoltre, bisogna attivare il supporto per la "module version", al fine di adiuvare l'utilizzo di kernel e moduli che non siano della stessa versione, come verrà descritto più sotto.
Se utilizzate un kernel di una distribuzione di Linux ragionevolmente recente, molto probabilmente tale supporto dei moduli è già attivato. Se compilate il kernel da voi, allora già dovreste sapere come attivarne il supporto moduli, tramite il
Kernel HOWTO.
Ad ogni buon conto, potete sempre controllare che le seguenti righe siano presenti nel vostro file di configurazione del kernel (che di solito è situato sotto /usr/src/linux
):
CONFIG_MODULES=y CONFIG_MODVERSIONS=y
Se possedete un modem ISA Plug-n-Play dovrete verosimilmente avere isapnptools installato per allocare le risorse per la scheda modem.
Per fare ciò, oltre ad avere installato isapnptools, è necessario avere una linea per il modem nel file /etc/isapnp.conf
. Leggete le pagine di manuale ed il
Plug-and-Play-HOWTO, ma se non avete altri dispositivi ISA che vi interessano, fondamentalmente tutto quello da fare è:
pnpdump
per generare un prototipo di file isapnp.conf basato sulle schede testate e sulle risorse attualmente utilizzate dal vostro sistema.isapnp.conf
di Sean per un Thinkpad i1411 equipaggiato con un modem Lucent LT comprende:
(CONFIGURE ACRd119/1 (LD 0 (INT 0 (IRQ 11 (MODE +E))) (IO 1 (SIZE 8) (BASE 0x0100) (CHECK)) (NAME "ACRd119/1[0]{LT Win Modem }") # (ACT Y) ))Stranamente, almeno in questo caso, è stato necessario lasciare commentata la linea
#(ACT Y)
. Se per voi non funziona in questo modo, provate l'altro.
/etc/isapnp.conf
pnpdump
.
(Notate che probabilmente il reboot non è necessario se eseguite isapnp
con le giuste opzioni. Comunque è più semplice per l'utente inesperto fare un reboot.
Se desiderate maggiori notizie sul vostro modem PCI di quelle fornite da cat /proc/pci
possono essere preziose le utilità contenute nel pacchetto
pciutils
quali scanpci
e lspci
.
In particolare, lspci -vv
offre un notevole numero di informazioni, utili e preziose.
I comandi seguenti sono utili quando si ha a che fare con i moduli. Molti richiedono i privilegi di root. Consultate le pagine di manuale (p.es., man insmod
) per informazioni più dettagliate su questi comandi.
Un modulo con una versione corrispondente al kernel dovrebbe essere inserito con il comando modprobe
nome_modulo; modprobe
tenterà di inserire ogni altro modulo dal quale detto modulo dipenda (come determinato da depmod
, descritto sotto).
Un singolo modulo può essere inserito (senza i moduli da cui dipende) con il comando
insmod
nome_del_modulo.
Qualora il modulo fosse stato compilato con un kernel differente da quello corrente,insmod
segnalerebbe la mancata corrispondenza delle versioni e rifiuterebbe di caricare il modulo.
Si può, comunque, passare un'opzione per forzare il caricamento del modulo nonostante la mancata corrispondenza:
insmod -f
nome_del_modulo. Se il modulo utilizza un'interfaccia per il kernel che non cambia sostanzialmente con il cambiare della versione, il modulo verrà comunque inserito, e potrà essere più o meno funzionale.
E' questo il caso, per esempio, del modulo per il modem ESS esscom.o
che, nonostante sia compilato sotto la versione 2.2.12, può essere forzatamente inserito con kernel successivi, e funzionare in maniera più o meno estesa fino alla versione 2.2.14 senza ulteriori modifiche; oltre la versione 2.2.15, è invece richiesto il patch per tty.h
descritto oltre. L'inserimento forzato fallisce comunque con i kernels delle serie 2.4.
Si può scaricare un modulo (rimuoverlo dal kernel) dopo l'uso dando il comando rmmod
.
Il comando depmod
analizza le dipendenze dei moduli.
Si può testare la compatibilità di un modulo precompilato con il kernel corrente con un comando quale:
depmod -e ltmodem.oNell'esempio specifico di ltmodem.o compilato con un kernel 2.2.12 che gira sotto 2.2.17, le informazioni fornite includono: