This document will guide you through the installation of Benoit Papillaut's open source driver for the Alcatel USB SpeedTouch modem.
Download the latest version of the drivers from Benoit's »» Site ««
Driver releases are named as follows : speedtouch-xxxx2001.tar.gz ( date is in french format ie ddmmyyyy)
What you need to download is the modem's microcode provided with Alcatel's drivers. You have two possibilities:
It can be found in the form of two files:
Warning:
Just download Alcatel's drivers and uncompress them. Do NOT install them. You only need them for the microcode (ie a piece of software loaded into the modem at initialization)
Benoit's drivers work with 2.4.x series, but it is possible to make them run under 2.2.18 and highers, but one need to heavily patch the kernel in this situation. This could be a problem for newcomers.
If you're not at ease with kernel compilation, don't be happy worry and pray. Recent distros are likely to provide an operationnal kernel (Mandrake 8 for example). Nevertheless, it is preferable to build your own kernel for many reasons that could not be explain in this document. Another good reason to do so is that you can apply a patch on a kernel module, preventing a bug when your connection is restarted.
As a conclusion :
If you choose to build a new kernel try to pick a recent one: USB support is getting better with versions.Url to download Linux's kernel : http://www.kernel.org
NB : Avoid 2.4.5 like the plague as it keeps swapping and trashing all the time
pppd should work from 2.4.0 version
This is a two step job:
To allow Benoit's drivers to work, your kernel has to have a few options enabled.
Configure it with your everyday options and carefully add the following ones:
Depending on your USB controller (chipset on motherboard/pci card), you'll have to choose between two modules: UHCI or OHCI
Without explaining the whole thing, these are two USB incompatible norms.
This is why you have to know which chipset is yours.
To determine which to use :
# lspci -v | grep USB
You should obtain something like :
usb-ohci : CMD technologies Inc|USB0670B
usb-uhci : USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
If your chipset uses OHCI norm, you'll have to pick usb-ohci (surprising !).
If, on the contrary, it uses UHCI norm you'll have to choose between usb-uhci or uhci. They should work both, but in case you have problems setting usb support with a module, pick the other one, and pray !
<M>/<*> Support for USB (CONFIG_USB)
<*> Preliminary USB device filesystem (CONFIG_USB_DEVICEFS)
<M> 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> PPP (point-to-point protocol) support (CONFIG_PPP)
<M> PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY)
# cd /usr/src/linux
# patch -p1 --dry-run < /path/to/drivers/n_hdlc.c.diff
(watchout: two - before dry-run ! )
If you don't get error message, type the real command to currently patch the kernel sources
#patch -p1 < /path/to/drivers/n_hdlc.c.diff
You can continue, now :
Character devices --->
[*] Non-standard serial port support
<M> HDLC line discipline support
[*]Unix98 PTY support
# tar xvzf speedtouch-xxx.tar.gz
cd into the new directory and type :
# ./configure && make
If everything ran fine su root and finish the install by typing :
# make install
Greetings, the drivers should now be installed
NB: check your path if you can't run modem_run, as it is copied in /usr/local/bin
Cd into your /dev directory :
# cd /dev
Check ppp devices existence doing :
# ls *ppp*
If the ls command gives you an output go to the next step, else create all ppp devices typing :
# ./MAKEDEV ppp
# pppd -v.
Drivers are tested with pppd 2.4.0 and 2.4.1. They run fine with these versions, so
if your pppd is a bit old, don't hesitate, upgrade !
To configure pppd, you'll have to edit 4 files.
You should have an /etc/ppp/options file, edit it and keep these 4 lines in it
(comment all extra lines with a #)
------------------ /etc/ppp/options Beginning ------------------
Create /etc/ppp/peers/adsl :
Copy and paste what follows (without the "---" ;) )
-------------------/etc/ppp/peers/adsl Beginning--------------
Don't forget to adapt the vpi and vci values in the line :
What are their function ?
2 protocols can be used by providers to identify their users: CHAP or PAP.
These fields look like this :
-------------------/etc/ppp/chap-secrets Begining-------------------
Edit /etc/modules.conf (or /etc/conf.modules if your system is a bit old) and add the following lines :
alias char-major-108 ppp_generic
Some entries are useless, but once again they won't hurt !
# modprobe ppp_generic
Then, check that usbdevfs is mounted :
# modem_run -m -f /path/to/mgmt.o
# pppd call adsl Wait for a few seconds (20) and check if the link is up by typing :
# ifconfig ppp0 You should have a description of the interface.
First of all, read the
archive of this mailing list before subscribing. Your problem may already have a solution.
Serveur : irc.openprojects.net
noauth
usepeerdns
lock
noipdefault
------------------ /etc/ppp/options End ------------------
2nd file
# mkdir /etc/ppp/peers
# touch /etc/ppp/peers/adsl
# 12/04/2001 Benoit PAPILLAULT
# 08/05/2001 Updated. Added "novj" & removed "kdebug 7"
#
# This file could be rename but its place is under /etc/ppp/peers
# To connect to Internet using this configuration file
# pppd call adsl, where "adsl" stands for the name of this file
debug
kdebug 1
noipdefault
defaultroute
pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35"
sync
user "your_login_here"
noauth
noaccomp
nopcomp
noccp
novj
holdoff 4
persist
maxfail 25
usepeerdns
------------------/etc/ppp/peers/adsl EOF------------------
pty "/usr/local/bin/pppoa2 -vpi 8 -vci 35"
Note about the VCI/VPI pair [ if you are hurry go to the next section ;^) ] :
As your connection goes through ATM, 2 new parameters appear :
That's a good question; they are used to identify your virtual path connection (VP) and your virtual circuit connection (VC).
They simplify the network management, minimizing connection delays. They allow cell commutation too.
An ATM network looks like this :
VC--------|----|-------------|----|--------
VC--------| VP | | VP |--------
VC--------|----| Transmition |----|--------
| Path |
VC--------|----| |----|--------
VC--------| VP | | VP |--------
VC--------|----|-------------|----|--------
3rd file :
Depending on your provider, edit
/etc/ppp/chap-secrets or /etc/ppp/pap-secrets.
# client server secret IP addresses
"your_login_here" "*" "your_password_here" "*"
-------------------/etc/ppp/chap-secrets End-------------------
4th file :
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-13 n_hdlc
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
Launching the connection
You'll have to :
NB: to launch the connection, it is almost mandatory to be logged as root.
Verifications
Check if all modules are loaded (if you didn't compile them directly into the kernel) :
# modprobe ppp_synctty
# modprobe n_hdlc
# mount none /proc/bus/usb -t usbdevfs
Load microcode
To load the microcode into the modem, simply type :
or
# modem_run -m -f /path/to/alcaudsl.sys
Launch pppd
Type (and pray) :
If not, well it's time to look for help (and so to read the next part of this howto).
Where to find (more) Help ?
User mailing list
If you are searching for help from other users like you
(Benoit is also on this mailing list, so it's useless to send an email to the list AND to him).
This mailing list is for you, you can discuss anything that's related to the SpeedTouch USB modem
(off topic are : Windows , NAT configuration, DNS setup, ...).
Both French and English are accepted, but not HTML.
To subscribe to the list, send an email to
speedtouch-request@ml.free.fr
with subscribe as the subject.
IRC
If your prefer to get a direct help or would like to discuss design of the driver,
there is a channel for you.
It is sometimes very active and sometimes it seems every one is sleeping.
Be aware that French & English are mixed.
Channel : #speedtouch
Known nicknames :
benoit : Benoit PAPILLAULT
francoiss : François ROGLER
GomGom : Edouard GOMEZ