(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

 

9. Appendix: The Alcatel SpeedTouch USB ADSL Modem

Author: Chris Jones , copyright © 2001

with minor edits by Hal Burgiss .

9.1. Introduction

Installation, configuration and use of the Alcatel SpeedTouch USB ADSL modem with Linux.

French translation available http://www.linuxdude.co.uk/docs/Alcatel-Speedtouch-USB-mini-HOWTO-FR.txt.

9.1.1. Preface

This is an adaptation of Chris Jones' Alcatel-Speedtouch-USB-mini-HOWTO. The current version of this document can be found at http://www.linuxdude.co.uk/docs/Alcatel-Speedtouch-USB-mini-HOWTO/.

As always with Linux, there is more than one way to skin a cat. This document takes one approach that is a working model. There are other ways, and there may be some contradictions to the INSTALL instructions as included by Alcatel. One notable example: The Alcatel driver supports both PPPoE and PPPoA. Alcatel suggests PPPoE as easier, but many are finding PPPoA more stable even if maybe a little more work to get going.

Also, this driver has just recently been released as of March 2001. It is highly dependent on experimental code and is not battle tested yet. Do not expect it to be as stable as ethernet modem solutions. Hopefully, this should change quickly as more users are able to provide feedback to the developers.

The driver also requires a 2.4.x kernel. If you are now running a 2.2 kernel, this will require a major upgrade -- of not just the kernel itself, but related packages such as modutils as well. You can find what all is required by reading /usr/src/linux/Documentation/Changes in the 2.4 kernel source tree. I would further suggest that you get a plain vanilla 2.4 system up and running stably before attempting the process below.

Warning

This process is not for the faint of heart. Novice users should strongly consider an ethernet modem, if this is a possibility.

9.1.2. Background

The Alcatel SpeedTouch USB ADSL modem has become a popular choice for providing low cost, widely available ADSL services, particularly in the UK, where BT Ignite (a division of British Telecom) install it for use over their ADSL network. Although BT plan to move to a new ADSL router soon, the SpeedTouch USB is still used by a large number of people, many of whom wish to use Linux, rather than Windows to access the Internet.

Initially the SpeedTouch USB was only useful to people running either Windows 2000 or Windows 98. Alcatel recently released a MacOS driver and have now released a Linux driver.

This document will show you, as simply as possible, how to configure a Linux machine to connect to the Internet using a SpeedTouch USB.

9.1.3. Assumptions

Several assumptions are made by this document:

  1. You are using Red Hat 7.0 (although the instructions are very similar for other distributions). You should also have all the latest updates.

  2. You are running the 2.4.2 kernel (this is not the appropriate place for kernel installation instructions; they are all over the web).

  3. You are in the UK (this is the only ADSL network I have access to, so it's all I know. If you have any differences for your country, please email me and I'll amend the HOWTO).

The first assumption is merely because I use Red Hat 7.0 and so that is what I've had to use to get it working. I would like to cover other distributions, so if you spot any differences, please email me and I'll amend the HOWTO.

The second assumption is far more critical than the first - you MUST be running AT LEAST 2.4.1, but I have found 2.4.2 to be more stable and the SpeedTouch USB driver works fine with it.

9.1.4. Caveat

Unfortunately, much of the software required for this setup is beta quality and you may experience crashes, random oopses, etc. Hopefully work on the driver will bring its stability up to scratch and everyone can be happy.

9.2. Patching the kernel

For this section you will need the following items. (Please note that by the time you read this, the versions may have changed, so adjust accordingly.)

  1. A working 2.4.2 kernel source tree (usually held in /usr/src/linux/). You should already be running the kernel - there are many guides on the web that will teach you how to install the 2.4 kernel.

  2. The pppoatm kernel patch by Jens Axboe. This is available from:

    http://www.kernel.org/pub/linux/kernel/people/axboe/PPPoATM/2.4.1-pre7/pppoatm-1.gz
    http://www.nothing-on.tv/pppoatm-1.gz

    To extract the patch from this, run gzip -d pppoatm-1.gz

  3. The Speedtouch+SARlib kernel patch. This is a kernel patch version of the Alcatel driver and the ATM library, sarlib. Produced by Tony Hoyle. This is available from:

    http://www.nothing-on.tv/speedtouch-2.4.1-patch.gz

    To extract the patch from this, run gzip -d speedtouch-2.4.1-patch.gz

Over-helpful browsers: It is possible that your web browser has already unzipped the above patches (i.e. Netscape automatically unzips .gz files). If this has happened, simply rename the patch files to remove the .gz suffix and continue with the following instructions.

Once you have all of these pre-requisites, we can start patching.

Patching Procedure

  1. Change directory into the kernel source directory: cd /usr/src/linux

  2. Test the pppoatm-1 patch: patch -p1 -s -E --dry-run </path/to/pppoatm-1

    If this command produces any output then something is wrong with your 2.4.2 kernel source tree. Please fix it before continuing.

  3. Apply the pppoatm-1 patch: patch -p1 -s -E </path/to/pppoatm-1

  4. Test the speedtouch-2.4.1-patch patch: patch -p1 -s -E --dry-run </path/to/speedtouch-2.4.1-patch

    If this command produces any output then something is wrong with your 2.4.2 kernel source tree. Please fix it before continuing.

    Apply the speedtouch-2.4.1-patch patch: patch -p1 -s -E </path/to/speedtouch-2.4.1-patch

9.3. Configuring the kernel

For this section you will need:

9.3.1. Configuration

To configure the kernel, load your favorite kernel configuration method: (e.g. cd /usr/src/linux; make xconfig)

You need to select the following kernel options:

  • Code maturity levels->Prompt for development and/or incomplete code/drivers

  • Networking options->Asynchronous Transfer Mode (ATM)

  • Network device support->PPP (point-to-point protocol) support

  • Network device support->PPP support for async serial ports

  • Network device support->PPP Deflate compression

  • Network device support->PPP BSD-Compress compression

  • Network device support->PPP over ATM

  • USB support->Support for USB

  • USB support->Preliminary USB device filesystem

  • USB support->UHCI (Intel, PIIX4, VIA, ...) support

    You may need to choose the OHCI driver here, depending on your USB controller)

  • USB support->Alcatel Speedtouch USB support

Selection: For simplicity, I recommend selecting Y (rather than M) for all of these, except the last two (UHCI/OHCI support and Alcatel Speedtouch USB support. Those are better left as M).

Now compile and install the kernel and modules as you would normally.

9.4. Installing the software

For this section you will need the items listed below. (Again, be aware of possible version updates.)

  1. The results of Patching the kernel and Configuring the kernel.

  2. Alcatel's binary management application. This is available from http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm. You must download it from Alcatel, the license forbids us from distributing it).

  3. A PPPoATM-aware PPP daemon. This is available from:

  4. A working PPP setup (there are many guides on the Internet on how to configure PPP in 2.4 kernels)

  5. The Linux HotPlug software from http://linux-hotplug.sourceforge.net. Install this as per its instructions (RPM installation is the simplest)

9.4.1. Installing pppd

Install whichever ppp package you need. You might have to create the file /dev/ppp yourself, which can be done with the following commands:

cd /dev
./MAKEDEV ppp

If your distribution does not include the MAKEDEV script, or it fails to create the correct device, you can use the following command:

mknod /dev/ppp c 180 0

9.4.2. Installing speedmgmt

Extract the Alcatel binary driver tarball (speedmgmt.tar.gz) and install it as per its included instructions.

9.5. Configuring the software

For this section you will need:

9.5.1. Configuring pppd

Edit the file /etc/ppp/options and replace its contents with the following:

          lock
          defaultroute
          noipdefault
          noauth
          passive
          asyncmap 0
          name user@domain
          user user@domain
          plugin /usr/lib/pppd/plugins/pppoatm.so
          0.38
    

Don't forget: You will need to replace the two "user@domain"s with your ADSL username.

Also, in the above example "0.38" is the VPI/VCI ATM pair for the author's provider. You will need to know what the correct values are for your provider, and substitute those. If these values are incorrect, you may sync, but will not be able to connect to your ISP's IP layer, and probably be frustrated. These values can be obtained from the Window's Alcatel client or your ISP. Other commonly used values: 0.32, 0.35, 8.32, 8.35.

Edit the file /etc/ppp/chap-secrets and replace its contents with the following:

          # Secrets for authentication using CHAP
          # client        server  secret                  IP addresses
          user@domain     *       password
    

Now put the same contents in /etc/ppp/pap-secrets.

Don't forget: You will need to replace "user@domain" with your ADSL username and "password" with your ADSL password.

9.5.2. Final configuration

Note: At this point your ADSL modem should be unplugged from the computer.

  1. Load the USB and Speedtouch kernel modules with these commands:

    1. /sbin/modprobe usb-uhci

    2. /sbin/modprobe speedtch

  2. Mount the USB device filesystem with this command: mount none /proc/bus/usb -tusbdevfs

  3. Start the Alcatel management application with this command: /usr/sbin/mgmt

  4. Plug the ADSL modem into a USB port and wait a few seconds. It might be an idea to have a second terminal open watching /var/log/messages so you can see when the modem is initialized, which will look like this:

    Speedmgmt[2074]: Modem initialised at 576 kbit/s downstream and 288 kbit/s upstream

Caveat: Some people have reported that plugging the modem in immediately before running the mgmt application works and can sometimes work better than plugging it in afterwards.

Once you have connected successfully, you might like to experiment with the sequence in which you perform the Final configuration. It is possible (and has been reported a number of times) to leave the modem plugged in continuously if you load the modules/apps in the correct order.

9.5.3. Connecting

If all of the software is installed and configured correctly, you should be able to initiate your ADSL connection with the command: pppd

Again, it would be useful to watch /var/log/messages so you can read pppd's output. Ideally you will connect, authenticate and be on the Internet. At this point you are on your own.

Assuming everything works you should see output from pppd similar to the following:

          Mar 22 23:54:42 zanshin pppd[2076]: Plugin /usr/lib/pppd/plugins/pppoatm.so loaded.
          Mar 22 23:54:42 zanshin pppd[2076]: PPPoATM plugin_init
          Mar 22 23:54:42 zanshin pppd[2076]: PPPoATM setdevname_pppoatm
          Mar 22 23:54:42 zanshin pppd[2076]: PPPoATM setdevname_pppoatm - SUCCESS
          Mar 22 23:54:42 zanshin pppd[2077]: pppd 2.4.0b1 started by root, uid 0
          Mar 22 23:54:42 zanshin pppd[2077]: Using interface ppp0
          Mar 22 23:54:42 zanshin pppd[2077]: Connect: ppp0 <--> 0.38
          Mar 22 23:54:45 zanshin pppd[2077]: local  IP address xxx.xxx.xxx.xxx
          Mar 22 23:54:45 zanshin pppd[2077]: remote IP address yyy.yyy.yyy.yyy
    

9.6. Known problems

The management application will most likely make your computer freeze when you try to reboot. There is no known workaround for this as yet, as killing it manually will often make it hang too.

9.7. Revision History

  • Version 1.1.0 - 25/03/01

    Converted to Docbook for better presentation
           

  • Version 1.0.3 - 24/03/00

    Merged some changes from Giles Coochey
     regarding non-RedHat distributions
    Added link to French translation
     (courtesy of Vincent Besson)
    Some more minor tweaks
           

  • Version 1.0.2 - 23/03/00

    Minor spelling tweaks from Bart King
           

  • Version 1.0.1 - 23/03/00

    Some minor tweaks
           

  • Version 1.0 - 23/03/00

    Initial release
           

9.8. Credits

Many thanks to all the people who send me ideas, corrections and additions for this HOWTO.

Special thanks must go to Telsa Gwynne for her outstanding help in the conversion of this document from a feeble HTML file to a glorious, spangly Docbook SGML file.