BTinternet pppd mini-HOWTO
Prev |  | Next

# 5. BTOpenworld Home 500 (Alcatel Speedtouch USB)

## 5.1. About this section

There is rather a large amount of credit due here, to Chris Jones for writing the Alcatel Speedtouch USB ASDL Modem mini-HOWTO that is now part of the DSL HOWTO. This helped me a great deal when trying to get my Speedtouch to work.

## 5.2. Warning

At home I use Linux Mandrake, although the version of the kernel I had was patched with the ATM kernel source I did end up patching a different kernel source to get it working. Please, please inspect your kernel source to see if you have the PPPoATM source patched against your kernel. To do this go into you kernel source directory, usually `/usr/src/linux` and do a make menuconfig. In the Network Device Support section check for:

- Network device support->PPP over ATM

If it does exist then make sure it is present it you current kernel and you can skim-read the "Patching you kernel" section to make sure you have the correc toptions compiled in and then carry on.

This was just a minor warning as I orginially had a kernel patched with PPPoATM and without realising managed to trash my kernel tree by trying to force the patch onto it.

## 5.3. Distribution Specific Information

I have had reports about different distros that have varying PPPoATM support already builtin to the kernel:

- Mandrake 8.0: The default 2.4.3 kernel already has the PPPoATM patch applied, I cannot remember if it compiled in but ignore steps refering the "Patching the Kernel" below. PS: You still need to configure the kernel.

- Mandrake 8.1: Mandrake 8.1 supports the Speedtouch automatically, I have no had first hand experience but from what I can gather you simply have to download the Alcatel binaries and then use DrakNet to sort it out.

- Debian: I have had reports that the standard Debian installtion does not include libpam, this must be installed for the PPPoATM plugin modules to work.

NOTE: From roughly kernel 2.4.16 the PPPoATM patch is included in Linus' main source tree. Therefore you can miss out patching the kernel and just configure it.

## 5.4. Requirements

To get your Speedtouch USB working in Linux you have a fairly heavyweight task ahead of you, but hey, if I could do it so can you! This is what you'll need to get it working:

- You must have the kernel source installed and know the procedure for installing and compiling a new kernel. If this is a problem then read the Kernel HOWTO.

- You must be running one of the following Kernels: 2.3.39, 2.4.0-test4, 2.4.1-pre7, 2.4.7, 2.4.8-pre5. This is because the PPPoATM patch for the kernel exists patched against specific kernels, some may work with similar kernel versions but I cannot vouch for that

- You, obviously, need a USB controller of some description with at least one free plug. It also must be Linux compatible, nowadays this is most USB controllers that are UHCI/OHCI based. If you don't have one your local supplier would probably have a PCI USB Controller.

- A heap-load of confidence with meddling with your config. eg: kernel recompiling, program installation...

## 5.5. Software Downloads

To get the Speedtouch working under Linux you will need some software and kernel patches found below:

- The kernel patch for your kernel. They can be found at http://www.kernel.org/pub/linux/kernel/people/axboe/PPPoATM/. Please note not all the kernels have patches.

- The latest SpeedTouch driver from http://sourceforge.net/project/showfiles.php?group_id=3581

- The latest SARlib library from http://sourceforge.net/project/showfiles.php?group_id=22221

- The Alcatel speed management software. You can get it from http://www.alcatel.com/consumer/dsl/dvrreg_lx.htm. I can't distribute this because of Alcatel's licensing scheme so get it from them.

- Some description of PPPoATM aware PPPd binary:

  - Red Hat 7 RPM (glibc 2.2): http://sourceforge.net/project/showfiles.php?group_id=23818

  - Debian (.deb): http://sourceforge.net/project/showfiles.php?group_id=23818

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

- The Linux Hotplug software from http://linux-hotplug.sourceforge.net. Get it installed as per their instructions. It seemed simple enough so I won't cover it here

## 5.6. Patching your kernel

Once you have the PPPoATM kernel patch (this assumes you use the patch against kernel 2.4.7) you need to make sure you have a working 2.4.7 kernel tree, next unzip the PPPoATM patch by doing:

NOTE: From rougly kernel 2.4.16 (I haven't tested to see hwo far back it goes) the PPPoATM patch is included in Linus' main kernel tree, therefore you may skip the patching below and resume ready to configure the kernel.

gzip -d pppoatm-2.zip

Next we will need to test-patch the kernel using the following commands:

patch -p1 -s -E --dry-run < /point/to/pppoatm-2

If that ran without failure then patch the kernel by removing the `--dry-run` as such:

patch -p1 -s -E < /point/to/pppoatm-2

That should have patched the kernel good-and-proper so we can go ahead and configure it, make sure the following options are selected along with your personal build 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

  You have to make a choice here, if your USB controller is UHCI based then select:

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

  Alternatively choose:

  USB Support->OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support

You could select any of these as modules or compiled-in but as I followed Chris Jones' HOWTO I compiled the all but UHCI/OHCI as compiled-in code. Save the kernel config and compile the kernel and modules as you normally do.

## 5.7. Kernel Drivers and Software

Now that the kernel will support using PPPoATM we can start compiling the bits to run the modem. Well start with the Kernel mode driver; first decompress the SARlib sources to a build directory. (Personally I build all my non-kernel sources in `~/sources`) and do a make on it. There is no need to do a make install with this library.

Next return to your source root and decompress your Speedtouch drivers (from Sourceforge not Alcatel!), go in there and do a make, and then a make install.

Note: If you get an "Error 1" then check the `Makefile` for a line starting `SARLIB:=` and check it points to the right directory, the one where you just compiled SARlib.

Next install the Hotplug software and make sure it works. Once you've done that decompress Alcatel's binary management software and do a make on that. Then do a make install, the clever bit here is their installation registers the Speedtouch kernel driver and their binary to be run when the USB device is "hotplugged" (or coldplugged) into the system. Kiss goodbye to the hours of trying to writing modules loading scripts that always fail.

Next install the new PPPoATM aware PPPd program, I had no luck getting it compile from source on my machine so I used the RPM. Sorry you're on your own there!

## 5.8. PPPd Configuration

Warning: The action will remove all the default settings for any previous PPPd connection. (Not that you want them now you've got shiny new ADSL ;P)

In the `/etc/ppp` directory there is a file called `options` in that file put the following:

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

Make sure of the following things:

- That you replace both name and user variables with your username.

- That you get the correct VPI/VCI ATM pair, these are in the windows information software, from BTi my VPI:0 and VCI:38 so I use `0.38`. Make sure you get this right or it will not work.

Next in your `/etc/ppp/chap-secrets` put:

      # Secrets for authentication using CHAP
      # client    server    secret    IP addresses
      "bloggs@hg5.btinternet.com"  *   "mypasswordhere"

## 5.9. Testing your link

Next thing to do is get the link up and test it. If you've got a nice distro like Mandrake you should find it will auto-init your USB drivers and filesystem, if not then the following can be used:

/sbin/modprobe usb-uhci

mount none /proc/bus/usb -tusbdevfs

Next load the Speedtouch driver by doing: /sbin/modprobe speedtch. Next use the speedmgmt program to get the modem init'ed: /usr/sbin/mgmt. After a while of the lights flashing on the modem the main console (and/or the syslog) should report:

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

Once the modem has been init'ed now make sure the PPPoATM module is loaded by doing:

modprobe pppoatm

Now start the PPP link by typing pppd You should see something similar to this:

      Oct 28 14:01:25 ds9 pppd: PPPoATM plugin_init
      Oct 28 14:01:25 ds9 pppd: PPPoATM setdevname_pppoatm
      Oct 28 14:01:25 ds9 pppd: PPPoATM setdevname_pppoatm - SUCCESS
      Oct 28 14:01:26 ds9 pppd: Using interface ppp0
      Oct 28 14:01:26 ds9 pppd: Connect: ppp0 <--> 0.38
      Oct 28 14:01:28 ds9 pppd: local IP address 255.255.255.255
      Oct 28 14:01:28 ds9 pppd: remote IP address 255.255.255.255
      Oct 28 14:01:28 ds9 pppd: primary DNS address 213.120.62.100

Once that's done you're in luck, now just configure the pppd to autodial at startup (beyond the scope of this HOWTO, sorry!). Hopefully HotPlug will get your device up and going before pppd needs it! :).

Prev | Home | Next
BTi Anytime |  | Simple IP Masquerading