First of all - I had most problems due to a not working firmware. So try out different versions of Firmware. The one working for me can be found here. Find other firmware links and more documentation under the SpeedLink page.
Also - it is very difficult to actually find decent informations. I found some kind Help on the conexant Maillinglist
Please Note that this FAQ refers to setting up a Link in Germay - using a Annex-B module, however it should also be valid for other Annex-Modules.
Also - as you are installing a quite complex hardware on a complex system - I assume you know how to patch/compile/install kernels and configure a ppp-link - and won't go into details here.
So - let's go for it. Download the conexant usbatm patches for the 2.6.14.x kernels on the project page. Unpack these into the right kernel-source directory:
cd /usr/src/linux
tar jxf ~/usbatm-20050216.tar.bz2
drivers/usb/atm/cxacru.c
drivers/usb/atm/Kbuild
drivers/usb/atm/Kconfig
drivers/usb/atm/usbatm.c
drivers/usb/atm/usbatm.h
Kernels 2.6.14.5 and higher already have the conexant drivers - so don't apply the patch if you use a newer version.
Configure the kernel to have support for the Conexant Chipset.
Device Driver -> Networking Support -> Networking Options ->
Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
Classical IP over ATM (EXPERIMENTAL)
[*] Do NOT send ICMP if no neighbour (EXPERIMENTAL)
LAN Emulation (LANE) support (EXPERIMENTAL)
Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)
RFC1483/2684 Bridged protocols
[*] Per-VC IP filter kludge
Device Driver -> USB Support ->
Support for USB
......
--- USB Host Controller Drivers
EHCI HCD (USB 2.0) support
[ ] Full speed ISO transactions (EXPERIMENTAL)
[ ] Root Hub Transaction Translators (EXPERIMENTAL)
OHCI HCD support
UHCI HCD (most Intel and VIA) support
Connexant Accessrunner USB support
B.e. you can use the following kernel-config for a 2.6.12.x kernel. Copy that file into your kernel-source root directory and perform a make oldconfig. Compile and install the kernel and the modules.
The Firmware is kind of the most tricky part. For this -
download the firmware extracter, and compile it
cd /usr/src
mkdir fw-extract
cd fw-extract
wget http://www.elektrorevue.cz/clanky/05041/cxacru-fw-ng.tar.gz
tar xzf cxacru-fw-ng.tar.gz
make
You can also get a local copy of the firmware extractor attached to this FAQ, then download & extract the latest firmware
wget http://www.atlantis-land.com/firmware/1863_DriverWinMultiV099.085WAN.zip
unzip 1863_DriverWinMultiV099.085WAN.zip
mkdir -p /usr/local/lib/firmware
./cxacru-fw CnxEtU.sys /usr/local/lib/firmware/cxacru-fw.bin
as a backup option - check out the latest copy I found - find it in the
download section of this site.
Alternatively - take the already extracted Firmware suitable for Linux linked to this site here.
After that - find out where your hotplug system looks for firmware. Mine checks under /usr/lib/hotplug/firmware - and that's where I'll copy the firmware.
cp cxacru-fw.bin /usr/lib/hotplug/firmware
This done reboot your system and check you have informations about your modem. The following message should show up during the boot process:
device class 'firmware': registering
bus usb: add driver cxacru
bound device '2-2:1.0' to driver 'cxacru'
usbcore: registered new driver cxacru
usb 1-1: new full speed USB device using uhci_hcd and address 3
cxacru 2-2:1.0: found firmware cxacru-fw.bin
cxacru 2-2:1.0: ADSL line: attemtping to activate
cxacru 2-2:1.0: ADSL line: down
cxacru 2-2:1.0: ADSL line: attemtping to activate
cxacru 2-2:1.0: ADSL line: channel analysis
cxacru 2-2:1.0: ADSL line: up (7168 kb/s down | 640 kb/s up)
Checking the proc-filesystem for the proper devices to exist - you should find:
cat /proc/net/atm/cxacru:0
ADSL USB MODEM (usb-0000:00:07.3-2)
MAC: 00:05:b4:12:57:68
AAL5: tx 38291 ( 0 err ), rx 58395 ( 0 err, 0 drop )
Line up
This shows - the modem is up and has a Link. Now - as I'm using PPPoE - I need to make sure the right modules are loaded for the br2684 module which enables a bridging connection with br2684ctl to run PPPoE over ATM.
modprobe br2684
Make sure it is loaded at boot-time. On a Debian-System - add the line to the file /etc/modules
echo br2684 >> /etc/modules
Install the br2684ctl tools. Under debian:
apt-get install br2684ctl
will do the trick. Find out what VPI/VCI your provider is using. In Germany - it's VPI=1 and VCI=32 at 1&1. To activate it - I wrote the following little script br2684_up.sh:
#!/bin/sh
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
# Build a little while loop - to check if the conexant modem
# has a ADSL Line up
count=0
while [ $count -lt 40 ]
do
sync=`cat /proc/net/atm/cxacru:0 | grep 'Line up'`
[ "$sync" = "Line up" ] && break
sleep 1
count=$((1+$count))
done
if [ "$sync" = "Line up" ]
then
br2684ctl -b -c 0 -a 1.32
sleep 3
ifconfig nas0 172.16.2.6 netmask 255.255.255.248
fi
The while loop waits at least 40seconds until the cxacru-driver has synced to the telco - after that it will set up the bridge-interface to the ATM-device - which can be used by the pppd daemon.
Using the following file in /etc/ppp/peers/dsl-connection
noipdefault
defaultroute
user "UserName@domain.de"
noauth
updetach
usepeerdns
plugin rp-pppoe.so
nas0
hide-password
# Override any connect script that may have been set in /etc/ppp/options.
persist
mtu 1492
# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp
# Asynchronous-Control-Character-Map (ACCM)
default-asyncmap
I can call the connection using: pppd call dsl-connection
Note that you'll have to configure quite more stuff, especially to make the connection come up at boot time. On my debian system - I have copied the br2684_up.sh script to /etc/ppp, configured the ppp-connection using the pppoeconf package - and adapted the /etc/network/interface file to reflect the correct pppd-call. Make sure the br2684ctl is loaded at boot before the ppp is started.
auto dsl-connection
iface dsl-connection inet ppp
provider dsl-connection
pre-up /etc/ppp/br2684_up.sh
# please do not modify the following line
pre-up /sbin/ifconfig nas0 up # line maintained by pppoeconf
|