Installazione Modem Adsl PCI

Modello: Atlantis I-Storm (WAN) con chip Conexant

Tutto ciò che sarà indicato su questa guida è stato testato da me sulla
distribuzione Linux Slackware 10 con kernel 2.6.7.

0. Punto di partenza.
Come punto di partenza consiglio di visitare il sito

http://patrick.spacesurfer.com/linux_conexant_pci_adsl.html

In questo sito potrete scaricare tutto quello che vi serve e trovare le
indicazioni necessarie per l'installazione.
I punti che seguiranno saranno tutti basati su questo sito.
---------------------------------------------

1. Kernel and gcc compatibility
Seguite le indicazioni del sito.
---------------------------------------------

2. Kernel modules required
Seguite le indicazioni del sito.
---------------------------------------------

3. Tools and libraries required
Seguite le indicazioni del sito.
---------------------------------------------

4. Compile and install the linux driver
Prima di compilare e installare, bisognerà creare la directory
/etc/rc.d/init.d.
---------------------------------------------

5. Compile and install PPP over ATM
Il pacchetto che scaricherete dal sito ha un bug.
Quando compilavo PPP over ATM (ppp-2.4.0b2-patched), lanciando 'make'
mi restituiva le seguenti linee di errore

pppoe.c:216:28: missing terminating " character
pppoe.c: In function `open_device_pppoe':
pppoe.c:217: error: `maximum' undeclared (first use in this function)
pppoe.c:217: error: (Each undeclared identifier is reported only once
pppoe.c:217: error: for each function it appears in.)
pppoe.c:217: error: parse error before "allowed"
pppoe.c:217:52: missing terminating " character
make[3]: *** [pppoe.o] Error 1
make[3]: Leaving directory `/root/Desktop/ppp-2.4.0b2-patched/pppd/plugins/pppoe'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/Desktop/ppp-2.4.0b2-patched/pppd/plugins'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/Desktop/ppp-2.4.0b2-patched/pppd'
make: *** [all] Error 2

Allora sono andato a controllare le linee indicate nei sorgenti
per scoprire che si trattava solo di stringhe spezzate.
Riunendo tali stringhe tutto ha funzionato a meraviglia.
I files incriminati sono:

ppp-2.4.0b2-patched/pppd/plugins/pppoe/pppoe.c
ppp-2.4.0b2-patched/pppd/plugins/pppoe/pppoed.c

Vi consiglio di scaricare il pacchetto 'ppp-2.4.0b2-patched' a questo link:

http://xoomer.virgilio.it/uli55e/ppp240b2p.tar.bz2

Questo pacchetto contiene i files sopracitati corretti.
---------------------------------------------

6. Configure PPP to connect to your ADSL provider
In questa parte consiste la vera e propria guida dal momento che ciò che
viene indicato sul sito sopracitato non è valido per il modem in
questione. Innanzitutto andiamo a modificare i seguenti files:

1. modificate il file /etc/resolv inserendo i DNS primario e
secondario del vostro provider, nel seguente modo

nameserver 213.92.5.54
nameserver 194.20.8.1

Il file deve contenere solo e soltanto queste 2 righe. Questi DNS
sono di NGI, ognuno naturalmente metterà quelli del proprio
provider.

2. modificate il file /etc/ppp/options inserendo queste righe

#debug
defaultroute
usepeerdns
---------------------------------------------

7. Start ADSL connection to the internet
Questo punto consta di due sottopunti:

1. Allineamento modem
Per allineare il modem dovrete lanciare il comando

/etc/rc.d/init.d/cnxadslctl start.

Se non ci saranno segnalazioni di errori sentirete il ticchettio del
modem che cerca di allinearsi con la centrale telecom.
Credo che tutti vogliano allineare all'avvio, quindi inserite questo
cmd in rc.local. Potrete inoltre controllare lo stato di allineamento
lanciando il cmd:

/etc/rc.d/init.d/cnxadslctl status

Ripetete più volte questo cmd e quando la schermata vi dirà
'ADSL line connected' dandovi l'esatto downstreem e upstreem della
vostra connessione,allora il vostro modem sarà allineato e potrete
passare al punto seguente.

2. Accesso alla rete.
Ora per accedere alla rete dovrete lanciare pppd.
Ma il pppd che si trova in /usr/sbin/pppd non vi colleghera mai!
Provato. Esplorando la directory del driver troverete la guida di
mamma Conexant

CnxADSL-6.1.2.007-PIM-2.6-1.1/Instructions/ConexantLinuxADSL.pdf.

In questa guida al cap 6.4 scoprirete che per collegarvi dovrete
lanciare un pppd diverso, che nel nostro caso si trova in
ppp-2.4.0b2-patched/pppd/. Lanciate dunque questo pppd nel seguente
modo:

pppd plugin plugins/pppoatm.so 8.35 user "..." password "..."

dove user e password sono quelle assegnate dal provider.
lanciate il cmd

tail -f /var/log/messages

e dovreste ottenere

Aug 2 15:08:20 darkstar pppd[2995]: PPPoATM plugin_init
Aug 2 15:08:20 darkstar pppd[2995]: PPPoATM setdevname_pppoatm
Aug 2 15:08:20 darkstar pppd[2995]: PPPoATM setdevname_pppoatm - SUCCESS
Aug 2 15:08:20 darkstar pppd[2996]: pppd 2.4.0b1 started by root, uid 0
Aug 2 15:08:20 darkstar pppd[2996]: Using interface ppp0
Aug 2 15:08:20 darkstar pppd[2996]: Connect: ppp0 <--> 8.35
Aug 2 15:08:23 darkstar pppd[2996]: local IP address 81.174.5.20
Aug 2 15:08:23 darkstar pppd[2996]: remote IP address 194.185.0.65
Aug 2 15:08:23 darkstar pppd[2996]: primary DNS address 213.92.5.54
Aug 2 15:08:23 darkstar pppd[2996]: secondary DNS address 194.20.8.1

che tradotto in soldoni vuol dire che siete in rete!
Potete fare le prove di rito, ping, lynx o altro.
Se siete su X lanciate pure Konqueror.
---------------------------------------------

Come ultimo aiuto vi suggerisco uno script che attende l'allineamento del modem prima di lanciare pppd

#!/bin/bash
#ppp starter
#Attende di lanciare pppd finchè il modem ADSL non si allinea

ppptest ()
{
if [ "`cat /proc/net/atm/CnxAdsl\:0 | grep Connected | grep -v Not | wc -l | awk '{print $1}'`" != "0" ]
then
/root/adsl/ppp-2.4.0b2-p/pppd/pppd plugin /root/adsl/ppp-2.4.0b2-p/pppd/plugins/pppoatm.so 8.35 user "..." password "..."
else
sleep 5
ppptest
fi
}

ppptest
---------------------------------------------

Per qualsiasi errore o mancanza: antmor@ngi.it