Sophie

Sophie

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

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>Linux PPP HOWTO: Configurare il proprio modem e la porta seriale</TITLE>
 <LINK HREF="PPP-HOWTO-10.html" REL=next>
 <LINK HREF="PPP-HOWTO-8.html" REL=previous>
 <LINK HREF="PPP-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="PPP-HOWTO-10.html">Avanti</A>
<A HREF="PPP-HOWTO-8.html">Indietro</A>
<A HREF="PPP-HOWTO.html#toc9">Indice</A>
<HR>
<H2><A NAME="Modem"></A> <A NAME="s9">9. Configurare il proprio modem e la porta seriale</A></H2>

<P>Ci si dovrebbe assicurare che il proprio modem sia impostato
correttamente e conoscere a quale porta seriale &egrave; connesso.
<P>
<P><B>Si ricorda</B>:
<UL>
<LI>DOS com1: = Linux /dev/cua0 (e /dev/ttyS0)</LI>
<LI>DOS com2: = Linux /dev/cua1 (e /dev/ttyS1)<BR>
eccetera</LI>
</UL>
<P>
<P>Non &egrave; male ricordare che se si hanno 4 porte seriali, la
configurazione predefinita dei PC &egrave; di avere la com1 e la com3 che
condividono IRQ4 e la com2 e la com4 che condividono IRQ3.
<P>
<P>Se si hanno dispositivi su una porta seriale standard che condivide un
IRQ con il proprio modem, probabilmente si avranno dei problemi.  Ci
si deve assicurare che la porta seriale a cui &egrave; connesso il modem abbia
un IRQ di sua propriet&agrave; e non condiviso.  Molte schede seriali moderne
(e le porte seriali sulle schede madri di buona qualit&agrave;) permettono
di spostare l'IRQ delle porte seriali.
<P>
<P>Se si usa un kernel versione 2 di Linux, si possono vedere quali IRQ
sono in uso con <CODE>cat /proc/interrupts</CODE>, che produrr&agrave; un output
simile a:
<HR>
<PRE>
 0:    6766283   timer
 1:      91545   keyboard
 2:          0   cascade
 4:     156944 + serial
 7:     101764   WD8013
10:     134365 + BusLogic BT-958
13:          1   math error
15:    3671702 + serial
</PRE>
<HR>
<P>
<P>Qui &egrave; mostrata una porta seriale sull'IRQ4 (un mouse) ed una porta
seriale sull'IRQ15 (la connessione PPP permanente via modem ad
Internet). Ci sono anche le porte seriali com2 su IRQ3, e la com4 su
IRQ14, ma non sono utilizzate e perci&ograve; non vengono mostrate.
<P>
<P>Attenzione: bisogna sapere quello che si fa quando si gioca con gli
IRQ! Non solo si deve aprire il proprio computer, tirare fuori le
schede e giocare con i jumper, ma si deve pure sapere cosa c'&egrave; su un
determinato IRQ. Nel mio caso ho un PC totalmente basato su SCSI, e
cos&igrave; ho disabilitato l'interfaccia IDE sulla scheda madre che
normalmente usano gli IRQ14 e 15!
<P>
<P>Si dovrebbe tener presente che se il proprio PC si avvia anche con
altri sistemi operativi, lo spostamento degli IRQ pu&ograve; far s&igrave; che tali
sistemi operativi non si avviino correttamente, o che non si avviino
affatto.
<P>
<P>Se si spostano le porte seriali su IRQ non standard, allora bisogna
dire a Linux qual &egrave; IRQ che ogni porta usa. Ci&ograve; &egrave; fatto usando
<CODE>setserial</CODE> ed &egrave; meglio farlo durante la sequenza di avvio del
sistema in <CODE>rc.local</CODE> o <CODE>rc.serial</CODE> che viene chiamato da
<CODE>rc.local</CODE> oppure come parte dell'inizializzazione SysV.  Per la
macchina descritta in precendenza, i comandi usati sono:
<HR>
<PRE>
/bin/setserial -b /dev/ttyS2 IRQ 11
/bin/setserial -b /dev/ttyS3 IRQ 15
</PRE>
<HR>
<P>
<P>Comunque, se si usa il modulo per le seriali e lo si fa caricare
dinamicamente quando necessario da <CODE>kerneld</CODE>, non si possono
impostare gli IRQ ed il resto e poi dimenticarsene una volta avviato
il sistema, in quando se il modulo viene scaricato, Linux si dimentica
delle impostazioni speciali.
<P>
<P>Quindi, se si fa caricare su richiesta il modulo per le seriali,
bisogna riconfigurare gli IRQ ed il resto ogni volta che viene
caricato il modulo.
<P>
<H2><A NAME="ss9.1">9.1 Una nota sulle porte seriali e le loro velocit&agrave;</A>
</H2>

<P>Se si usa un modem (esterno) ad alta velocit&agrave; (14,400 Baud o
superiore), la propria porta seriale dev'essere in grado di gestire il
flusso di dati che un tale modem &egrave; in grado di produrre, in
particolare quando il modem comprime i dati.
<P>
<P>Ci&ograve; richiede che la propria porta seriale usi un UART (Universal
Asynchronous Receiver Transmitter - Ricevitore/Trasmettitore Asincrono
Universale) moderno come un 16550(A). Se si usa una vecchia macchina
(o una vecchia scheda seriale), &egrave; abbastanza probabile che la propria
porta seriale abbia solamente un UART 8250, che pu&ograve; causere
considerevoli problemi quando utilizzata con un modem ad alta velocit&agrave;.
<P>
<P>Si usi il comando
<BLOCKQUOTE><CODE>
<PRE>
setserial -a /dev/ttySx
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>per far s&igrave; che Linux dica il tipo di UART in proprio possesso. Se non
si ha una UART del tipo 16550A, si investa un po' di soldi in una
nuova scheda seriale (disponibile a meno di $50). Una volta
comperata, ci si assicuri di poterne spostare gli IRQ!
<P>
<P>Nota: la prima versione del chip UART 16550 ha un errore. Questo &egrave;
stato scoperto quasi subito ed &egrave; stata rilasciata una revisione del
chip: l'UART 16550A. Comunque circolano un numero relativamente basso
di chip fallati. Non &egrave; facile incappare in uno di questi, ma comunque,
almeno per le schede abbastanza pregiate, si dovrebbe ottenere una
risposta al comando precedente che dice 16550A.
<P>
<H2><A NAME="ss9.2">9.2 Nomi delle Porte Seriali</A>
</H2>

<P>Storicamente, Linux usava i device <CODE>cuaX</CODE> per le chiamate in uscita
(dial out) e i device  <CODE>ttySx</CODE> per quelle in ingresso (dial in).
<P>
<P>La porzione del kernel che richiedeva ci&ograve; &egrave; stata cambiata nella
versione 2.0.x del kernel e si dovrebbero usare i <CODE>ttySx</CODE> sia per
il dial in che per il dial out. Da quel che ho capito i device
<CODE>cuaX</CODE> potrebbero benissimo scomparire in una versione futura del
kernel.
<P>
<H2><A NAME="ss9.3">9.3 Configurare il proprio modem</A>
</H2>

<P>Per usare PPP bisogna configurare correttamente il proprio modem. Per
far ci&ograve; <B>SI LEGGA IL MANULE DEL PROPRIO MODEM</B>! La maggior parte
dei modem hanno delle <B>impostazioni predefinite dal costruttore</B>
che selezionano le opzioni richieste per il PPP. La configurazione
minima richiede:
<UL>
<LI>Controllo di flusso hardware (RTS/CTS) (<CODE>&amp;</CODE>K3 in
molti modem Hayes)</LI>
</UL>
<P>Altre impostazioni (in comandi standard Hayes) che si dovrebbero
controllare sono:
<UL>
<LI>E1 Echo ON (richiesto per il funzionamento di chat)</LI>
<LI>Q0 Report result codes (richiesto per il funzionamento di chat)</LI>
<LI>S0=0 Auto Answer OFF (a meno che non si voglia che il proprio
modem risponda al telefono)</LI>
<LI><CODE>&amp;</CODE>C1 Carrier Detect ON solo dopo la connessione</LI>
<LI><CODE>&amp;</CODE>S0 Data Set Ready (DSR) sempre ON</LI>
<LI>(forse)   Data Terminal Ready</LI>
</UL>
<P>
<P>Esiste un sito che offre le impostazioni per un modem per una variet&agrave;
in continua crescita di costruttori e modelli di modem a 
<A HREF="http://www.in.net/info/modems/index.html">Modem setup information</A> che pu&ograve; tornare utile in questa operazione.
<P>
<P>Non &egrave; male neppure investigare sul funzionamento dell'interfaccia
seriale del modem usata per connetterlo al proprio computer. La
maggior parte dei modem permette di far funzionare tale interfaccia
a velocit&agrave; FISSA, mentre lasciano all'interfaccia con la linea
telefonica la possibilit&agrave; di variare la sua velocit&agrave; in modo da usare
quella pi&ugrave; alta che sia lei che la corrispondente nel modem remoto
riescono a gestire.
<P>
<P>Ci&ograve; &egrave; noto come funzionamento ``split speed''. Se il proprio modem lo
supporta, si blocchi l'interfaccia seriale del modem alla velocit&agrave;
pi&ugrave; alta disponibile (generalmente 115200 baud ma pi&ugrave; probabilmente
38400 baud per i modem a 14400).
<P>
<P>Si usi il proprio software di comunicazione (p.es. minicom o seyon)
per scovare la configurazione del proprio modem e per impostare quanto
richiesto per il PPP. Molti modem ritornano le loro impostazioni
correnti in risposta a AT<CODE>&amp;</CODE>V, ma si consulti comunque il
manuale del proprio modem.
<P>
<P>Se si fa un casotto con le impostazioni, si pu&ograve; ritornare alle
impostazioni sane (solitamente) dando il comando AT<CODE>&amp;</CODE>F che
riporta il modem alle impostazioni del costruttore (comunque per la
maggior parte dei modem che ho incontrato, le impostazioni di fabbrica
includono tutto quello che serve per il PPP - ma si dovrebbe comunque
controllare)
<P>
<P>Una volta scoperta la stringa di configurazione richiesta dal modem,
la si annoti da qualche parte. Ora ci sono due possibilit&agrave;: si possono
immagazzinare queste impostazioni nella memoria non volatile del modem
in modo da poter essere richiamate con un apposito comando AT, oppure
si pu&ograve; passare le impostazioni corrette al modem come parte del
processo di composizione del numero.
<P>
<P>Se si usa il proprio modem solamente da Linux per chiamare il proprio
ISP o server aziendale, la cosa pi&ugrave; semplice sar&agrave; salvare la propria
configurazione del modem nella RAM non volatile.
<P>
<P>Se d'altra parte, il proprio modem &egrave; usato da altre applicazioni e
sistemi operativi, &egrave; pi&ugrave; sicuro passare le informazioni al modem ogni
volta che viene fatta la chiamata cosicch&eacute; &egrave; garantito che il modem &egrave;
sempre nello stato corretto per la chiamata (ci&ograve; ha pure il vantaggio
aggiuntivo di registrare la stringa di configurazione del modem nel
caso il modem perda il contenuto della NV-RAM, che pu&ograve; sempre
succedere).
<P>
<H2><A NAME="ss9.4">9.4 Note sul controllo del flusso seriale</A>
</H2>

<P>Quando i dati viaggiano su linee di comunicazione seriale, pu&ograve;
capitare che i dati arrivino pi&ugrave; velocemente di quanto il computer
possa gestire (il computer potrebbe essere occupato a fare
qualcos'altro -- si ricordi che Linux &egrave; un sistema operativo
multi-utente e multi-processo). Per poter assicurare che i dati non
vengano persi (ovvero che i dati non superino la capacit&agrave; del buffer
d'ingresso e quindi vengano persi), sono necessari alcuni metodi per
controllare il flusso di dati.
<P>
<P>Nelle linee seriali ci sono due modi per farlo:
<UL>
<LI>Usando segnali hardware (Clear To Send/Request to Send -- CTS/RTS)</LI>
<LI>Usando segnali software (control S e control Q, noti anche come
XON/XOFF).</LI>
</UL>
<P>
<P>Mentre l'ultimo pu&ograve; andare bene per la connessione di un terminale
(testo), i dati in un collegamento PPP usano tutti gli 8 bit ed &egrave;
abbastanza probabile che da qualche parte nei dati ci siano dei byte
di dati che corrispondono a control S e control Q. Quindi, se il modem
&egrave; impostato per il controllo di flusso software, le cose possono
rapidamente andare in sfacelo!
<P>
<P>Per le connessioni ad alta velocit&agrave; che usano PPP (che usa dati a 8
bit) il controllo di flusso hardware &egrave; vitale ed &egrave; per questa ragione
che si deve usare questo tipo di controllo di flusso.
<P>
<H2><A NAME="ss9.5">9.5 Verificare il proprio modem per la connessione</A>
</H2>

<P>Ora che si &egrave; configurato il proprio modem e la porta seriale, &egrave; una
buona idea assicurarsi che queste impostazioni facciano realmente il
loro lavoro, chiamando il proprio ISP e verificando di potersi
connettere.
<P>
<P>Usando un pacchetto di comunicazione (come minicom), si imposti la
inizializzazione richiesta per il PPP e per chiamare il server PPP al
quale ci si vuole connettere in una sessione PPP.
<P>
<P>(Nota: a questo punto <B>NON</B> stiamo provando a fare una connessione
PPP, ma solo verificando di avere il numero di telefono giusto e di
scoprire <B>esattamente</B> cosa il server ci risponde per poter poi
fare il login ed avviare il PPP).
<P>
<P>Durante questo processo, si catturi (registrandolo su un file)
l'intero processo di login oppure si annoti accuratamente
(<I>molto accuratamente</I>) <B>esattamente</B> quello che il server
risponde per far capire che &egrave; il momento di inserire il proprio nome
utente e la propria password (e qualsiasi altro comando necessario
per stabilire una connessione PPP).
<P>
<P>Se il proprio server usa PAP, non si dovrebbe vedere una richiesta di
login, ma sul proprio schermo si dovrebbe invece vedere la
rappresentazione in modo testo del protocollo di controllo della
connessione (che assomiglia tanto a della spazzatura).
<P>
<P>Qualche avvertenza:
<P>
<UL>
<LI>alcuni server sono abbastanza intelligenti: si pu&ograve; fare il login
usando nome/password in modo testo oppure usando PAP. Quindi se il
proprio ISP o server aziendale usa PAP ma non si vede la spazzatura
partire immediatamente, ci&ograve; non vuol dire che si &egrave; fatto qualcosa in
modo errato;</LI>
<LI>alcuni server richiedono che inizialmente si immetta un po' di
testo e <I>poi</I> avviano una sequanza PAP standard;</LI>
<LI>alcuni server PPP sono passivi, ovvero stanno l&igrave; semplicemente
non spedendo niente finch&eacute; il client che sta facendo il dialing non
gli spedisce un pacchetto lcp valido. Se il server PPP a cui ci si sta
connettendo opera in modo passivo, non si vedr&agrave; mai la spazzatura!</LI>
<LI>alcuni server non avviano il PPP finch&eacute; non si preme ENTER,
quindi non &egrave; una cattiva idea provare a farlo se ci si &egrave; connessi
correttamente ma non si vede la spazzatura!</LI>
</UL>
<P>
<P>Non &egrave; male connettersi almeno un paio di volte -- alcuni server
cambiano i loro prompt (p.es. con il passare del tempo!) ogni volta
che ci si connette. I due prompt critici che la propria macchina Linux ha
necessit&agrave; di identificare ogni volta che si fa la connessione sono:
<UL>
<LI>il prompt che richiede di inserire il proprio nome utente;</LI>
<LI>il prompt che richiede di inserire la propria password.</LI>
</UL>
<P>
<P>Se si deve lanciare un comando per avviare il PPP nel server, &egrave;
necessario trovare anche il prompt che il server d&agrave; una volta che ci &egrave;
loggati per dire che ora &egrave; possibile inserire il comando per lanciare
il PPP.
<P>
<P>Se il proprio server, una volta loggati, lancia automaticamente il PPP
si inizier&agrave; a vedere un po' di spazzatura sullo schermo - queste sono
le informazioni che il server sta spedendo per avviare e configurare
la connessione PPP.
<P>
<P>Dovrebbero essere qualcosa di questo tipo:
<P>
<HR>
<PRE>
~y}#.!}!}!} }8}!}$}%U}"}&amp;} } } } }%}&amp; ...}'}"}(}"} .~~y}
</PRE>
<HR>
<P>(NdT: &egrave; questa la ``spazzatura'' a cui si faceva e si far&agrave;
riferimento.)
<P>
<P>Su alcuni sistemi il PPP deve essere esplicitamente avviato sul
server. Questo di solito &egrave; perch&eacute; il server &egrave; stato configurato per
permettere sia il login in PPP che il login con una shell usando la
stessa coppia nome utente/password. Se questo &egrave; il proprio caso, si
inserisca il comando una volta effettuato il login. Anche in questo
caso, si vedr&agrave; della spazzatura non appena viene avviato il lato
server della connessione PPP.
<P>
<P>Se non si vede la spazzatura immediatamente dopo la connessione (e
nemmeno dopo il login e l'avvio manuale del server PPP, se richiesti)
si prema <B>Enter</B> per vedere se almeno questo avvia il server PPP...
<P>
<P>A questo punto, si pu&ograve; "riattaccare" (N.d.T.: nel senso della cornetta
del telefono) il proprio modem (solitamente, battendo velocemente
<CODE>+++</CODE> e poi dando il comando ATHO una volta che il modem ha
risposto con OK).
<P>
<P>Se non si riesce a far andare il proprio modem, si legga il suo
manuale, le pagine man del software di comunicazione e il Serial
HOWTO! Una volta fatto questo, si rifaccia (per bene) quanto spiegato
in precedenza.
<P>
<HR>
<A HREF="PPP-HOWTO-10.html">Avanti</A>
<A HREF="PPP-HOWTO-8.html">Indietro</A>
<A HREF="PPP-HOWTO.html#toc9">Indice</A>
</BODY>
</HTML>