Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1365

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Adaptec AVA 1505 mini-HOWTO</TITLE>


</HEAD>
<BODY>
<H1>Adaptec AVA 1505 mini-HOWTO</H1>

<H2>Lorenzo Pulici, (
<A HREF="mailto:snowdog@tiscalinet.it">snowdog@tiscalinet.it</A>)</H2>v0.6, 27 marzo 2000
<P><HR>
<EM>Questo mini-HOWTO nasce dall'esigenza di configurare correttamente
sotto Linux il controller SCSI Adaptec AVA 1505, disponibile in
diverse versioni e dal costo molto contenuto. I procedimenti
illustrati sono stati sperimentati su macchine Intel
equipaggiate con Debian 2.0 e kernel 2.0.35/36, Red Hat 6.1 e kernel 2.2.12, Debian 2.1 e kernel 2.2.13, Slackware 7 e kernel 2.2.13.</EM>
<HR>
<H2><A NAME="s1">1. Introduzione</A></H2>

<P>
<P>Questo documento &egrave; perennemente in lavorazione, per cui scaricate sempre l'ultima versione disponibile.
<H2>1.1 Changelog</H2>

<P>0.6 - inserita una spiegazione pi&ugrave; dettagliata di come
spostare nella giusta posizione il nuovo kernel ed un ulteriore modello di
controller AVA1505
<P>0.5 - inserito il suggerimento di modifica dei sorgenti del kernel
<P>0.4 - altre correzioni di ortografia, aggiornamento ai kernel 2.2
<P>0.3 - corretti altri errori di ortografia, inserito il paragrafo per l'installazione da lettore CD collegato al controller AVA1505, modificato l'url dove trovare questo documento
<P>0.2a - corretti alcuni errori di ortografia
<P>0.2 - inserito il passo riguardante la configurazione del BIOS della
scheda madre qualora non si avvii il programma del dischetto Adaptec
SCSI SELECT
<P>0.1 - versione iniziale :-)
<H2>1.2 LIberatoria</H2>

<P>
<P>Ho scritto questo documento con tutta l'accuratezza possibile ma se usate
le informazioni in esso contenute lo fate a vostro rischio e pericolo. In
nessun caso potr&ograve; essere ritenuto responsabile di eventuali danni causati
dall'utilizzo del presente mini-HOWTO.
<P>I marchi citati si intendono dei rispettivi proprietari.
<H2>1.3 Distribuzione</H2>

<P>L'ultima versione di questo documento &egrave; reperibile presso il seguente
indirizzo:
<P>
<A HREF="http://www.pluto.linux.it/ildp/">http://www.pluto.linux.it/ildp/</A> nella sezione intitolata ALTRI DOCUMENTI
<P>oppure
<P>
<A HREF="http://ellepi.hypermart.net/documenti/ava1505.html">http://ellepi.hypermart.net/documenti/ava1505.html</A><P>Critiche, correzioni, consigli e suggerimenti per migliorare questo testo
sono ben accetti. Contattatemi pure tramite posta elettronica.
<P>
<H2>1.4 Ringraziamenti</H2>

<P>Questo documento si basa, oltre che sulle mie esperienze, anche sui
consigli apparsi sui newsgroup it.comp.linux e it.comp.linux.setup ora it.comp.os.linux.sys e it.comp.os.linux.iniziare). Un grazie infinite a tutti coloro che frequentano i newsgroup! 
<P>Un grazie a Bruno Taglienti 
<A HREF="mailto:Bruno.Taglienti@roma1.infn.it">Bruno.Taglienti@roma1.infn.it</A> per avermi descritto la
configurazione del BIOS qualora il dischetto SCSI SELECT non veda il
controller. 
<P>Grazie anche a Mardy 
<A HREF="mailto:amardegan@iol.it">amardegan@iol.it</A> per aver suggerito la modifica diretta dei
parametri della scheda nel sorgente del driver aha152x.c
<P>Grazie anche a Murray Gibbins 
<A HREF="murray@scotweb.ltd.uk">murray@scotweb.ltd.uk</A> per avermi integrato alcuni dati 
<P>Un grazie anche a voi per avere letto fino a qui questo documento :-)
<P>
<P>
<H2><A NAME="s2">2. Il controller Adaptec AVA 1505</A></H2>

<P>Questo controller SCSI, installabile su bus ISA, &egrave; un prodotto
economico, anche se per il fatto di sfruttare proprio questo tipo di
bus non permette di sfruttare appieno le peculiarit&agrave; delle
interfacce SCSI e SCSI-2. Tuttavia &egrave; un'ottima alternativa per
esempio per installare prodotti SCSI (ad esempio masterizzatori o
lettori CD-ROM) ed ottenere migliori prestazioni rispetto ai
corrispondenti modelli EIDE, col vantaggio di non sovraccaricare la
cpu. 
Il controller AVA 1505 supporta fino a 7 periferiche SCSI. Inoltre ha
i suoi terminatori (quelli per il controller, per i terminatori delle
periferiche dovete far riferimento alle periferiche stesse!)
gi&agrave; preinstallati. Attenzione che se installate periferiche sia
esterne che interne il controller a questo punto si trover&agrave; nel
mezzo della catena SCSI, per cui i tre terminatori fissi vanno
rimossi. Comunque per la terminazione di controller e periferiche
&egrave; consigliabile approfondire un po' il tema: a tale proposito
in fondo al documento troverete un elenco di siti web da consultare. 
<P>C'&egrave; da puntualizzare una cosa, a scanso di equivoci: questo
controller non pu&ograve; fare il boot, quindi non &egrave; possibile
installarvi l'hard disk principale. Comunque &egrave; a parer mio una
buona soluzione se non si hanno molti soldi da spendere. 
<P>Personalmente l'ho installato sia a casa (per pilotare il
masterizzatore) sia in ufficio (per lo scanner) e ne sono
soddisfatto. 
<P>Di questo controller ne esistono almeno due versioni:
<UL>
<LI>AVA 1505A - plug and play</LI>
<LI>AVA 1505</LI>
<LI>AVA 1505AE/AI</LI>
</UL>
<P>Ci sono anche alcune versioni che permettono il collegamento di
sole unit&agrave; interne. 
<P>
<H2><A NAME="s3">3. Installazione del controller</A></H2>

<P>Il controller AVA 1505 va montato in uno slot ISA libero. Per
questo procedimento non c'&egrave; molto da dire, solo di armarsi di
pazienza e di un cacciavite, e fare attenzione a non toccare con le
dita i contatti della scheda. 
<P>Intanto procuratevi anche i cavi necessari per il collegamento
delle periferiche SCSI e gli eventuali terminatori. 
<H2>3.1 Controller standard (non plug and play)</H2>

<P>Se il controller &egrave; del tipo normale, ossia non plug and play
(anche se mi sa che ne sono rimasti pochi in giro...), prima di
montarlo dovete assegnarli interrupt e indirizzo I/O di base. Per fare
ci&ograve; &egrave; sufficiente spostare alcuni ponticelli sulla
scheda, contrassegnati con J1: 
<BLOCKQUOTE><CODE>
<PRE>
PONTICELLO         IRQ
I09                 9
I10                10
I11                11
I12                12
</PRE>
</CODE></BLOCKQUOTE>

Di default viene assegnato l'11, il 9 viene sconsigliato per l'uso con
Windows (tenetene conto se sul vostro pc convivono sia Linux che il
pseudo OS di casa Microsoft). Per assegnare l'interrupt voluto
&egrave; sufficiente mettere il ponticello nella posizione relativa. 
<P>Passiamo poi ad assegnare alla scheda l'indirizzo base: qui sono
solo due le scelte, relative al solo ponticello ALT. A ponticello che
cortocircuita i due pin corrisponde l'indirizzo esadecimale 0x140, se
lo levate invece viene assegnato l'indirizzo 0x340. Ok, adesso si
pu&ograve; inserire la scheda nello slot prescelto e collegare poi i
vari cavi alle periferiche. 
<P>Memorizzate (meglio ancora, scriveteli su un foglio di carta) i
valori di I/O, IRQ e IDin quanto serviranno per l'ultimo passo,
quello della configurazione di lilo. 
<H2>3.2 Controller plug and play</H2>

<P>Secondo le intenzioni del produttore, dovrebbe essere sufficiente
inserire la scheda nel pc, accenderlo e vederlo funzionare... invece
non &egrave; cos&igrave; (e nemmeno proprio sotto Windows...). 
<P>In parte &egrave; cos&igrave;, nel senso che sulla scheda non
c'&egrave; assolutamente nulla da fare, va inserita nello slot e
basta. Il lavoro viene dopo. 
<H2><A NAME="s4">4. Configurare il controller Plug and Play</A></H2>

<P>Per configurare il controller AVA 1505 plug and play ci sono due vie
possibili: 
<UL>
<LI>disabilitare il plug and play</LI>
<LI>usare l'utility isapnptools</LI>
</UL>
<H2><A NAME="s5">5. Disabilitare il plug and play</A></H2>

<P>A computer spento, inserite nel drive a (ooops... /dev/fd0!) il
floppy SCSI SELECT fornito a corredo della scheda. &Egrave; un floppy
avviabile, e una volta acceso il PC dovreste trovarvi nel menu di
configurazione. 
<P>Nel caso il dischetto SCSI SELECT non vi trovi il controller,
riavviate il computer ed entrate nella configurazione del BIOS (di
solito premendo il tasto <CODE>DEL</CODE>) e modificate il setup in modo
che l'IRQ prescelto venga allocato al bus ISA. Non entro nel dettaglio
perch&eacute; la procedura pu&ograve; essere diversa da BIOS a BIOS:
consultate il manuale della vostra scheda madre. 
<P>
<P>
<P>Da questo menu provvedete
<UL>
<LI>a disabilitare il plug and play</LI>
<LI>ad impostare manualmente l'interrupt (io avevo problemi con il 9
perch&eacute; mi faceva conflitto con l'MPU-401 della Sound Blaster) </LI>
<LI>ad impostare l'indirizzo di I/O della scheda e lo SCSI ID(ho
lasciato quelli di default, rispettivamente 0x140 e 7) </LI>
</UL>
<P>Con la scelta dell'interrupt bisogna andare un po' per tentativi:
escluso il 9 (tra l'altro, non fidatevi delle indicazioni di Windows,
spesso sono errate, gli IRQ se li gira lui a piacimento!) per il conflitto 
con la scheda audio, ho tentato
prima col 10 e poi con l'11, ma in fase di inizializzazione della
scheda durante l'avvio di Linux mi dava il messaggio &quot;IRQ
possibly wrong&quot;. Il 12 invece &egrave; andato bene. 
Questo sul computer di casa, mentre quello dell'ufficio ha la scheda
impostata sull'IRQ 11. Quindi l'unico metodo valido &egrave; quello
sperimentale, del resto le pi&ugrave; grandi scoperte scientifiche le hanno fatte cos&igrave; ;-) 
<P>Anche in questo caso memorizzate (meglio ancora, scriveteli su un
foglio di carta) i valori di I/O, IRQ e ID in quanto serviranno per
l'ultimo passo, quello della configurazione di lilo. 
<H2><A NAME="s6">6. Ricompilare il kernel </A></H2>

<P>Di per s&egrave; esiste un howto apposito, e la tentazione di
rimandarvi alla sua lettura &egrave; molto forte... comunque in breve
riassumo qui i passi salienti da compiere per ottenere il supporto
SCSI inserito nel kernel. Per la procedura dettagliata di compilazione
del kernel fate riferimento al Kernel-HOWTO, idem per la compilazione
come modulo del supporto SCSI. 
<P>
<P>Innanzitutto entrate come root, indi portatevi nella directory dove si
trova il kernel. Chiaramente dovete averne installato i
sorgenti.<BR> 
<CODE># cd /usr/src/linux</CODE>
<P>Personalmente preferisco usare l'interfaccia a caratteri <CODE>make
menuconfig</CODE>, che trovo pi&ugrave; intuitiva di <CODE>make
config</CODE> e che soprattutto mi permette di tornare indietro senza
dover ricominciare tutto daccapo se faccio qualche errore oppure ho
qualche dubbio. 
<P>Per cui al prompt digitate<BR>
<CODE># make menuconfig</CODE>
<P>Dopo un po' di smacchinamento vi apparir&agrave; una schemata
pi&ugrave; o meno cos&igrave; 
<P>
<BLOCKQUOTE><CODE>
<PRE>

Linux Kernel v2.0.36 Configuration                                         

 -------------------------------- Main Menu --------------------------------
 x  Arrow keys navigate the menu.  &lt;Enter> selects submenus --->.          x
 x  Highlighted letters are hotkeys.  Pressing &lt;Y> includes, &lt;N> excludes, x
 x  &lt;M> modularizes features.  Press &lt;Esc>&lt;Esc> to exit, &lt;?> for Help.     x
 x  Legend: [*] built-in  [ ] excluded  &lt;M> module  &lt; > module capable     x
 x ----------------------------------------------------------------------- x
 x x      Code maturity level options  --->                              x x
 x x      Loadable module support  --->                                  x x
 x x      General setup  --->                                            x x
 x x      Floppy, IDE, and other block devices  --->                     x x
 x x      Networking options  --->                                       x x
 x x      SCSI support  --->                                             x x
 x x      Network device support  --->                                   x x
 x x      ISDN subsystem  --->                                           x x
 x x      CD-ROM drivers (not for SCSI or IDE/ATAPI drives)  --->        x x
 x x      Filesystems  --->                                              x x
 x --------(+)------------------------------------------------------------ x
 ---------------------------------------------------------------------------
 x                    &lt;Select>    &lt; Exit >    &lt; Help >                     x
 ---------------------------------------------------------------------------
</PRE>
</CODE></BLOCKQUOTE>
<P>Entrate nel menu SCSI Support e abilitate le seguenti voci:
<UL>
<LI>SCSI support</LI>
<LI>SCSI generic support</LI>
<LI>Verbose SCSI error reporting (kernel size +=12K)</LI>
</UL>
<P>L'ultima voce sarebbe anche superflua, ma &egrave; meglio
includerla almeno per gli esperimenti, dato che pu&ograve; fornire
informazioni utili per capire se e dove c'&egrave; un errore di
inizializzazione. Una volta collaudato il sistema si pu&ograve; anche
eliminare ricompilando il kernel senza, visto che si risparmiano ben
12 Kb. 
<P>ATTENZIONE: con i kernel 2.2.x se avete un lettore CD EIDE e state installando
il controller SCSI per un masterizzatore, consiglio di abilitare il supporto per CDROM SCSI e
di togliere quello per le unit&agrave; EIDE/ATAPI. Solo cos&igrave; facendo potrete fare delle
copie al volo di CD.
<P>Dovreste quindi avere una schermata come questa:
<BLOCKQUOTE><CODE>
<PRE>

Linux Kernel v2.0.36 Configuration                                         

 ------------------------------ SCSI support -------------------------------
 x  Arrow keys navigate the menu.  &lt;Enter> selects submenus --->.          x
 x  Highlighted letters are hotkeys.  Pressing &lt;Y> includes, &lt;N> excludes, x
 x  &lt;M> modularizes features.  Press &lt;Esc>&lt;Esc> to exit, &lt;?> for Help.     x
 x  Legend: [*] built-in  [ ] excluded  &lt;M> module  &lt; > module capable     x
 x ----------------------------------------------------------------------- x
 x x   [*] SCSI support                                                  x x
 x x   --- SCSI support type (disk, tape, CD-ROM)                        x x
 x x   [ ] SCSI disk support                                             x x
 x x   [ ] SCSI tape support                                             x x
 x x   [ ] SCSI CD-ROM support                                           x x
 x x   [*] SCSI generic support                                          x x
 x x   --- Some SCSI devices (e.g. CD jukebox) support multiple LUNs     x x
 x x   [ ] Probe all LUNs on each SCSI device                            x x
 x x   [*] Verbose SCSI error reporting (kernel size +=12K)              x x
 x x   SCSI low-level drivers  --->                                      x x
 x ----------------------------------------------------------------------- x
 ---------------------------------------------------------------------------
 x                    &lt;Select>    &lt; Exit >    &lt; Help >                     x
 ---------------------------------------------------------------------------
                                                                            
</PRE>
</CODE></BLOCKQUOTE>
<P>Ed eccoci all'ultimo passo, quello di scegliere il driver a basso
livello per la nostra scheda AVA 1505. Entrate nella sezione SCSI
low-level drivers e selezionate il supporto per Adaptec AHA152X/2825. 
<P>
<BLOCKQUOTE><CODE>
<PRE>

Linux Kernel v2.0.36 Configuration                                         
                                                                            
 ------------------------- SCSI low-level drivers --------------------------
 x  Arrow keys navigate the menu.  &lt;Enter> selects submenus --->.          x
 x  Highlighted letters are hotkeys.  Pressing &lt;Y> includes, &lt;N> excludes, x
 x  &lt;M> modularizes features.  Press &lt;Esc>&lt;Esc> to exit, &lt;?> for Help.     x
 x  Legend: [*] built-in  [ ] excluded  &lt;M> module  &lt; > module capable     x
 x ----------------------------------------------------------------------- x
 x x[ ] 7000FASST SCSI support                                           x x
 x x[*] Adaptec AHA152X/2825 support                                     x x
 x x[ ] Adaptec AHA1542 support                                          x x
 x x[ ] Adaptec AHA1740 support                                          x x
 x x[ ] Adaptec AIC7xxx support                                          x x
 x x[ ] AdvanSys SCSI support                                            x x
 x x[ ] Always IN2000 SCSI support                                       x x
 x x[ ] AM53/79C974 PCI SCSI support                                     x x
 x x[ ] AMI MegaRAIDsupport                                             x x
 x x[ ] BusLogic SCSI support                                            x x
 x --(+)------------------------------------------------------------------ x
 ---------------------------------------------------------------------------
 x                    &lt;Select>    &lt; Exit >    &lt; Help >                     x
 ---------------------------------------------------------------------------
                                                                            
</PRE>
</CODE></BLOCKQUOTE>
<P>Se non avete altri controller SCSI assicuratevi che non siano
inseriti i loro driver nel kernel. Non danno fastidio, ma vi fanno sprecare memoria inutilmente, 
dato che carichereste drivers inutili :-)
<P>
<P>Dopodich&eacute; uscite dal menu e salvate la configurazione, indi
iniziate la compilazione del kernel come al solito:<BR> 
<CODE># make dep ; make clean ; make Zimage</CODE>
<H2><A NAME="s7">7. Passaggio dei parametri della scheda al kernel</A></H2>

<P>Diversi driver del kernel per controller SCSI prevedono il
passaggio di indirizzo I/O, IRQ e ID in fase di compilazione del
kernel. Abbiamo gi&agrave; visto che per&ograve; non &egrave; il caso
per l'Adaptec AVA 1505. Allora come fare? 
<H2>7.1 Passaggio diretto al boot</H2>

<P>All'apparire del prompt del boot digitare il comando
<CODE>append</CODE> seguito dai parametri nell'ordine
<CODE>iobase,IRQ,id[,reconnect]</CODE>. Esempio pratico:<BR> 
<CODE>append=0x340,11,7</CODE>
<H2>7.2 Lilo</H2>

<P>Se avviate il PC con lilo (quindi avete pi&ugrave; di un sistema
operativo sul vostro pc, oppure vi diverte avere pi&ugrave; kernel sul
vostro disco in modo da partire con differenti configurazioni) i
parametri di inizalizzazione della scheda vanno inseriti in
<CODE>/etc/lilo.conf</CODE>. 
<P>Vi do un esempio tratto dal mio <CODE>/etc/lilo.conf</CODE>:<BR>
<BLOCKQUOTE><CODE>
<PRE>

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
vga=9
timeout=50
image=/vmlinuz
        label=linux
        append="aha152x=0x340,11,7"
        root=/dev/hdb1
        read-only
image=/boot/vmlinuz-2.2.5
        label=new
        append="aha152x=0x340,11,7"
        root=/dev/hdb1
        read-only
</PRE>
</CODE></BLOCKQUOTE>
<P>Come vedete i parametri sono stati inseriti nella riga che comincia
con <CODE>append</CODE> nello stesso ordine del caso precedente, l'unica
differenza &egrave; che sono stati posti tra virgolette. 
<P>Una volta salvato il file dovete fare in modo che lilo sappia della
modifica, perci&ograve; date il comando<BR> 
<CODE># /sbin/lilo</CODE>
<P>Naturalmmente il kernel gi&agrave; compilato dovr&agrave; essere
spostato nel punto giusto (nel mio caso nella directory root del
sistema, su RedHat nella directory <CODE>/boot</CODE>), ed essere rinominato
vmlinuz.
<P>Per fare ci&ograve; &egrave; sufficiente digitare:
<BLOCKQUOTE><CODE>
<PRE>
# cp /usr/src/linux/arch/i386/boot/zImage /vmlinuz
</PRE>
</CODE></BLOCKQUOTE>

Naturalmente se in fase di compilazione del kernel avete dato il comando
<CODE>make bzImage</CODE> dovrete scrivere bzImage al posto di zImage. Date
poi un <CODE>/sbin/lilo -v</CODE> per informare lilo delle vostre modifiche.
<P>
<H2>7.3 Modifica dei sorgenti del kernel</H2>

<P>Questa operazione &egrave; per soli esperti: si declina qualsiasi
responsabilit&agrave; per eventuali danni al vostro sistema.
<P>&Egrave; possibile andare a modificare direttamente i makefile del
kernel, nello specifico il file
<CODE>/usr/src/linux/drivers/scsi/Makefile</CODE>, ovvero il makefile che
sovrintende alla compilazione dei driver SCSI. Seguendo queste
istruzioni non sar&agrave; necessario passare opzioni n&eacute; a LILO n&eacute; a insmod.
<P>Dovete andare a cercare la riga (nel mio 2.2.13 &egrave; la sedicesima) che
recita
<BLOCKQUOTE><CODE>
<PRE>

CFLAGS_aha152x.o =   -DDEBUG_AHA152X -DAUTOCONF
</PRE>
</CODE></BLOCKQUOTE>

e modificarla come segue:
<BLOCKQUOTE><CODE>
<PRE>

CFLAGS_aha152x.o =   -DDEBUG_AHA152X -DSETUP0="{0x340, 11, 7, 1, 1, 0, 100, 0}"
</PRE>
</CODE></BLOCKQUOTE>

se il vostro controller AVA 1505 &egrave; sull'indirizzo di I/O 0x340, ha un
IRQ pari a 11 e uno SCSI ID di 7 (gli altri potete lasciarli come
nell'esempio). L'esatta sintassi la trovate indicata nel file
<CODE>/usr/src/linux/drivers/scsi/aha152x.c</CODE>.
<P>Una cosa fondamentale da fare &egrave; comunque accertarsi della correttezza
dei parametri rilevandoli col dischetto Adaptec SCSI SELECT, altrimenti
la scheda non sar&agrave; riconosciuta.
<H2>7.4 La prova del fuoco</H2>

<P>Ovvero: chiss&agrave; se ho scritto un sacco di fesserie oppure
funziona tutto :-)) 
<P>Siamo arrivati al dunque. Con un bel saluto a tre dita (ovvero
premendo CTRL+ALT+DEL) riavviate il computer in modo da fargli leggere
il nuovo kernel. 
<P>Durante la fase di avvio dovreste riuscire a leggere un messaggio
di questo tenore: 
<BLOCKQUOTE><CODE>
<PRE>
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.
</PRE>
</CODE></BLOCKQUOTE>
<P>Se i messaggi si susseguono troppo velocemente, una volta loggati
nel sistema potete rileggerli col comando<BR> 
<CODE># dmesg | less</CODE>
<P>In questo caso il kernel ha trovato un controller SCSI
all'indirizzo 0x340, con IRQ 11 e IDSCSI 7. Inoltre mi dice che a
quel controller &egrave; connessa una periferica identificabile come
HP C5110A, alla quale ha assegnato il device <CODE>/dev/sga</CODE> e si
trova sul bus SCSI 0 con ID2. Chiaramente la vostra situazione
sar&agrave; diversa... 
<P>Se per disgrazia non dovesse trovarvi il controller, il kernel vi
far&agrave; partecipi del suo dolore con il messaggio<BR> 
<CODE>scsi : 0 detected total.</CODE> 
<P>In questo caso, prima di iniziare a mandarmi improperi di vario
genere vi chiedo di ricontrollare tutti i passi che avete fatto. Nel
caso malaugurato che non ci sia proprio nulla da fare allora
contattatemi, magari sono io che ho scritto qualche fesseria. A me
comunque questo metodo ha funzionato alla perfezione (in due casi,
dato che sono due le macchine che posso usare...). 
<H2><A NAME="s8">8. Inizializzazione con isapnptools</A></H2>

<P>Un metodo alternativo potrebbe essere quello di utilizzare le
utility del pacchetto isapnptools, <CODE>pnpdump</CODE> e
<CODE>isapnp</CODE>. 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. 
<P>L'uso &egrave; relativamente semplice: innanzitutto &egrave; 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: <CODE>isapnp(8)</CODE>,
<CODE>pnpdump(8)</CODE> e <CODE>isapnp.conf(5)</CODE>. 
<P>In seguito &egrave; possibile far interrogare il sistema da
<CODE>pnpdump</CODE>, che provveder&agrave; a generare il file di
configurazione. Una volta generato si andr&agrave; a leggere i
parametri della scheda e ad utilizzarli per il passaggio dei valori
corretti al kernel con <CODE>isapnp</CODE>. 
<P>Ecco il dettaglio delle operazioni:<BR>
<UL>
<LI>generare il file di configurazione tramite <CODE>pnpdump</CODE><BR>
<CODE>pnpdump > /etc/isapnp.conf</CODE><BR></LI>
<LI>esaminare il file <CODE>/etc/isapnp.conf</CODE> cos&igrave; generato
in modo da selezionare le scelte opportune di configurazione e
desumere i dati necessari per il kernel<BR> </LI>
<LI>compilare il kernel (vedi capitolo precedente) inserendo il
supporto SCSI per la aha152x come <B>modulo</B>. Questo
perch&eacute; <CODE>isapnp</CODE> verr&agrave; avviato dopo il caricamento
del kernel: se il supporto aha152x &egrave; direttamente inglobato nel
kernel lo stesso non trover&agrave; alcuna scheda, mentre se caricato
come modulo la scheda verr&agrave; prima riconosciuta da
<CODE>isapnp</CODE>, poi quando si inserir&agrave; il modulo relativo,
manualmente o automaticamente, la scheda verr&agrave; finalmente
riconosciuta e resa disponibile a Linux. Naturalmente dovrete
ricordarvi di abilitare il caricamento automatico dei moduli,
altrimenti dovrete darvi da fare con <CODE>insmod</CODE> alla bisogna. </LI>
<LI>aggiungere a <CODE>/etc/conf.modules</CODE> i parametri del
controller nel formato<BR> 
<CODE>options aha152x=iobase,IRQ,ID[,reconnect]</CODE><BR></LI>
<LI>inserire in <CODE>/etc/init.d</CODE>, se non vi &egrave; di
gi&agrave; (Debian lo fa di default se si installa il pacchetto
<CODE>.deb</CODE> e crea automaticamente i symlink per i runlevel) uno
script di avvio di <CODE>isapnp</CODE> che punti al giusto file di
configurazione<BR> </LI>
<LI>riavviare il PC con il nuovo kernel</LI>
</UL>
<P>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&agrave; sullo schermo qualcosa di
molto simile: <BR> 
<BLOCKQUOTE><CODE>
<PRE>
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.
</PRE>
</CODE></BLOCKQUOTE>
<P>Ci&ograve; significa che tutto &egrave; andato per il verso giusto.
Altrimenti riguardate passo passo tutte le fasi dell'operazione,
probabilmente qualcosa non &egrave; andato per il verso giusto, oppure
ho scritto cavolate... :-) 
Comunque tra i due metodi a mio parere il migliore &egrave; il primo,
ossia la disabilitazione del plug and play. 
<H2><A NAME="s9">9. Il lettore CD collegato al controller</A></H2>

<P>Tutto quanto sopra descritto &egrave; poco utile se il vostro lettore CD &egrave; collegato al controller in oggetto e dovete ancora installare Linux. Tenete conto che questo controller non supporta il boot in quanto sprovvisto di BIOS, per cui per l'installazione di Linux &egrave; giocoforza crearsi i dischetti di boot con l'utility rawrite presente sul CD di installazione, cos&igrave; come le immagini dei floppy.
<P>La procedura descritta qui sotto funziona unicamente per le distribuzioni pi&ugrave; aggiornate che hanno modularizzato tutti i driver disponibili nel kernel, ossia RedHat 6.x, Suse 6.x e Slackware 7. Credo sia possibile, anzi lo sar&agrave; sicuramente, anche con la Debian 2.1, ma non ho provato :-) quindi aspetto eventuali feedback da qualcuno.
<P>Prima ancora di iniziare tutto il lavoro &egrave; bene prendere il dischetto SCSI SELECT della Adaptec e con esso riavviare il computer. Partir&agrave; automaticamente l'utility per configurare l'AVA1505, provvedete a disabilitare il plug and play e segnatevi su un foglietto di carta i parametri di indirizzo I/O, IRQ e ID SCSI. Non fidatevi assolutamente delle indicazioni di Windows! Col plug and play abilitato il simpatico (si fa per dire) sistema operativo modifica a suo piacimento questi parametri, dando indicazioni assolutamente poco affidabili. &Egrave; quindi da preferirsi la disabilitazione del pnp.
<P>Potete quindi, una volta che vi siete creati i floppy di installazione, partire per mettere Linux sul vostro PC. Unica accortezza: al boot dovrete passare i parametri di inizializzazione del controller che avete rilevato e scritto sul vostro bravo foglietto di carta, nel formato
<BLOCKQUOTE><CODE>
<PRE>
aha152x=0x340,11,7
</PRE>
</CODE></BLOCKQUOTE>

nel caso l'indirizzo di I/O sia 0x340, l'IRQ sia 11 e l'ID SCSI 7. Molto semplice, dopotutto...
<P>
<H2><A NAME="s10">10. Links utili</A></H2>

<P>Il sito Adaptec
<A HREF="http://www.adaptec.com">http://www.adaptec.com</A><P>isapnptools
<A HREF="http://www.roestock.demon.co.uk/isapnptools/">http://www.roestock.demon.co.uk/isapnptools/</A><P>
<H2><A NAME="s11">11. Bibliografia</A></H2>

<P>
<P>Appunti Linux, Daniele Giacomini,
<A HREF="http://www.pluto.linux.it/ildp/AppuntiLinux/index.html">http://www.pluto.linux.it/ildp/AppuntiLinux/index.html</A>,
capitoli 15, 16, 17, 19 
<P>Kernel HOWTO, Lilo mini-HOWTO, Modules mini-HOWTO, Kerneld mini-HOWTO<BR>
 
Li trovate in traduzione italiana se disponibile (altrimenti
c'&egrave; il link all'originale) sul sito del PLUTO 
<A HREF="http://www.pluto.linux.it/ildp/HOWTO/HOWTO-INDEX-3.html">http://www.pluto.linux.it/ildp/HOWTO/HOWTO-INDEX-3.html</A> 
<P>SCSI HOWTO<BR>
&Egrave; un howto che non &egrave; pi&ugrave; manenuto e lo trovate
solo su sunsite o i suoi mirror in lingua inglese 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/unmaintained">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/unmaintained</A><P>La mia esperienza personale :-)
<P>
</BODY>
</HTML>