How to get my adsl modem working under windows :
1. downnload drivers
2. double click on setup.exe
3. reboot
How to get my adsl modem working under Linux :
Prequisites
You will need the modem and the Linux drivers. If You got a real cheap one, you may not have Linux drivers. In which case you can get them from The Mad House. You should have the following list of files either on a directory of the installation CD or downloaded (and unzipped) from the above link...
Tigris_K2.2.16_Driver.zip gcc-c++-2.96-85.i386.rpm libstdc++-devel-2.96-85.i386.rpm
Tigris_K2.4.3_Driver.zip gcc-g77-2.96-85.i386.rpm linuxconf-1.24r2-10.i386.rpm
atm-0.78-1-2.i386.rpm gcc-objc-2.96-85.i386.rpm pppd-2.4.0.tar.gz
cpp-2.96-85.i386.rpm kernel-atm-ppp-2.4.3-12.tar.gz rp-pppoe-3.0-1.i386.rpm
devfsd-2.4.3-12.i386.rpm kernel-doc-2.4.3-12.i386.rpm
gcc-2.96-85.i386.rpm libstdc++-2.96-85.i386.rpm
bold means we really need this package.
Italics means, we need it but Mandrake should have a later version of this package, and use Mandrakes version!
Overview
What we need to do (after we log in as root!) is ...
Install Conexant Scripts.
Get Development Packages (C-Compiler and Kernel Source Code)
Install Conexant Driver.
Install ppp 2.4.0b2
Install pppoe
Test
Install Conexant Scripts.
cd /tmp type
# unzip driverdir/Tigris_K2.4.3+Driver.zip
e.g. # unzip /mnt/cdrom/Conexant/Drivers/Linux/Tigris_K2.4.3+Driver.zip This will give you 3 more files CnxADSL-TgrATM_k2.4.3-6.1.2.007-7.i386.rpm Binaries/Scripts
CnxADSL-TgrATM_k2.4.3-6.1.2.007-7.src.rpm Source
CnxADSL-TgrATM_k2.4.3-6.1.2.007.tar.gz More Source
Install the scripts just using the i386 rpm like this:
# rpm -i CnxADSL-TgrATM_k2.4.3-6.1.2.007-7.i386.rpm
Note it will probably be neater to build everything from the Source RPM. But I'll just document the steps I done before I knew better!
Get Development Packages (C-Compiler and Kernel Source Code)
The previous step would have installed a file called CnxADSL.o in the directory /lib/modules/2.4.3/kernel/drivers/net/CnxADSL.o. This is called a Kernel Module and can (in an ideal world) be loaded to enhance the capability of the Linux Kernel (In this case, so that it can work our modem). Unfortunately, there are couple of problems with this file. Its in the wrong place for Mandrake, and even if it wasn't, Mandrake wont load it because it was built for a different Kernel.
If you trust me (!) and if you have Mandrake 9.0 (Kernel 2.4.19-16mdk), (check by typing
# uname -r
), I have already compiled the driver and you can download it right here and save it to /lib/modules/2.4.19-16mdk/kernel/drivers/net/ on condition that you accept that I cannot be held responsible for anything that happens as a result. No warrantee, or fitness for purpose .. yadda .yadda.... Then you can skip to Testing the module.
If you are still reading at this point then you have opted for longer but more cautious route
So we have to create a new one from source. You need to first have the following Mandrake Packages installed from the Mandrake Distribution CDs (gcc and the kernel-source) then ....
#cd /usr/src
#tar xvf driverdir/CnxADSL-TgrATM_k2.4.3-6.1.2.007.tar.gz
#cd CnxADSL-TgrATM_k2.4.3-6.1.2.007
Edit the makefile and change kgcc to gcc. Now type
#./configure
#make
The error messages should be minor. As long as you have a file called CnxADSL.o and the date is within the last few minutes (check using 'ls -l') then everything probably went OK. If this file is missing something is really wrong!
Copy the file CnxADSL.o to /lib/modules/`uname -r`/kernel/drivers/net/.
Testing The Module.
Do a quick test to check everything is in the right place :
type
#insmod -f CnxADSL \
CnxtDslVendorId=0x14F1 \
CnxtDslArmDeviceId=0x1610 \
CnxtDslAdslDeviceId=0x1611 \
CnxtDslPhysicalDriverType=1
You should see messages about a tainted kernel.
now type #lsmod | grep CnxADSL
It should be there!
finally type #rmmod CnxADSL
Modify The Startup Script.
The script supplied with the Conxant drivers is for some kind of ATM bridging mode. I dont think this is useful for PPPoATM but I could be completely wrong on this. All I know is my connection works

Here's my alternative cnxadslctl startup script. Save it to /etc/rc.d/init.d/cnxadslctl.gz. You will need to uncompress it and make it executable as follows
# cd /etc/rc.d/init.d
# gunzip cnxadslctl.gz
# chmod 755 cnxadslctl
I made it from combining Conexants script with the Alcatel Speedtouch script. Play around with it. Improve it. etc
You will also need to create a file /etc/ppp/peers/pci file to work with this script. Here is an example Note the 0.38 represent MY ISPs VPI.VCI. These should be the values in most of the UK. You should change this if needed.
---CUT---/etc/ppp/peers/pci-----------------
noauth
plugin /usr/lib/pppd/plugins/pppoatm.so 0.38
noipdefault
kdebug 1
nopcomp
noccp
novj
holdoff 4
maxfail 25
persist
usepeerdns
defaultroute
user "
[email protected]"
---CUT--------------------------------------
Change the user to the one supplied by your ISP.
This attempts to establish a ppp connection using dhcp. (You ISP assings you an IP address from their available pool.) If you have a fixed IP from your ISP you may find that DHCP works anyway. If not then you need to change the pluging line to read:
plugin /usr/lib/pppd/plugins/pppoatm.so 0.38 local-ip:remote-ip
E.g.
plugin /usr/lib/pppd/plugins/pppoatm.so 0.38 192.2.3.4:192.6.7.8
I havent tested this, but I guess most ISPs would implement fixed IPs by simply reserving them in dhcp so even if you have a fixed IP you may want to leave this for now.
Then edit the files /etc/ppp/pap-secrets and /etc/ppp/chap-secrets and add your username and password with the following format
'
[email protected]' * 'myPassword' *
Startup/Shutdown
Now When we boot into Mandrake later on, we want everything to start up in an orderly fashion, but you will find that the Conexant scripts start before the networking. I'm assuming this is because of two things (and I'm not really sure about either)
For PPPoE (rather than PPPoATM), the modem has to be initialised before networking is started???
The startup, shutdown order used by Conexant is unrelated to Mandrake?
In anycase I reckon that the file should be started after networking so
# cd /etc/rc.d/rc3.d
# mv S*cnxadslctl S90cnxadslctl
# cd /etc/rc.d/rc2.d
# mv K*cnxadslctl K10cnxadslctl
Note my shutdown order is still not entirely correct. It complains that /dev/ttyCX is in use. But it works fine if I stop it manually.
Install ppp 2.4.0b2
Nearly there. All the following bits are easy now. We now need to install an older version of ppp. This version comes bundled with the ATM plugin (pppoatm.so) out of the box. If you did not have PPP installed prior to this step you MUST refer to the README.linux! Easier Still, first install ppp from the Mandrake Distribution CDs and then we'll downgrade it.
Guru Note:You may want to get the latest version of ppp and patch it with pppoatm. I didnt spend too long looking but it looks like the patch modified the core ppp code but you still have to compile the pppoatm.so plugin?? If I get time one day, I'll look at this.
Warning: Downgrading from Mandrakes ppp 2.4.1 to ppp 2.4.0 b2 may stop other devices working that rely on ppp. Notably Alcatel Speedtouch.
# cd /usr/src
# tar xvfz driverdir/pppd-2.4.0.tar.gz
# cd ppp-2.4.0b2
# ./configure
# make install
You can try to do a 'make' before 'make install' but for me it didnt compile. I just installed the binaries that are already present in the tar archive.
Also, some (one) have reported back to me that they had better results skipping the ./configure and just doing a 'make' followed by 'make install'
Check by typing 'pppd -v' and you should see version 2.4.0b1 (Yes b1 not b2, I dont know why!)
Also check that /usr/lib/pppd/plugins/pppoatm.so exists. If it doesnt you will have to copy it from the build directory to this location. E.g.
cp /usr/src/ppp-2.4.0b2/pppd/plugins/pppoatm.so /usr/lib/ppd/plugins/.
The location of pppoatm may be slightly different to above. This is from memory again!
Install pppoe
Final step. Install pppoe as follows
# rpm -i driverdir/rp-pppoe-3.0-1.i386.rpm
Guru note: I'm not sure how the latest version of pppoe (from Roaring Penguin) works with ppp 2.4.0 b2 So I though I'd keep everything simple for the time being and use the versions from the Conexant driver cd.
Test
To test it try the following commands:
# cnxadslctl.sh start
# cnxadslctl.sh status
This should tell you if the device is working. If there is no device or no line connected check hardware and cabling and then check /var/log/messages and do an lsmod to see if the CnxADSL module is loaded.
# ifconfig -a
This should tell you if you have connected to your ISP