Connecting with an USB modem featuring a Conexant chipset
This article is based on the informations retrieved in this how-to in Italian, and is updated to provide an installation guide for USB modems featuring a Conexant chipset in Ubuntu 7.10.
Introduction
First of all, let's check if your modem is supposed to be working with a Conexant chipset, by having a look at this list and by typing:
lsusb
in a terminal. You should see a line looking like this:
Bus 002 Device 003: ID 0572:cb00 Conexant Systems (Rockwell), Inc. E-Tech ADSL Modem v2
This bit:
ID 0572:cb00
tells you the Vendor and Product ID that you can look up in the aforementioned list.
Since you're probably not going to have an internet connection working while you try to set up your USB modem, get the following files first:
- utils.tar.gz. This is mandatory and will provide you with the firmware extractor and the WBoot.hex file.
- CnxEtU.sys. This is a file you should be able to find in the installation CD of your modem. If you aren't able to locate it, download a driver packet from the internet. I've used this one, taken from Atlantis' website, and it worked out nicely.
Hardware set-up
What we need to do now is setting up our hardware. To do so, save utils.tar.gz to your home directory and unpack it with:
tar xzf utils.tar.gz
Compile the utilities:
cd utils
make
You will see something like:
cc cxacru-fw.c -o cxacru-fw
cc cxacru-bp.c -o cxacru-bp
At this point, copy CnxEtU.sys in the utils directory and perform the firmware extraction:
./cxacru-fw CnxEtU.sys cxacru-fw.bin
You will need to copy cxacru-fw.bin in your firmware directory:
sudo cp cxacru-fw.bin /lib/firmware/`uname -r`
We need to create a boot ROM now. Type:
./cxacru-bp > cxacru-bp.bin
and then to place it in the firmware directory:
sudo cp cxacru-bp.bin /lib/firmware/`uname -r`
Restart your computer now. The modem should be able to enstablish a connection now.
Connection set-up
You will need to edit a few files. You may want to create backup copies of them, just in case anything goes wrong. Here is what I did.
I created a backup copy of /etc/ppp/options:
sudo cp /etc/ppp/options /etc/ppp/options_backup
I then opened /etc/ppp/options with a text editor:
sudo gedit /etc/ppp/options
and replaced everything with the following:
# MUST CHANGE: Uncomment the following line, replacing the user@provider.net
# by the DSL user name given to your by your DSL provider.
# There should be a matching entry with the password in /etc/ppp/pap-secrets
# and/or /etc/ppp/chap-secrets.
user "user@provider.it"
# Load the PPPoA plugin.
# If needed, change the VP.VC pair to match the ones used by your ISP.
plugin pppoatm.so
VP.VC
# Enable this option if your ISP uses PPPoA with LLC encapsulation.
#llc-encaps
# Assumes that your IP address is allocated dynamically by the ISP.
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
# Comment out if you already have the correct default route installed.
defaultroute
# Makes pppd "dial again" when the connection is lost.
persist
# Do not ask the remote to authenticate.
#noauth
# Do not try to negotiate compression.
#nopcomp
#noccp
#novj
#lcp-max-configure 50
#refuse-pap
#name any
Be sure to edit the lines:
user@provider.com
...
VP.VC
according to your specific needs!
You need to amend /etc/ppp/pap-secrets and /etc/ppp/chap-secrets. Add the following line to both:
user@provider.com[TAB]*[TAB]password[TAB]*[ENTER]
The last step is to edit /etc/ppp/peers/provider. Check if the following lines are already commented out, otherwise do it:
# MUST CHANGE: replace ******** with the phone number of your provider.
# The /etc/chatscripts/pap chat script may be modified to change the
# modem initialization string.
# connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********"
# Serial device to which the modem is connected.
#/dev/modem
# Speed of the serial line.
#115200
And edit the line:
user "myusername@realm"
with the same user@provider.com you have used so far.
If your ISP doesn't or cannot write the resolver's IPs in /etc/ppp/resolv.conf, you will need to do it by yourself. Edit the file with:
nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX
The first line is for the primary DNS, the second one for the secondary.
Managing your connection
To start your connection type:
pon
or:
sudo pon
To stop your connection type:
sudo poff
You might want to create a launcher with the pon command! ;-)
Notes
The above how-to worked perfectly with my Trust 235A Speedlink modem.


