Tux Penguin

Kernel 2.6 and Accessrunner
(last updated 2005-04-18)

Up to now there have been ~ 19000 clicks to this page
(click here if you are curious).

Keywords: cxacru, Conexant based ADSL modem, linux kernel 2.6.x patch, ppp PPPoATM, PPPoE

So far the driver works on all kernel from 2.6.1 to 2.6.9

For kernel 2.6.10+ look at Roman Kagan et al. effort http://accessrunner.sourceforge.net/
You can find my own experience with 2.6.10+ and Hamlet 640 (PPPoATM) (VendorId=0x0572 ProductId=0xcafe) here .

I will not improve my patches, 2.6.10+ is a much cleaner way to handle this modems.

I especially acknowledge Ronald work on E-Tech modem for the effort he put in understanding what was wrong with the previous patch and his E-Tech modem.

ADSL Modem known to work
(thanks to all the people that reported success)

  1. Hamlet 640 (PPPoATM) (VendorId=0x0572 ProductId=0xcafe) (mine, it works :^)
  2. Modem Dominium, PPPoE and PPPoATM (VendorId=0x0572 ProductId=0xcb00)
    (thanks franzb for PPPoE )  (reported 2004-02-17)
    (thanks Fabio of LUG Bari for PPPoATM )  (reported 2004-04-30)
  3. WELL ASU-8000, (VendorId=0x0572 ProductId=0xcb00) (thanks Lukas)  (reported 2004-04-18)
  4. Olitec V2 ADSL Modem (thanks castorls) (reported 2004-02-22)
  5. VendorId=0x0572 ProductId=0xcafe (PPPoE) (thanks pitufobcn) (reported 2004-03-04)
  6. Trust Speedlink 235A (PPPoATM) (VendorId=0x0eb0 ProductId=0x3457) (thanks Andrea) (reported 2004-04-30)
  7. Planet ACU-2100A (VendorId=0x0572 ProductId=0xcb00) (thanks Andy) (reported 2004-05-11)
  8. E-Tech (VendorId=0x0572 ProductId=0xcb00) (thanks Ronald) (reported 2004-05-17)
  9. Draytek Virgo 318 (VendorId=0x0675 ProductId=0x0200) (thanks Frantisek) (reported 2004-05-30)

Other ADSL Modem should be supported but no reports yet, see list at the end of the page

Now the hard part

Some files you will need
(latest version for my patch to kernel module is 20040517, beware you need a different patch depending on the specific kernel you use). If you use vanilla kernel the version number is enough, however different distribution apply patches even before they are in the "official" kernel, so you might need the patch for the newer kernel even if the one you run has a lower number.

Some files you will optionally need (if your installed version of ppp does not include plugins for pppoatm)

To compile ppp-2.4.2.tar.gz follow instructions within the package. (Also have a look at Patrick's page on Conexant-based PCI ADSL card).
You will probably need to install also libpcap and linux-atm, if your system does not include them already.

For those of you that understand italian language also give a look at http://xoomer.virgilio.it/meskalamdug/speedtouch.html

Now the VERY hard part

I assume you are familiar with kernel compilation.

Some very brief instructions:

  1. untar linux vanilla kernel in "/usr/src"
  2. enter linux-2.6.x directory in "cd /usr/src/linux-2.6.x"
  3. patch the source "gunzip -c patch-2.6.x_YYYYMMDD_accessrunner.gz | patch -p1"
  4. configure speedtch as module (small step-by-step guide), and configure the rest according to your hardware.
  5. recompile and install the new kernel with 'make all; make modules_install; make install' (CAVEAT: this will add extra line to your grub.conf)
  6. reboot with the new kernel :^)
  7. untar cxacru package and issue a "make new"
  8. substitute cxload.sh and cxunload.sh in "/usr/sbin" with the modified ones
  9. edit file /etc/cxacru to your needs (max speed option are simply ignored)
  10. remove any existing "cxacru" module from your current kernel-modules tree (ie issue "find /lib/modules/`uname -r`/ -name "*cxacru*" -exec rm {} \;" )
  11. 9. issue "cxstart.sh"

If you need "some" help check accessrunner forum
try: zuliani at zullinux dot it

Other ADSL Modem that should be supported (more info)

Step-by-Step guide on setting speedtch as a module

Remark: the module depends on ATM and USB being compiled, so you need to turn on a few stuff before the option for Speedtouch module shows up. (for more info on module dependencies look at file linux-2.6.x/drivers/usb/misc/Kconfig)

otherwise follow this brief instructions:

# root@zullinux> make menuconfig (or gconfig or xconfig)

1) Go to section

Device Driver -> Networking Support -> Networking Options -> ....

<M> Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
<M> Classical IP over ATM (EXPERIMENTAL)
[*] Do NOT send ICMP if no neighbour (EXPERIMENTAL)
<M> LAN Emulation (LANE) support (EXPERIMENTAL)
<M> Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)
<M> RFC1483/2684 Bridged protocols
[*] Per-VC IP filter kludge

2) Then Go to section

Device Driver -> USB Support ->
<M> Support for USB
.... (go near the end of the page)
<M> Alcatel Speedtouch USB support (NEW)

Mini-Howto on how to use patchfiles

1) untar file ppp-2.4.2.tar.gz with
# zullinux> tar -xzvf ppp-2.4.2.tar.gz

2) cd in the dir
# zullinux> cd ppp-2.4.2

3) patch sources (depending on the patchfile option -p0 should be used)
# zullinux> gunzip -c ppp-2.4.2_poa_poe_patch.gz | patch -p1

4) maybe the file is not really gzipped check with
# zullinux> file ppp-2.4.2_poa_poe_patch.gz
ppp-2.4.2_poa_poe_patch.gz: gzip compressed data, was "ppp-2.4.2_poa_poe_patch", from+Unix, max compression
# zullinux>
if is not gzipped simply issue instead of point 3)
# patch -p1 < ppp-2.4.2_poa_poe_patch
then compile as described within ppp-2.4.2 package

Valid HTML 4.01!