Benoit PAPILLAULT, benoit.papillault@free.fr, 07/04/2001
26/04/2001 Updated. Added requirements on Alcatel drivers.

=== REQUIREMENTS ===

Your should always prefer latest linux kernel, since USB support is getting
more & more stable. At present time, this is kernel 2.4.5. All the following
options are normally present in pre-compiled kernel. So don't worry with this
long list of options.

* USB support :
Make sure your kernel has been compiled with the following options:

Support for USB (CONFIG_USB) [M] 
  Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y] 
  UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M] 
  UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M] 
  OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI) [M] 

To check it :

- check that mount give the following line:
none on /proc/bus/usb type usbdevfs (rw)
or type:
mount -t usbdevfs none /proc/bus/usb

- cat /proc/bus/usb/devices should list your modem somewhere

On Mandrake 7.2, you have to put in /etc/modules.conf:
alias usb-interface usb-uhci (or usb-ohci depending on your hardware)
You have also to create /etc/sysconfig/usb (even empty)
Now, USB support will be lauched at boot time by
/etc/rc.d/init.d/usb


* PPP support :
Make sure your kernel has been compiled with the following options:

PPP (point-to-point protocol) support (CONFIG_PPP) [M] 
  PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY) [M] 

To check it:
- if pppd gives you the following error messages :
"pppd: This system lacks kernel support for PPP.  This could be because
the PPP kernel module could not be loaded, or because PPP was not
included in the kernel configuration.  If PPP was included as a
module, try `/sbin/modprobe -v ppp'.  If that fails, check t"
  try to do "modprobe ppp_generic"

- if pppd gives you the following error messages :
"Couldn't set tty to PPP discipline: Invalid parameter"
  try to do "modprobe ppp_synctty".

To automatically load the appropriate modules, add this line to
/etc/modules.conf:
alias char-major-108 ppp_generic
alias tty-ldisc-14   ppp_synctty

* HDLC support:
Make sure your kernel has been compiled with the following option:

Character devices  --->
[*] Non-standard serial port support 
<M>   HDLC line discipline support
[*] Unix98 PTY support

You must load "modprobe n_hdlc" or add the following line to your
/etc/modules.conf:
alias tty-ldisc-13 n_hdlc

* Official Alcatel drivers:
	You can download whatever version you want (Windows or Linux).
	Download them at http://www.alcatel.com/consumer/dsl/supuser.htm
	You need to extract them (running the self-extracting .exe for Windows
	or tar zxvf for Linux), but DO NOT INSTALL the Alcatel linux drivers!

	Copy 'mgmt', 'mgmt.o' or 'alcaudsl.sys' (maybe located under 
	C:\WINNT\SYSTEM32\DRIVERS) to a convenient place.

=== COMPILATION ===

This driver is GPL software, so best distributed in source form. That
means you have to compile it before using it.

First of all, you should have the source of your running kernel in
/usr/src/linux (it may be a symlink to your real kernel sources). In
fact, you just need the headers (maybe there is a rpm package on your
distribution containing only kernel headers. On a Mandrake 7.2, you need
packages kernel-2.2.17-21mdk.i586.rpm & kernel-headers-2.2.17-21mdk.i586.rpm).

Then try:

make

And as root:

make install

=== CONFIGURATION ===

You need the following information :
  - your login (fti/xxx@fti for example)
  - your password
  - the vpi.vci couple used by your provider (8.35 or 8.67 for France,
	 0.38 in UK, check the value used under Windows)
  - the location of mgmt.o (or equivalent)

Setup your pppd like the following (a sample file "adsl" is provided)

debug
kdebug 1
noipdefault
defaultroute
pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35"
sync
user "your_login"
novjccomp
noaccomp
nopcomp
nomagic
noccp
asyncmap 0
usepeerdns
holdoff 1
persist
maxfail 0

Don't forget to add to /etc/ppp/chap-secrets:
# Secrets for authentication using CHAP
# client                server  secret          IP addresses
your_login               *       your_password

Of course, replace "your_login" & "your_password" by your real login and
password for your provider.

If you want to automatically use the DNS of your provider, make a symlink
from /etc/resolv.conf to /etc/ppp/resolv.conf:
ln -s /etc/ppp/resolv.conf /etc/resolv.conf

To connect, just run the following commands (as root, replacing
/path/to/mgmt.o by the real location of your file, which may be mgmt, mgmt.o,
alcaudsl.sys or anything containing Alcatel's microcode). Those files are
located in the Alcatel's drivers.

"/usr/local/bin/modem_run -f /path/to/mgmt.o -m"

"pppd call adsl"

This will use the /etc/ppp/peers/adsl file.

You still need to configure your DNS, usually by making a symlink to
/etc/ppp/resolv.conf :

ln -s /etc/ppp/resolv.conf /etc/resolv.conf

You should be connected now! If not, read the FAQ!

