Un metodo alternativo potrebbe essere quello di utilizzare le utility del pacchetto isapnptools, pnpdump e isapnp. Questo pacchetto consente di riconoscere le schede plug and play connesse al bus ISA (quindi nulla da fare per le PCI) e di assegnare i corretti valori per indirizzo base di I/O, IRQ, DMA, eccetera.
L'uso è relativamente semplice: innanzitutto è sempre meglio leggere la pagina man relativa alle due utility, in modo da rendersi conto con che cosa si ha a che fare e soprattutto delle opzioni possibili. Le pagine sono: isapnp(8), pnpdump(8) e isapnp.conf(5).
In seguito è possibile far interrogare il sistema da pnpdump, che provvederà a generare il file di configurazione. Una volta generato si andrà a leggere i parametri della scheda e ad utilizzarli per il passaggio dei valori corretti al kernel con isapnp.
Ecco il dettaglio delle operazioni:
generare il file di configurazione tramite pnpdump
# pnpdump > etc/isapnp.conf
esaminare il file /etc/isapnp.conf così generato in modo da selezionare le scelte opportune di configurazione e desumere i dati necessari per il kernel
compilare il kernel selezionando il supporto PNP con isapnp e il driver SCSI aha152x: è importante che entrambi siano selezionati con la medesima modalità ovvero monoliticamente oppure come modulo, al limite il supporto per isapnp monoliticamente e per aha152x come modulo ma non il contrario
se avete deciso di compilare il modulo del driver aha152x aggiungere a /etc/conf.modules (/etc/modprobe.conf per la versione 2.6 del kernel) i parametri del controller nel formato
options aha152x=iobase,IRQ,ID[,reconnect]
inserire in /etc/init.d, se non c'è già (Debian lo fa di default se si installa il pacchetto .deb e crea automaticamente i symlink per i runlevel), uno script di avvio di isapnp che punti al giusto file di configurazione. Con Slackware potete avviare isapnp semplicemente inserendo il comando in /etc/rc.d/rc.local). Questo passaggio non è più necessario con i kernel dalla versione 2.4 e seguenti se lo stesso è stato compilato con il supporto PNP per isapnp.
riavviare il PC con il nuovo kernel
Quando tenterete di usare una periferica connessa al controller e se avrete abilitato il caricamento automatico dei moduli in fase di compilazione del kernel, vi apparirà sullo schermo qualcosa di molto simile:
aha152x: processing commandline: ok aha152x: BIOS test: passed, detected 1 controller(s) aha152x0: vital data: PORTBASE=0x340, IRQ=11, SCSI ID=7, reconnect=enabled, parity=enabled, synchronous=disabled, delay=100, extended translation=disabled aha152x: trying software interrupt, ok. scsi0 : Adaptec 152x SCSI driver; $Revision: 1.18 $ scsi : 1 host. Vendor: HP Model: C5110A Rev: 3638 Type: Processor ANSI SCSI revision: 02 Detected scsi generic sga at scsi0, channel 0, ID2, lun 0 scsi : detected total.
Ciò significa che tutto è andato per il verso giusto. Altrimenti riguardate passo passo tutte le fasi dell'operazione, probabilmente qualcosa non è andato per il verso giusto, oppure ho scritto cavolate... :-) Comunque tra i due metodi a mio parere il migliore è il primo, ossia la disabilitazione del plug and play e relativa configurazione del controller via floppy.