Sophie

Sophie

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

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>PPP-over-minicom mini-HOWTO</TITLE>


</HEAD>
<BODY>
<H1>PPP-over-minicom mini-HOWTO</H1>

<H2>Winfried Tr&uuml;mper (
<A HREF="mailto:winni@xpilot.org">winni@xpilot.org</A>)</H2>v0.2 01 Maggio 1998
<P><HR>
<EM>Desiderate controllare il PPP utilizzando una utility controllata da
un men&ugrave;? Un database facile ma potente con i numeri di telefono del
vostro ISP? Volete vedere cosa succede quando vi loggate? Allora
questo mini-HOWTO &egrave; per voi!</EM>
<HR>
<H2><A NAME="s1">1. Introduzione</A></H2>

<P>PPP &egrave; diventato il protocollo standard per collegarsi ad
internet tramite connessione dialup. Il demone associato "pppd"
comprende una utility molto primitiva per il collegamento, che
gestisce bene solamente configurazioni molto semplici.
<P>Questo mini-HOWTO descrive una soluzione alternativa basata su
"minicom". 
<P>
<H2>1.1 Il programma terminale "minicom"</H2>

<P>"minicom" &egrave; un programma molto complicato per collegarsi ad
altri computer (ISP o BBS). Ha un men&ugrave; colorato, un database delle
connessioni dialup e un potente linguaggio di scripting. Cos&igrave;
viene idealmente adattato per l'uso in congiunzione con "pppd".
<P>
<H2>1.2 Commenti e critiche</H2>

<P>Sono solamente interessato a commenti e critiche che possano
migliorare questo mini-HOWTO. Non risponder&ograve; a domande generali
su Linux, PPP, SLIP o networking.
<P>
<H2>1.3 Bug conosciuti</H2>

<P>Al tempo della scrittura, sembrava che ci fossero alcuni bug in
"minicom", "runscript" e il metodo descritto sotto:
<UL>
<LI>"runscript" non aspetta che i programmi esterni finiscano
<BLOCKQUOTE><CODE>
<PRE>
print "blah"
! sleep 10
print "blup"
</PRE>
</CODE></BLOCKQUOTE>

Questo script esce immediatamente (ma non quando lo si analizza
tramite strace...) 
</LI>
<LI>"pppd" si impossessa del dispositivo seriale negandolo a minicom
(quando non alimentato da stdin)<BR> 
Sembra che Miquel van Smoorenburg (l'autore di minicom) sia troppo
occupato per mettersi a lavorare sul problema di cui sopra. Indi per
cui volontari sono benvenuti.</LI>
</UL>
<P>
<H2><A NAME="s2">2. Effettuare una chiamata con minicom</A></H2>

<P>Molte guide su PPP raccomandano di lasciare minicom dopo che &egrave;
stato usato per collegarsi. Ma non c'&egrave; in realt&agrave; alcuna
ragione per lasciare questo confortevole programma...
<P>
<H2>2.1 Configurare minicom</H2>

<P>Eseguite "minicom -s" e scegliete dal men&ugrave; la voce "Serial port
setup". La prima voce dovrebbe essere "Serial Device".  Questa
&egrave; l'opzione pi&ugrave; importante: il dispositivo seriale a cui
&egrave; collegato il vostro modem.  (Qualche volontario per fare in
modo che minicom gestisca pi&ugrave; dispositivi seriali alla volta?)
<P>Per avere il nome del file del dispositivo, al quale &egrave;
collegato il vostro modem, digitate i seguenti commandi:
<P>
<BLOCKQUOTE><CODE>
<PRE>
for i in 0 1 2 3
do
  if (chat -v -t 5 "" ATZ "" \\d "" ATZ OK "" &gt; /dev/ttyS$i &lt; /dev/ttyS$i)
  then
     echo "Modem in /dev/ttyS$i (= COM$[$i+1] sotto DOS)"
  else
     echo "Nessun Modem trovato in ttyS$i."
  fi
done
</PRE>
</CODE></BLOCKQUOTE>
<P>Il codice sopra assicura che il modem sia configurato
correttamente. Alcune persone hanno problemi con i modem
plug-and-play, il che dimostra che "plug-and-play" &egrave; pi&ugrave;
che una "lite" di mercato.
<P>Adesso provate a comporre un numero col comando "atdt5" (dt sta per
"componi usando il metodo a toni"). Se non sentite un dialtone,
controllate i cablaggi. Il vostro modem protester&agrave; con il
messaggio "no dialtone" e annuller&agrave; il comando. Se il vostro
sistema telefonico non ha un dialtone, potete voler dirlo al vostro
modem con "x3", perci&ograve; il comando da provare &egrave;
"atx3dt5".
<P>Se ottenete il dialtone, ma la composizione non ha effetto, allora
potete riprovare con il metodo "pulse dialing" (usate "dp" invece del
"dt" di prima). In ogni caso, premete la barra spazio per interrompere
l'ultimo comando.
<P>Prendete nota del comando che ha successo. Infine andate su "Modem and
dialing parameter setup" in minicom e modificate "Dialing prefix" per
adattarvi ai vostri bisogni. Potete inserire "l0m0" direttamente dopo
AT per spegnere lo speaker prima di prendere la linea telefonica.
<P>
<H2>2.2 Far partire PPP manualmente</H2>

<P>Pu&ograve; darsi che abbiate gi&agrave; provato a comporre il numero
telefonico del vostro ISP invece di "5". Avete visto caratteri
divertenti sullo schermo dopo il login (altrimenti, digitate "ppp")?
Risultano dal "pppd" (o equivalente) fatto partire all'altra parte
della linea. Se &egrave; cos&igrave;, potete provare a far partire il
pppd daemon sul vostro sistema e poi valutare i file di log.
<P>Per far partire "pppd" dentro minicom, potete definire un nuovo metodo
di upload (capite da soli come) o ridefinire l'opzione "kermit
program" dal men&ugrave; di configurazione "Filename and paths":
<P>
<BLOCKQUOTE><CODE>
<PRE>
A - Download directory :
B -   Upload directory :
C -   Script directory :
D -     Script program : /usr/bin/runscript
E -     Kermit program : /usr/sbin/pppd file /etc/ppp/mini_options
</PRE>
</CODE></BLOCKQUOTE>
<P>Adesso se vedete quei caratteri divertenti la prossima volta che vi
collegate al vostro ISP potete premere &lt;Alt-K> per far partire "pppd".
<P>Il resto di questo mini-HOWTO si occupa di automatizzare il processo
di login e di partenza di "pppd".
<P>
<H2>2.3 Valutare i file di log</H2>

<P>Sebbene io non voglia spiegare come PPP deve essere configurato, do un
breve consiglio su come leggere il file di log. Per estrarre le
informazioni essenziali dal file di log "/var/log/debug" (o
l'altervativo "/var/log/daemon.log") eseguite i comandi
<BLOCKQUOTE><CODE>
<PRE>
tail -n 40  /var/log/debug |\
        grep -E " pppd\[[0-9]*\]:" |\
        sed -e "s/^.*pppd\[/[/"
</PRE>
</CODE></BLOCKQUOTE>
<P>Dovreste vedere messaggi del tipo
<P>
<BLOCKQUOTE><CODE>
<PRE>
sent [LCP ConfReq id=0x1 &lt;mru 296>]
rcvd [LCP ConfRej id=0x1 &lt;mru 296>]
</PRE>
</CODE></BLOCKQUOTE>
<P>che indicano che abbiamo spedito una config-request per configurare la
"maximum receive unit" a 296. L'altro lato rifiuta questa opzione
("configuration rejected"). In questo caso ho solamente rimosso
l'opzione "mru" da "/etc/ppp/options" (vedete sotto).
<P>
<H2>2.4 Configurare un numero telefonico</H2>

<P>Se ci&ograve; che abbiamo visto sopra ha avuto successo, potete voler
immagazzinare un numero telefonico nel database di minicom. Premete
&lt;Alt-D> per vedere il men&ugrave; di composizione e usate i tasti cursore per
selezionare "Edit":
<BLOCKQUOTE><CODE>
<PRE>
A -  Name                : Xeno
B -  Number              : 022039697303
C -  Dial string #       : 1
D -  Local echo          : No
E -  Script              : /etc/ppp/login.script
F -  Username            : ppp-382
G -  Password            : top-secret
H -  Terminal Emulation  : VT102
I -  Backspace key sends : Delete
J -  Linewrap            : Off
K -  Line Settings       : Curr 8N1
</PRE>
</CODE></BLOCKQUOTE>
<P>Questa &egrave; una entry di esempio per collegarmi a uno dei miei
ISP. Lo script "/etc/ppp/login.script" viene mostrato sotto. Due
variabili speciali sono passate a questo script: $(LOGIN) e $(PASS)
che sono impostate ai valori scelti per username (F) e password
(G). Questa caratteristica rende minicom piuttosto flessibile perch&eacute;
avete bisogno di un solo script per automatizzare il vostro login a
molti ISP.
<P>
<H2>2.5 Uno script di login</H2>

<P>"minicom" fa partire lo script di login dopo che riceve la stringa
"CONNECT". Ad essere precisi, "minicom" non esegue lo script da solo
ma chiama l'utility "runscript" come sottoprocesso.
<P>Sotto c'&egrave; un esempio, &egrave; quello che uso per i miei ISP.
<P>
<BLOCKQUOTE><CODE>
<PRE>
# v1.0, 20.08.96 Winfried Tr&uuml;mper &lt;winni@xpilot.org>
print ""
print "Automatic login via /etc/ppp/login.script"

## uncomment if you need to press enter to get the prompt
#send ""

expect {
"ogin:"
"ogin&gt;"
"sername:"
"sername&gt;"
"NO CARRIER" exit 1
}
send "$(LOGIN)"
expect {
        "assword:"
        "assword&gt;"
        timeout 20
}
send "$(PASS)"
expect {
        "port"  send "ppp"
        "Start your PPP now"
        "}!}!}"
        timeout 10
}
print ""
print "Now switching into ppp-mode ..."
print ""

! /usr/sbin/pppd  file /etc/ppp/mini_options

print ""
print "the command   killall -TERM pppd   terminates pppd"
</PRE>
</CODE></BLOCKQUOTE>
<P>La capacit&agrave; di "runscript" di chiamare programmi esterni
&egrave; usata per far partire "pppd". Copiate il vostro file di
opzioni per ppp in "/etc/ppp/options.ttyS1" (dove dovete sostituire
"ttyS1" col dispositivo a cui il vostro modem &egrave; connesso) e
cancellate tutte le linee da /etc/ppp/options che sono specifiche per
il vostro modem (come "connect", "crtscts" o "modem"). Mettete le
opzioni che dovrebbero essere specifiche alla connessione ppp con
minicom in "/etc/ppp/mini_options". Una di queste opzioni dovrebbe
essere
<BLOCKQUOTE><CODE>
<PRE>
disconnect "chat '' '\d\d+++\d\dATH\r\c'"
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo &egrave; un must perch&eacute; "pppd" &egrave; alimentato dallo
standard input e non pu&ograve; scollegare il modem con
"crtscts". Ecco il mio /etc/ppp/mini_options:
<BLOCKQUOTE><CODE>
<PRE>
debug
-detach
defaultroute
netmask 255.255.255.0
mru 1500
mtu 1500
asyncmap 00000000
disconnect "chat '' '\d\d+++\d\dATH\r\c'"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>2.6 Connessione automatizzata alla partenza di minicom</H2>

<P>Usate l'opzione "-d" per comporre un certo numero telefonico all'avvio
di minicom. Potete anche provare
<P>
<BLOCKQUOTE><CODE>
<PRE>
open -sl -- minicom -d 1
</PRE>
</CODE></BLOCKQUOTE>
<P>Per mettere minicom su un'altra console (consultate il Consoles-Many
mini-HOWTO per i dettagli).
<P>
<H2>2.7 Estensioni future</H2>

<P>Poich&eacute; "pppd" &egrave; un demone non &egrave; stato designato
per interagire con l'utente o essere osservato. In questo modo
&egrave; ok. Dopo tutto, stiamo usando un sistema operativo
unix-like...
<P>La soluzione canonica &egrave; un backend. C'&egrave; qualche
volontario per lavorare a questo per minicom? Delle estensioni carine
potrebbero essere:
<P>
<UL>
<LI>generazione automatica della script di login guardando l'utente
che si collega manualmente </LI>
<LI>valutazione automatica del file di log con la correzione delle
opzioni </LI>
<LI>estrazione di messaggio come mostrato in 2.3.</LI>
</UL>
<P>Fine del PPP-over-minicom mini-HOWTO
<P>Traduzione italiana a cura di Nicola Girardi (
<A HREF="mailto:girardi@keycomm.it">girardi@keycomm.it</A>) 
</BODY>
</HTML>