Getting the Alcatel SpeedTouch USB ADSL Modem Running

By Rik Wade Rik Wade

What is the SpeedTouch?

The Alcatel SpeedTouch USB:

  • is a USB ADSL modem which does not require external power
  • has drivers for MS Windows (98->XP); MacOS <=9.0; Linux
  • supports PPP over ATM and Ethernet
    • PPPoA is what you will get from all current ADSL suppliers
    • PPPoE is generally what you will get from a Cable supplier
  • supports UPnP

    (Linux information here)

SpeedTouch USB Modem

Required Software Components

  • A working Linux system(!) (This stuff does work on *BSD too, however)
  • A kernel compiled with support for:
    • Modules
    • USB
    • HotPlug
    • ATM
    • PPP (and PPPoA)
  • Alcatel “Binary Management Application”
    (http://www.speedtouchdsl.com/dvrreg_lx.htm)
  • Open Source Kernel Module
    (http://sourceforge.net/projects/linux-usb/)
  • Linux Hotplug package
    (http://linux-hotplug.sourceforge.net/)
  • SARLib (http://sarlib.sourceforge.net/)
  • Linux Kernel 2.4.2 or later
    (ftp://ftp.kernel.org/pub/linux/kernel/v2.4/)
  • PPPoA kernel patch (if your kernel is older than 2.4.15)
    (ftp://ftp.kernel.org/pub/linux/kernel/people/axboe/PPPoATM/)
  • PPP daemon that is able to speak PPP over ATM
    (http://sourceforge.net/project/showfiles.php?group_id=23818)

Installation Procedure

1) Check that your PPP daemon is able to talk PPP over ATM (recent versions of RedHat etc. should be OK)

find /usr/lib/pppd -name pppoatm.so

If the this returns “No such file or directory”, then you need to upgrade your PPP daemon. You can find new PPP software at:

http://sourceforge.net/project/showfiles.php?group_id=23818

2) If required, patch your kernel with the PPPoA code. However, I would probably recommend running a later kernel than 2.4.15 these days.
3) Once this is all in place, configure up your kernel ready for building (Please note that there are ongoing issues with Linux SMP and the SpeedTouch):
  • Code Maturity Level Options
    • Prompt for development and/or incomplete code/drivers [Y]
  • Loadable Module Support
    • Enable Loadable Module Support [Y]
  • Processor type and features
    • Symmetric multi-processing support [N]
  • General Setup
    • Support for hot-pluggable devices [Y]
  • Networking Options
    • Packet Socket [Y]
    • Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) [Y]
  • Network Device Support
    • PPP (Point-to-Point Protocol) Support [Y]
    • PPP Deflate Compression [Y]
  • USB Support
    • Support for USB [Y]
    • Preliminary USB Device Filesystem [Y]
    • UHCI (Intel PIIX4, VIA,…) Support [M]
    • OHCI (Compaq, iMacs, OPTi, SiS, ALi, …) support [M]
  • Network Device Support
    • PPP Over ATM (EXPERIMENTAL) [Y]
4) Now it’s time to build the kernel (assuming that your kernel source lives under /usr/src/linux)

cd /usr/src/linux
make dep (this make sure that the compiler will build all the necessary files)
make bzImage (this starts the build process, may take some time!)

make modules (this builds the kernel modules)
make install (this installs the kernel)
make modules_install (this installs the modules in /lib/modules/<kernel>)

Now reboot in order to load the new kernel.

5) Untar and build SARLib and the SpeedTouch Open Source kernel module from /usr/src/ (Detailed instructions in the HOWTO)

tar zxvf <package name>
cd <package directory>
make
make install (only for SpeedTouch module)

6) Install HotPlug software.

Install RPM package or read the HotPlug package README file for installation instructions.

7) Install the binary management software from Alcatel

As for SARLib and kernel module

8) If required, install the updated PPP daemon

Detailed instructions in the HOWTO

Final Configuration

Configure the USB subsystem:

Add the following line to /etc/fstab:

/dev/usb /proc/bus/usb/ usbdevfs defaults 0 0

Configure your PPP daemon with the necessary options:

Enter the following in to /etc/ppp/options:

lock #(maintain a lock file for pppd)
defaultroute #(add default route of peer to routing table)

noipdefault #(peer supplies IP address)
noauth #(do not require peer to authenticate itself)
holdoff 4 #(seconds to wait before retrying connection)
maxfail 25 #(terminate after this number of retry attempts)
persist #(try to reopen connection if terminated)

asyncmap 0 #(escape all control sequences)
lcp-echo-interval 2 #(send LCP echo-request frame every 2 seconds)
lcp-echo-failure 7 #(number of echo-request failures to accept)
name user@domain #(username and domain issued by ISP)
user user@domain

plugin /usr/lib/pppd/plugins/pppoatm.so #(load this library object)
0.38 #(ATM parameters for PPPd)

Replace (user@domain) with your username@domain as issued by your ISP.

Edit /etc/ppp/chap-secrets and enter:

user@domain * password

Where user@domain is your username@domain, and password is the password for
your account.

Now do the same to /etc/ppp/pap-secrets.

Plugging in your USB modem should now give flashing lights on the front of
the unit, soon to be followed by two, green, lights.

When plugged in, you should see something like the following in /var/log/messages:

Speedmgmt[1234]: Alcatel SpeedTouch
USB Management daemon started.

Speedmgmt[1234]: (C) Alcatel 2001, Version 1.3.1
Speedmgmt[1234]: Modem initialized at 1120 kbit/s downstream and 128 kbit/s upstream

Issuing “pppd” as root, will now establish a PPP session with your
ISP and bring up your IP interface. After typing “pppd”, you should
get something like this in /var/log/messages:

pppd[1234]: Plugin /usr/lib/pppd/plugins/pppoatm.so loaded.
pppd[1234]: PPPoATM plugin_init
pppd[1324]: PPPoATM setdevname_pppoatm
pppd[1324]: PPPoATM setdevname_pppoatm - SUCCESS
pppd[1235]: pppd 2.4.0b1 started by root, uid 0

pppd[1235]: Using interface ppp0
pppd[1235]: Connect: ppp0 <--> 0.38
pppd[1235]: local IP address xxx.xxx.xxx.xxx
pppd[1235]: remote IP address yyy.yyy.yyy.yyy

Now to set up your IPTables firewall.

Sites to Visit

http://linux-usb.sourceforge.net/SpeedTouch/howto.html

Comments are closed.