Linux ADSL Howto

Olivier Poitrey ( rs@rhapsodyk.net )

v1.0, September 10, 1999
v1.1, October 04, 1999
v1.2, March 08 2000
v1.3, May 30 2000
v1.4, November 11 2000
v1.4 en, December 12 2000
v1.5, September 18 2001

french version
italian version


This document describes Linux configuration that is required to connect with the ADSL Netissimo 1/2 service of France Telecom.

1. Introduction

2. Files required for the installation

3. Installation

4. Connecting / Disconnecting



1. Introduction

This HOWTO was written to help those wanting to connect with ADSL from Netissimo offer / (Turbo IP | TRANSPAC) of France Telecom using Linux. You must have a PC running Linux, an Alcatel-1000 ADSL modem provided by FT (the SpeedTouch Home seems to work fine also), and a subscription with Netissimo 1 or 2 at FT as well as an ADSL subscription with an ISP (service provider).

1.1 Thanks

I'd like to make a point of thanking:

without which this document would not have been possible.

2. Files required for installation

For the installation we will need:

3. Installation

We'll assume that your ADSL modem is connected, and ready to go (make sure the Ethernet cable from your Network card is connected to the 10baseT port of your modem).

The installation will be done in 4 stages:

  1. Configuring the kernel
  2. Compiling the PPTP client and PPPD
  3. Configuring PPPD
  4. Configuring the Network card

3.1 Kernel Configuration

First we will need PPP support in the kernel. If you already have support for PPP in your kernel, you can skip to the following section. To find if you have PPP support, simply type this command:

grep CONFIG_PPP /usr/src/linux/.config

If the answer is:

CONFIG_PPP=y or CONFIG_PPP=m

that should be correct, on the condition that your kernel was built with this same configuration.

Or else see the Kernel-HOWTO for compiling with this option.

Note: if the answer is that the file does not exist, and that your distribution is relatively recent, there is a very good chance that the kernel is compiled with PPP support already. The best way to check this, is the existance of the file / lib/modules/`uname - r`/net/ppp.o

3.2 Compilation of the PPTP Client and PPPD

We will now install the PPTP client and PPPD. First, uncompress the PPPD tarball:

tar zxf ppp-2.3.10.tag.gz

Now all that is left is to compile and install it:

cd ppp-2.3.10
./configure
make all install

Next, the PPTP client:

tar zxf pptp-linux-1.0.2-patched.tar.gz
cd pptp-linux-1.0.2
make
install -b pptp pptp_callmgr /usr/sbin/

And voila, it was so very complicated :o)

3.3 PPPD Configuration

Now all that remains is to configure everything so that it works.
We need to modify 2 files for PPPD, the first being the file /etc/ppp/pap-secrects, containing the login and password for connecting. The second being the file containing the arguments (options) to be passed to PPPD.

/etc/ppp/pap-secrets

# client secret server IP adress 
netissimo@netissimo     * netissimo 	*
login@isp.com 		* my_password   *

Do not forget to change the permissions like this:

chmod 600 /etc/ppp/pap-secrets
chown root.root /etc/ppp/pap-secrets

/etc/ppp/options

#debug
#name "netissimo@netissimo"
name "login@isp.com"
noauth
noipdefault
defaultroute
mtu 1492
mru 2400

Uncomment "debug" in the event of failure to help find the problem.
Uncomment "name netissimo@netissimo" then comment out "name login@isp.com"" to test your Netissimo connection.

3.4 Configuring the Network Interface

We assume that your Network card is installed and configured.

If you have a Network card dedicated to your ADSL modem, you will need to add this in the one of the init scripts for your distribution:

ifconfig eth1 10.0.0.1

Assuming of course here that the name of the interface is "eth1".

If your modem is connected on a HUB, using a crossover cable or directly to the UP-LINK, you do not have anything else to do if your local area network is a class A 10.0.0.0. If not, you can add an alias (if you activated this in your kernel!) like this:

ifconfig eth0:1 10.0.0.1

Assuming this time that the name of the interface is "eth0".

3.5 Frequently Encountered Problems

When I launch connection PPTP the warning " discarding out-of-order " is displayed.
This is completely normal (with the version of the PPTP client provided in the HOWTO), you can simply ignore it. If your connection is not working, this warning message is not the problem.

The PPTP connection is established correctly, as well as the PPP connection, and I obtain an IP, but I cannot surf the Internet.
It is very possible that the default route was not set by PPPD for the simple reason that there was already a default route. Type the following commands to fix this problem:

route del default gw `route -n|awk '$1=="0.0.0.0" {print $2}'|head -1`
route add default gw `ifconfig ppp0|grep "P-t-P"|awk '{print $3}'|cut -d ':' -f 2`

While connecting I get an "LCP time-out", and if I increase the time-out, PPPD negotiation can last as long as 5 minutes before being accepted.
Some ISPs use CHAP authentification and do not authenticate with PAP. The server thus refuses PAP until after a time-out, and then test with CHAP. The simplest solution is to force the PPPD to authenticate with CHAP.

mv /etc/ppp/pap-secrets /etc/ppp/chap-secrets

I have a multiprocessor PC and I have problems connecting.
It seems there are problems with PPP support in kernels before 2.2.14 on SMP machines. Update the kernel to fix this.

4. Connectioning and Disconnecting

Your Linux system is now ready for ADSL =)
To launch connection, just type:

pptp 10.0.0.138

Where 10.0.0.138 is the IP of your ADSL modem.
Then type:

tail -f /var/log/messages

to make sure all is going well.

Then to disconnect, type:

killall pppd; killall pptp; rm -rf /var/run/pptp/