Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux Serial HOWTO: Posso usare pi&ugrave; di due porte seriali?</TITLE>
<LINK HREF="Serial-HOWTO-10.html" REL=next>
<LINK HREF="Serial-HOWTO-8.html" REL=previous>
<LINK HREF="Serial-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="Serial-HOWTO-10.html">Avanti</A>
<A HREF="Serial-HOWTO-8.html">Indietro</A>
<A HREF="Serial-HOWTO.html#toc9">Indice</A>
<HR>
<H2><A NAME="irqaddr"></A> <A NAME="s9">9. Posso usare pi&ugrave; di due porte seriali?</A></H2>

<P>Non avete bisogno di leggere questa sezione a meno che non intendiate utilizzare tre o pi&uacute; periferiche seriali ( assumendo il fatto che <EM>non</EM> avete una porta seriale).
<P>Il numero delle porte seriali &egrave; limitato dal numero di interrupt
(IRQ) e indirizzi di I/O che possiamo utilizzare. Queste non &egrave; una
limitazione di Linux, ma del bus del PC. Ad ogni porta seriale
<EM>deve</EM> essere assegnato un proprio indirizzo e dovrebbe avere il
proprio interrupt. Se due periferiche condividono lo stesso interrupt,
pu&ograve; funzionare correttamente se le due periferiche non operano
contemporaneamente (nella maggior parte dei casi sono i due
programmi che non devono essere in esecuzione assieme). Una periferica
seriale pu&ograve; essere un porta seriale, un modem interno, oppure una
scheda seriale multiporta. 
<P>
<P>Una scheda seriale multiporta sono appositamente progettate per
avere porte seriali multiple che condividono lo stesso interrupt per
tutte le porte sulla scheda. Linux riceve i dati da queste usando
differenti indirizzi di I/O per ogni porta sulla scheda.
<P>
<H2><A NAME="ss9.1">9.1 Scegliere gli interrupt per le periferiche seriali</A>
</H2>

<P>Il vostro PC normalmente ha <CODE>ttyS0</CODE> e <CODE>ttyS2</CODE> associate
all'IRQ 4, e <CODE>ttyS1</CODE> e <CODE>ttyS3</CODE> all'IRQ 3. Potete visualizzare
gli IRQ utilizzati digitando <EM>setserial /dev/ttyS2 </EM> ecc
ecc. Il contenuto di <CODE>/proc/interrupts</CODE> mostra alcuni di
questi. Per usare pi&ugrave; di una periferica seriale dovrete riassegnare
gli interrupt. Una buona scelta solitamente &egrave; quella di riutilizzare
l'interrupt della porta parallela. Il vostro PC normalmente ha IRQ 5 e
IRQ 7 per la porta parallela, ma poche persone usano due porte di
questo genere. Potete riassegnare uno di questi interrupt ad una porta
seriale e continuare ad usare felicemente la vostra porta
parallela. Avete bisogno dell'applicazione <CODE>setserial</CODE> per eseguire
questa operazione. In aggiunta, dovete fare alcuni tentativi con i
jumper della vostra scheda, consultate il manuale di questa per
maggiori informazioni. Impostate i jumper per l'IRQ che desiderate
per ciascuna porta. 
<P>
<P> 
Dovete impostare le cose in modo che esista un solo interrupt per ciascuna periferica seriale. Ecco come Greg ha configurato il suo sistema in <CODE>/etc/rc.d/rc.local</CODE> - dovete eseguire le modifiche in un file che viene eseguito all'avvio del sistema:
<P>
<BLOCKQUOTE><CODE>
<PRE>
/sbin/setserial /dev/ttyS0 irq 3        # il mio mouse serial
/sbin/setserial /dev/ttyS1 irq 4        # il mio terminale stupido Wyse
/sbin/setserial /dev/ttyS2 irq 5        # il mio modem Zoom
/sbin/setserial /dev/ttyS3 irq 9        # il mio modem USR
</PRE>
</CODE></BLOCKQUOTE>
<P>Impostazione standard degli IRQ:
<PRE>
              IRQ  0    Timer channel 0
              IRQ  1    Keyboard
              IRQ  2    Cascade for controller 2
              IRQ  3    Serial port 2
              IRQ  4    Serial port 1
              IRQ  5    Parallel port 2
              IRQ  6    Floppy diskette
              IRQ  7    Parallel port 1
              IRQ  8    Real-time clock
              IRQ  9    Redirected to IRQ2
              IRQ 10    non assegnato
              IRQ 11    non assegnato
              IRQ 12    non assegnato
              IRQ 13    Math coprocessor
              IRQ 14    Hard disk controller 1
              IRQ 15    Hard disk controller 2
</PRE>
<P>Non esiste una vera a propria regola per le scelte degli
interrupt. Assicuratevi solamente che questo non venga utilizzato
dalla scheda madre o da nessuna altra scheda presente nel Pc. Gli IRQ
2, 3, 4, 5 o 7 sono delle buone scelte. ``non assegnato'' significa
che non gli &egrave; assegnata nessuna scheda o periferica standard. Da
notare inoltre che gli IRQ 2 e IRQ 9 sono identici. Potete chiamarli 2
o 9, la periferica seriale fortunatamente funziona bene lo stesso. Se
possedete una scheda seriale con un connettore per un bus a 16-bit,
potete anche usare gli IRQ 10, 11, 12 oppure 15. 
<P>
<P> <EM>NON</EM> utilizzate gli IRQ 0, 1, 6, 8, 13 o 14! questi sono riservati alla scheda madre. Non sar&agrave; molto felice se gli usate i suoi IRQ prediletti! :) Quando avete impostato il tutto, controllate pi&ugrave; volte <CODE>/proc/interrupts</CODE> per assicurarsi che non ci siano conflitti hardware.
<P>
<H2><A NAME="ss9.2">9.2 Impostare gli indirizzi per le periferiche seriali</A>
</H2>

<P>Dopo di che, dovete impostare l'indirizzo della porta. Controllate il
manuale della vostra scheda per le impostazioni dei jumper. Come per
gli interrupt, pu&ograve; esistere una sola periferica seriale per ciascun
indirizzo. Le vostre porte sono usualmente configurate come segue: 
<BLOCKQUOTE><CODE>
<PRE>
ttyS0 indirizzo 0x3f8
ttyS1 indirizzo 0x2f8
ttyS2 indirizzo 0x3e8
ttyS3 indirizzo 0x2e8
</PRE>
</CODE></BLOCKQUOTE>

Scegliete quale indirizzo desiderate per ogni periferica seriale e impostate i jumper di conseguenza. Io ho il mio modem sulla porta <CODE>ttyS3</CODE>, il mio mouse su <CODE>ttyS0</CODE> e terminale su <CODE>ttyS2</CODE>.
<P>Quando riavviate il sistema, Linux dovrebbe riconoscere le porte
seriali all'indirizzo al quale le avete configurate. Gli IRQ di Linux
possono non corrispondere a quelli che avete impostato con i
jumper. Non preoccupatevi. Linux non esegue nessun riconoscimento
automatico degli IRQ, poich&eacute; questo pu&ograve; risultare fallimentare. Usate
<CODE>setserial</CODE> per dare a Linux l'IRQ corretto per la vostra scheda,
quello che avete impostato voi. Nel file <CODE>/proc/ioports</CODE>
troverete quali indirizzi di porte di I/O sono in uso dopo l'avvio di
Linux. 
<P>
<HR>
<A HREF="Serial-HOWTO-10.html">Avanti</A>
<A HREF="Serial-HOWTO-8.html">Indietro</A>
<A HREF="Serial-HOWTO.html#toc9">Indice</A>
</BODY>
</HTML>