This web page is to help people get this PCI Modem running under Mandrake Linux 9.0 and over PPPoATM
This chipset is used on a number of different cheap brands. The most popular name is AccessRunner. Mine was MegaSpeed. I brought it from a computer fair for £35. It said "Linux Drivers included" right there on the box.
"This should be a breeze" I thought. Little did I know...
Most of my time was spent learning a bit more learning (roughly) what a lot of this networking jargon means. The good news is that you should be up and running in 30 minutes!
For Linux Gurus - There are much cleaner ways to do this. I'll try to point out bits that could be nicer..
There are very likely to be some errors as this is a first draft from memory.
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
bold means re really need this package.
Italics means, we need it but Mandrake should have a later version of this package, and use Mandrakes version!
What we need to do (after we log in as root!) is ...
# 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
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!
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 have Mandrake 9.0 (Kernel 2.4.19-16mdk), and you trust me :), you can download the driver 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 ....
#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
The error messages should be minor. As long as you have a file called CnxADSL.o 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/.
Do a quick test to check everything is in the right place :
#insmod -f CnxADSL \ CnxtDslVendorId=0x14F1 \ CnxtDslArmDeviceId=0x1610 \ CnxtDslAdslDeviceId=0x1611 \ CnxtDslPhysicalDriverType=1
You should see messages about a tainted kernel.
now type #lssmod | grep CnxADSL
It should be there!
finally type #rmmod CnxADSL
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. Copy it to /etc/rc.d/init.d/cnxadslctl and make it executable as follows chmod 744 /etc/rc.d/init.d/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. 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 "firstname.lastname@example.org" ---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
plugin /usr/lib/pppd/plugins/pppoatm.so 0.38 220.127.116.11:18.104.22.168
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@example.com' * 'myPassword' *
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)
# 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 in manually.
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.]
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.
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.
To test it try the following commands:
# cnxadslctl start
# cnxadslctl 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 This should tell you if you have connected to your ISP
If there is no ppp0 interface check /var/log/messages and double check usernames / passwords in /etc/ppp/peers/pci, /etc/ppp/chap-secrets & /etc/ppp/pap-secrets Comments welcome.
Post to the Mandrake Newsgroup (alt.os.linux.mandrake) with Conexant PCI in the subject and a reference to this web page. There are very likely to be some errors as this is a first draft from memory. I'm not a Linux expert, but I will try to make time to help others out. By posting to the NG some of the guys and gals there may be able to help out faster than I get around to looking at it.
Make sure its a good question, otherwise it may get a bit frosty :)
If you are trying this with another Distro and have questions, please post to a relevant Newsgroup and refere to this web page.
Ultimately it would be nice to get this running with the latest versions of pppd and pppoe, but right now it works just fine for me so that is low priority.
A few other people have put together notes on this before me. Most use the bridging stuff. br2684. This could be the way I should have done it. I'm not entirely sure!!! All I know is I'm up'n'running!
Andrew Lord (aka Lordy)
Last updated very early in the morning 4th Feb 2003