Avanti Indietro Indice

3. Setup generale e moduli del kernel

3.1 Supporto dei moduli del kernel

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

3.2 ISA Plug-n-Play

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 è:

  1. Configurate, se possibile, il vostro BIOS come "Non-PNP OS."
  2. Come root, eseguite pnpdump per generare un prototipo di file isapnp.conf basato sulle schede testate e sulle risorse attualmente utilizzate dal vostro sistema.
  3. Cercate l'output del modem e decommentate le linee corrispondenti all'IRQ (altrimenti inutilizzato) che desiderate utilizzare per il modem. Per esempio, il file 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.

  4. Copiate il file in /etc/isapnp.conf
  5. Fate il reboot. Al boot dovrebbe apparire un messaggio tipo 'Initializing ISA PNP devices...OK'. Se ciò non succede, avete probabilmente scelto una configurazione IRQ/DMA che è già utilizzata; provate un'altra delle opzioni fornite dall'output di 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.

3.3 Modems PCI

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.

3.4 Strumenti per i moduli

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.

insmod -f

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.

rmmod

Si può scaricare un modulo (rimuoverlo dal kernel) dopo l'uso dando il comando rmmod.

depmod

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.o
Nell'esempio specifico di ltmodem.o compilato con un kernel 2.2.12 che gira sotto 2.2.17, le informazioni fornite includono: Utilizzare un modulo con simboli irrisolti (unresolved symbols) può essere rischioso, come descritto sotto.


Avanti Indietro Indice