Linux installation help for PCI ADSL modems based on the conexant chipset
PCI ADSL modems based on the conexant chipset are sold by many online retailers such as dabs. This document describes how to install and setup this modem on GNU/linux for use with ADSL provided by BT in the UK, however this should also serve as a guide for other ADSL providers that use PPP over ATM.
The resulting output should contain the lines similar to:
Newer linux distributions may have an updated PCI device database and hence the output would be similar to:
Important general considerations
There are many driver versions, ppp over atm versions and atm utility versions on the internet. If you are using the instructions on this site then you must use the source code on this site and you must remove any previous installation of the software. Do not expect any help from me if you do not use the source code listed in the resources section of this site and whose link anchor is referenced with the text download from this site. This installation procedure is not for novices! If you are a novice I suggest you find a GNU/linux distribution that supports your adsl modem.
1. Kernel and gcc compatibility
If you are using a kernel released from kernel.org then in order to use the conexant modem you will need to have a 2.4.x (tested 2.4.19, 2.4.21 and 2.4.23) linux kernel. If you are using a kernel provided by a vendor such as RedHat or SuSE you will need the kernel sources, please note that I have not tested any kernels other than those released by kernel.org. You may check your kernel version with:
I have tested the installation process with older (gcc 2.96) and newer (gcc 3.2.2) gcc versions and they both work. If your system uses a gcc version newer than 3 then you will need a newer version of binutils (tested 220.127.116.11.18 20030206). You may check your gcc version with:
You may check your binutils version with:
2. Kernel modules required
Your kernel will need to support the functionality listed below, if it does not you will have to recompile your kernel. Required functionality:
Some of this support may be experimental so ensure you enable such drivers in the code maturity level options. If you choose to compile the above support as modules then the resulting module will be pppoatm.o and should be loaded at boot time with:
Note: Linux 2.6.* users should note that their kernel must be compiled without the "use register arguments" (CONFIG_REGPARM) option. This is an experimental option that will almost certainly never work reliably with this driver or any other driver that uses proprietary object code. Newer versions of Fedora and SuSE come with kernels that use this option, in these cases you will have to recompile the kernel.
3. Tools and libraries required
In order to compile the driver you will need the tools and libraries for ATM. This package is already present on your system if you have the file:
If you already have this package it is suggested that you replace it with the version found on this site. You can install ATM for GNU/linux using the usual configure, make procedure, similar to:
On some more recent linux distributions this package will not copmile, if this is the case and the kernel module does not compile then it is suggested that you replace the /usr/include/atm.h with the one used in your current kernel. You may do so by changing directory to the root of your kernel (usually /usr/src/linux) and typing:
4. Compile and install the linux kernel driver
You will need to compile and install the pci conexant adsl GNU/linux driver. Firstly make sure you have your kernel sources in /usr/src/linux, if your sources are elsewhere then create a symbolic link. The commands below are for the 2.2.x and 2.4.x linux kernel versions, if you have a 2.6.x kernel you my try the version of the 2.6.x driver, but this is a test driver and you will have to change the commands below accordingly. If you download the driver from this site it may be compiled as follows:
This will create and install the kernel module and the init scripts. Depending on your GNU/linux distribution, you may also have to rebuild your module dependancies with:
5. Compile and install PPP over ATM
You will need to compile and install PPP with the PPP over ATM plugin. If you download the PPP source from this site you may compile and install it as follows:
6. Configure PPP to connect to your ADSL provider
In the directory /etc/ppp there are a number of files used to configure PPP, you will have to edit these files and put in the correct settings for your ISP. The following example configuration files work for ADSL provided via BT in the UK. The /etc/ppp/options file contents:
The /etc/ppp/chap-secrets file contents:
7. Start ADSL connection to the internet
Finally to start your ADSL connection type:
Any error/status messages will appear in the global log file /var/log/messages. If all is OK you should have log lines like:
You can check on the status of your modem with the following command:
The output of this will let you know if your line is synchronised and give you further information and statistics.
Below you can find a list of verified working distributions. However, all distributions should work if you compile everything from sources and follow all the steps in the above instructions to the letter.
Some or all of these resources are required: