<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Linux Serial HOWTO: Che cosa rappresentano i nomi delle porte seriali?</TITLE> <LINK HREF="Serial-HOWTO-4.html" REL=next> <LINK HREF="Serial-HOWTO-2.html" REL=previous> <LINK HREF="Serial-HOWTO.html#toc3" REL=contents> </HEAD> <BODY> <A HREF="Serial-HOWTO-4.html">Avanti</A> <A HREF="Serial-HOWTO-2.html">Indietro</A> <A HREF="Serial-HOWTO.html#toc3">Indice</A> <HR> <H2><A NAME="s3">3. Che cosa rappresentano i nomi delle porte seriali?</A></H2> <P>Una porta di I/O è un mezzo che permette l'ingresso e l'uscita di dati da un computer. Esistono svariati tipi di porte I/O come, ad esempio, le porte seriali, parallele, controller per disk drive, schede ethernet, ecc. Qua tratteremo le porte seriali, dato che i modem e i terminali sono periferiche seriali. Ogni porta seriale deve avere un indirizzo di I/O, e un interrupt (IRQ). Esistono quattro porte seriali corrispondenti a COM1 - COM4: <P> <BLOCKQUOTE><CODE> <PRE> ttyS0 (COM1) indirizzo 0x3f8 IRQ 4 ttyS1 (COM2) indirizzo 0x2f8 IRQ 3 ttyS2 (COM3) indirizzo 0x3e8 IRQ 4 ttyS3 (COM4) indirizzo 0x2e8 IRQ 3 </PRE> </CODE></BLOCKQUOTE> Se Linux non riconosce nessuna porta seriale quando si avvia, allora assicuratevi che il supporto seriali sia attivato e compilato nel kernel. In questo documento, mi riferisco a COM1 come <CODE>ttyS0</CODE>, COM2 come <CODE>ttyS1</CODE>, COM3 come <CODE>ttyS2</CODE>, e COM4 come <CODE>ttyS3</CODE>. Da notare il fatto che per default Linux utilizza gli stessi indirizzi IRQ per più porte. Non potete usare tutte le porte con questa configurazione, e dovete re-assegnare le porte con differenti indirizzi IRQ. Potete fare riferimento alla sezione <A HREF="Serial-HOWTO-9.html#irqaddr">Posso usare più di due porte seriali?</A> per impostare gli IRQ. <P> <H2><A NAME="ss3.1">3.1 Periferiche: Modem, Mouse. </A> </H2> <P>In qualche installazione vengono create due periferiche addizionali: <CODE>/dev/modem</CODE> per il vostro modem e <CODE>/dev/mouse</CODE> per il mouse. Tutte e due sono link simbolici alla periferica appropriata in <CODE>/dev</CODE> che avete specificato durante l'installazione. <P> <P>Ci sono state discussioni sul merito di <CODE>/dev/mouse</CODE> e <CODE>/dev/modem</CODE>. Io scoraggio apertamente l'utilizzo di questi link. Ad esempio, se desiderate utilizzare il vostro modem per chiamare all'esterno potrete avere problemi poiché il lock file può non funziona correttamente con <CODE>/dev/modem</CODE>. Utilizzateli se li trovate comodi, ma <EM>assicuratevi che puntino alla periferica corretta</EM>. In ogni caso, se cambiate o rimuovete questi link, qualche applicazione (<CODE>minicom</CODE>per esempio ) andranno configurate nuovamente. <P> <H2><A NAME="ss3.2">3.2 La periferica <CODE>cua</CODE> </A> </H2> <P>Ogni periferica tty ha una corrispondere periferica cua. Si è discusso a lungo circa la rimozione delle cua poiché forse è meglio utilizzare le ttyS. La principale differenza tra cua e ttyS è che per un comune comando "open" ( senza argomenti ) all'interno di una applicazione, la cua aprirà ugualmente la porta anche se i segnali di controllo del modem ( come il DCD ) non lo permettono ( stty deve essere impostato per controllare i segnali del modem ). In una situazione del genere una porta ttyS si rifiuterebbe di aprire la porta, ma può essere forzata a farlo con parametri specifici ai comandi. <P> <H2><A NAME="ss3.3">3.3 Le porte seriali e la numerazione in <CODE>/dev</CODE></A> </H2> <P> <BLOCKQUOTE><CODE> <PRE> /dev/ttyS0 major 4, minor 64 /dev/cua0 major 5, minor 64 /dev/ttyS1 major 4, minor 65 /dev/cua1 major 5, minor 65 /dev/ttyS2 major 4, minor 66 /dev/cua2 major 5, minor 66 /dev/ttyS3 major 4, minor 67 /dev/cua3 major 5, minor 67 </PRE> </CODE></BLOCKQUOTE> Da notare che tutte le distribuzioni devono avere queste periferiche già impostate correttamente ( a meno che cua non venga abolita ). Potete verificare questo con: <P> <BLOCKQUOTE><CODE> <PRE> linux% ls -l /dev/cua* linux% ls -l /dev/ttyS* </PRE> </CODE></BLOCKQUOTE> <P> <H3><A NAME="dev"></A> Creare periferiche in <CODE>/dev</CODE></H3> <P>Se non trovate una periferica allora dovete crearla con il comando <CODE>mknod</CODE>. Se per esempio volete creare una periferica per <CODE>ttyS0</CODE>: <BLOCKQUOTE><CODE> <PRE> linux# mknod -m 666 /dev/cua0 c 5 64 linux# mknod -m 666 /dev/ttyS0 c 4 64 </PRE> </CODE></BLOCKQUOTE> Potete usare anche lo script <CODE>MAKEDEV</CODE>, che si trova in <CODE>/dev</CODE>. Questo semplifica la creazione di periferiche. Un altro esempio, sempre per creare una <CODE>ttyS0</CODE>: <BLOCKQUOTE><CODE> <PRE> linux# cd /dev linux# ./MAKEDEV ttyS0 </PRE> </CODE></BLOCKQUOTE> Questo script si occupa di creare le periferiche di ingresso e di uscita, e impostare correttamente i permessi. <P> <H2><A NAME="ss3.4">3.4 Piccole note per Schede Multiporta Non Intelligenti</A> </H2> <P>La periferica che viene utilizzata dalla vostra scheda multiporta dipende proprio dal tipo di scheda installata. Alcune di queste sono dettagliatamente descritte in <CODE>rc.serial</CODE> o in <CODE>0setserial</CODE> che si trova nel pacchetto <CODE>setserial</CODE>. Raccomando vivamente di prendere la più recente versione di <CODE>setserial</CODE> se state provando ad installare una scheda multiporta. Probabilmente avrete bisogno di creare queste periferiche. Potete utilizzare sia il comando <CODE>mknod</CODE> sia lo script <CODE>MAKEDEV</CODE>. Le periferiche per schede multiporta sono create aggiungendo ``64 + numero porta''. Quindi, se volete creare una periferica del tipo <CODE>ttyS17</CODE>, dovrete digitare: <P> <BLOCKQUOTE><CODE> <PRE> linux# mknod -m 666 /dev/cua17 c 5 81 linux# mknod -m 666 /dev/ttyS17 c 4 81 </PRE> </CODE></BLOCKQUOTE> Notate che ``64 + 17 = 81''. Usando invece lo script <CODE>MAKEDEV</CODE>, dovrete digitare: <BLOCKQUOTE><CODE> <PRE> linux# cd /dev linux# ./MAKEDEV ttyS17 </PRE> </CODE></BLOCKQUOTE> <P>Nota: il manuale SIIG per la IO1812 che descrive la COM5-COM8 è errato. Devono essere COM5=0x250, COM6=0x258, COM7=0x260, e COM8=0x268. <P>Nota: il registro di stato per l'interrupt della Digi PC/8 e'0x140. <P>Nota: per una AST Fourport dovrete specificare <CODE>skip_test</CODE> in <CODE>rc.serial</CODE>. <P> <H2><A NAME="ss3.5">3.5 Note per Schede Multiporta Intelligenti</A> </H2> <P>Leggete le informazioni che trovate assieme al driver. Queste schede utilizzano particolari periferiche, non quelle predefinite. Queste informazioni variano dipendentemente dall'hardware. <P> <HR> <A HREF="Serial-HOWTO-4.html">Avanti</A> <A HREF="Serial-HOWTO-2.html">Indietro</A> <A HREF="Serial-HOWTO.html#toc3">Indice</A> </BODY> </HTML>