The choice between PPPoA and PPPoE depends on you provider. Most providers support one protocol, some both. Consult the FAQ to see which protocol is applicable to you. If you can choose, PPPoA has the least overhead and thus best performance...
find /usr/lib/pppd -name pppoatm.soIf the result is "No such file or directory" then you will have to download an ATM aware PPP daemon. Try these packages.
cd /usr/src/Now, move the old Linux kernel away:
mv linux linux.oldRemark: usually this is a symbolic link that can also be deleted.
Untar your new kernel:
If this is linux-2.4.x.tar.gz :
tar zxvf linux-2.4.x.tar.gzIf this is linux-2.4.x.tar.bz2:
cat linux-2.4.x.tar.bz2 | bunzip2 - | tar xvf -As a good measure, move your kernel and put a symbolic link.
mv linux linux-2.4.xRemark: Off course, do not forget to replace the 'x' with your version number!
ln -s linux-2.4.x linux
cd /usr/src/linuxUnzip the patch:
gzip -d pppoatm-1.gzApply the patch:
patch -p1 -s -E < /path/to/pppoatm-1Ready.
cd /usr/src/linuxUnzip the patch:
gzip -d br2684-against2.4.2.diff.gzApply the patch:
patch -p1 -s -E < /path/to/br2684-against2.4.2.diffReady.
cd /usr/src/linux/You will need to set the following options:
make menuconfig
cd /usr/src/linuxType:
make depCongratulations with your new kernel!
make bzImage
make modules
make install
make modules_install
make mrproperBefore you try the above sequence.
As a quick check you can type:
uname -ato see if your new kernel has booted. It should return something like:
Linux infinty 2.4.4 #4 Sun May 6 04:09:45 CEST 2001 i686 unknownIf there are any problems in installing and getting your kernel to run, please consult the Linux Kernel HOWTO or the documentation of your distribution.
tar zxvf speedtouch-1.x.tar.gzThe last step needs to be done as root. Ready!
cd speedtouch
make
make install
Remark: If you are using speedtouch-1.0.tar.gz, you can edit speedtouch.c before building and installing it and remove the following line:
#define DEBUG_PACKET 1
This will cause the module to use a LOT less CPU resources.
rpm --install hotplug-XXXXX-1.noarch.rpmIf you downloaded the source archive:
tar zxvf hotplug-XXXXX-1.tar.gzRemark: This only work smoothly for RedHat systems, installation instruction for other distributions can be found in the hotplug README file.
make install
Now, to make sure your hotplugging subsystem is started at boot time:
cd /etc/rc.d/rc3.dTo make sure hotpluggin is disabled at shutdown, add:
ln -s ../init.d/hotplug S07hotplug
cd /etc/rc.d/rc3.d
ln -s ../init.d/hotplug K07hotplug
tar zxvf speedmgmt-1.x.tar.gzand go to step eight.
cd mgmt
make install
cd speedtouch(this last step needs to be done as root).
./configure
make
make modem_run
mkdir /usr/local/libthen
cp mgmt.o /usr/local/lib/firmware.binor
cp alcaudsl.sys /usr/local/lib/firmware.binor
cp firmware.bin /usr/local/lib/firmware.bindepending on the version of the firmware you are using.
mkdir /etc/hotplug/usband (as root) place the following in /etc/hotplug/usb/speedtouch.usermap:
speedtouch 0x0003 0x06b9 0x4061 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 0x00000000and the following in /etc/hotplug/usb/speedtouch:
#!/bin/bash
case $ACTION in
add)
mesg "speedtch: uploading microcode."
if /usr/local/sbin/modem_run -k -f /usr/local/lib/firmware.bin ; then
sleep 5
if /usr/sbin/pppd ; then
mesg "speedtch: started pppd."
fi
fi
;;
esac
cd /devIf your distribution does not include the MAKEDEV script, or it fails to create the correct device,
./MAKEDEV ppp
mknod /dev/ppp c 108 0Now we install the pppd daemon:
rpm --install ppp-2.4.0b2-2.i386.rpmRemark: Problems have been reported with package ppp-2.4.0-2.i386.rpm, that is why I list a beta package here.
tar zxvf atm-0.78.tar.gzRemark: In RH 7.0, this package will probably fail the compiling process. Do not worry, we only need the header files.
cd atm
make
make install
Now we compile and install the br2684ctl utility,
cc -o br2684ctl brctl-010226.c -latmMake sure you do not have a pppd installed on your system. It will be overwritten!
cp br2684ctl /usr/sbin/
tar zxvf ppp-2.4.0-pppoe4.tgzIf you chose to use roaring penguin PPPoE, please consult the included install instructions.
cd ppp-2.4.0.pppoe4
./configure
make
make install
/dev/usb /proc/bus/usb/ usbdevfs defaults 0 0This will mount usbdevfs at boot time.
Remark: If you are using mgmt version 1.3.1 or
older, you must mount is under /proc/bus/usb/
Version 1.3.2 will also look in /dev/usb/.
Remark: If this gives errors during booting, check
whether /dev/usb is not already there. If it already exists, replace
/dev/usb in the above line with /dev/invalid . The exact name does not
matter, as long as it does not exist.
To mount it now type:
mount -a
lockThese settings will cause pppd to check the link state and time out a connection after 14 seconds if the link is broken. I chose this value because If the ADSL line looses sync, it will take about 10 seconds to resync.
defaultroute
noipdefault
noauth
holdoff 4
maxfail 25
persist
asyncmap 0
lcp-echo-interval 2
lcp-echo-failure 7
name user@domain
user user@domainplugin /usr/lib/pppd/plugins/pppoatm.so
0.38
Remarks:
You will need to replace the two "user@domain"s with your ADSL
username.
Also, in the above example "0.38" is the VPI/VCI ATM pair for the author's provider. You will need to know what the correct values are for your provider, and substitute those. If these values are incorrect, you may sync, but will not be able to connect to your ISP's IP layer, and probably be frustrated. These values can be obtained from the Window's Alcatel client, your ISP or the FAQ
Edit the file /etc/ppp/chap-secrets and replace its contents with the following:
# Secrets for authentication using CHAPNow put the same contents in /etc/ppp/pap-secrets.
# client server secret IP addresses
user@domain * password
Remark: You will need to replace "user@domain" with your ADSL username and "password" with your ADSL password.
lockThese settings will cause pppd check the link state and to time out a connection after 14 seconds if the link is broken. I chose this value because If the ADSL line looses sync, it will take about 10 seconds to resync.
defaultroute
noipdefault
noauth
holdoff 4
maxfail 25
persist
asyncmap 0
name user@domain
user user@domain
lcp-echo-interval 2
lcp-echo-failure 7
plugin /usr/lib/pppd/plugins/pppoe.so
nas0
Remark: You will need to replace the two "user@domain"s with your ADSL username.
Edit the file /etc/ppp/chap-secrets and replace its contents with the following:
# Secrets for authentication using CHAPNow put the same contents in /etc/ppp/pap-secrets.
# client server secret IP addresses
user@domain * password
Remark: You will need to replace the "user@domain"s with
your ADSL username and "password" with your real password..
Speedmgmt[1234]: Alcatel SpeedTouch USB Management daemon started.Remark: If you are not seeing the version number, you are using version 1.3 and you MUST upgrade. The 1.3 version has a bug that will severely limit your upstream bandwidth.
Speedmgmt[1234]: (C) Alcatel 2001, Version 1.3.1
At then end of the sequence when both LED's are green something like the following will appear:
Speedmgmt[1234]: Modem initialized at 1120 kbit/s downstream and 128 kbit/s upstreamRemark: the numbers in the message are purely dependent on your ISP and your subscription.
If you want to dial in to your ISP, do the following:
For PPPoE only:
br2684ctl -b -c 0 -a 0.VP.VCRemark: VP and VC are to be replaced with the VP/VC values of your ISP. You will need to know what the correct values are for your provider, and substitute those. If these values are incorrect, you may sync, but will not be able to connect to your ISP's IP layer, and probably be frustrated. These values can be obtained from the Window's Alcatel client, your ISP or the FAQ
For PPPoE and PPPoA:
pppdYou can check your /var/log/messages to see if everything went ok.
For PPPoA this should be something like this:
pppd[1234]: Plugin /usr/lib/pppd/plugins/pppoatm.so loaded.For PPPoE this gives something like:
pppd[1234]: PPPoATM plugin_init
pppd[1324]: PPPoATM setdevname_pppoatm
pppd[1324]: PPPoATM setdevname_pppoatm - SUCCESS
pppd[1235]: pppd 2.4.0b1 started by root, uid 0
pppd[1235]: Using interface ppp0
pppd[1235]: Connect: ppp0 <--> 0.38
pppd[1235]: local IP address xxx.xxx.xxx.xxx
pppd[1235]: remote IP address yyy.yyy.yyy.yyy
pppd[1234]: PPPoE Plugin InitializedCongratulations! You are online!
pppd[1235]: pppd 2.4.0 started by root, uid 0
pppd[1235]: Sending PADI
pppd[1235]: HOST_UNIQ successful match
pppd[1235]: HOST_UNIQ successful match
pppd[1235]: Got connection: 3b8
pppd[1235]: Connecting PPPoE socket: 00:90:1a:10:11:bd b803 nas0 0x807bdc0
pppd[1235]: Using interface ppp0
pppd[1235]: Connect: ppp0 <--> nas0
pppd[1235]: local IP address xxx.xxx.xxx.xxx
pppd[1235]: remote IP address yyy.yyy.yyy.yyy
/sbin/hotplug: arguments (usb) env (PWD=/etc/hotplug HOSTNAME=infinty DEVICE=/proc/bus/usb/001/002 ACTION=remove DEBUG=yes MACHTYPE=i386-redhat-linux-gnu OLDPWD=/ DEVFS=/proc/bus/usb TYPE=9/0/0 SHLVL=1 SHELL=/bin/zsh HOSTTYPE=i386 OSTYPE=linux-gnu HOME=/ TERM=dumb PATH=/bin:/sbin:/usr/sbin:/usr/bin PRODUCT=451/1446/100 _=/usr/bin/env)
If this is not happening, check whether hotplugging was enabled in the kernel.
If the LED's of the modem do not start their sequence, check whether the usb subsystem is started.
lsmodThis command should return something like:
Module Size Used byIf the uhci or usb-ohci is missing, try modprobing them:
speedtch 10128 2 (autoclean)
uhci 18496 0 (unused)
usb-ohci 16160 0 (unused)
modprobe uhciRemark: You will need only one of them to get things working!
modprobe usb-ohci
If modprobe complains about not finding the modules, go back to the section about configuring the kernel, verify the configuration of the USB subsystem. If nothing is wrong, go the section of making the kernel and rerun:
make installIf this is all ok, check whether mgmt is running.
make install_modules
reboot
ps -ef | grep mgmtThis should return a line like:
root 3215 1 0 19:41 ? 00:00:00 /usr/sbin/speedmgmt
If it does not, then check your /var/log/messages.
If this shows something like:
kernel: usb.c: registered new driver Alcatel SpeedTouch USB
Speedmgmt[1234]: Alcatel SpeedTouch USB Management daemon started.
Speedmgmt[1234]: (C) Alcatel 2001, Version 1.3.1
Speedmgmt[1234]: bulk_write: Invalid argument
Speedmgmt[1234]: bulk_read: Invalid argument
Speedmgmt[1234]: bulk_write: Invalid argument
Speedmgmt[1234]: bulk_read: Invalid argument
Speedmgmt[1234]: USBDEVFS_SUBMITURB: Invalid argument
Then you forgot to mount usbdevfs on /proc/bus/usb/!
Check whether you added the line to /etc/fstab. If you have,
type:
mount -aIf this does not work, check whether you have enabled the usbdevice filesystem in you kernel configuration.
pppd[1234]: LCP: timeout sending Config-Requests
Go to /proc/net/atm and do:
cat "/proc/net/atm/speedtch:0"If this file is not there, the speedtouch module is missing. Repeat step 5.
Speed Touch USB (usb-00:10.1-2)If the numbers are all 0's, the ppp daemon is wrongly configured and it is not sending data to the modem.
MAC: 00:90:d0:2c:2c:5a
AAL5: tx 25599 ( 0 err ), rx 37419 ( 0 err, 0 drop )
Line up, firmware loaded
When I plugin my modem, the LED sequence never goes beyond step two and the syslog gives something like:
Speedmgmt[1234]: Alcatel SpeedTouch USB Management daemon started.Please install the Alcatel management tool version 1.3.4 or later.
Speedmgmt[1234]: (C) Alcatel 2001, Version 1.3.3
kernel: usb_control/bulk_msg: timeout
Speedmgmt[1234]: bulk_write: Connection timed out
kernel: usbdevfs: USBDEVFS_BULK failed dev 3 ep 0x5 len 991 ret -110
kernel: usb_control/bulk_msg: timeout
pppd connects fine, but when I try to reach webpage, it doesn't work.
You can try two things.
First, try to add the following option to your /etc/ppp/options
file.
usepeerdnsOR figure out the dns server of your provider (see Windows).
nameserver aaa.bbb.ccc.dddwith aaa.bbb.ccc.ddd and eee.fff.ggg.hhh mathcing the ip addresses of your providers primary and secondary dns.
nameserver eee.fff.ggg.hhh
modprobe speedtch.oThere are no real rules. Just make sure you insert the module before the line is in sync. From speedmgmt version 1.3.3 onwards, it no longer matters when you insert the kernel module.
/usr/sbin/speedmgmt &
#!/bin/bashFor PPPoE It should be something like:# configuration and startup-script for the Alcatel SpeedTouch USB modem
case $ACTION in
add)
# startremove)
mesg SpeedTouch Inserting module.
modprobe -k speedtchmesg SpeedTouch Attempting to start management deamon
/usr/sbin/mgmt &# allow the modem to come into sync.
sleep 20;# startup pppd
pppd
;;killall mgmtesac
;;
#!/bin/bashRemark: don't forget to adjust the VP/VC values!# configuration and startup-script for the Alcatel SpeedTouch USB modem
case $ACTION in
add)
# startremove)
mesg SpeedTouch Inserting module.
modprobe -k speedtchmesg SpeedTouch Attempting to start management deamon
/usr/sbin/mgmt &# allow the modem to come into sync.
sleep 20;# startup pppd
br2684ctl -b -c 0 -a 0.VP.VC
pppd
;;killall mgmtesac
;;
Important: There is a catch here though. The hotplugging
system does not yet support remove events. This means you will have to
kill your pppd or br2684ctl utility by hand otherwise you have problems
when plugging the modem in again.
Words shall not be hid, nor spells be buried; might shall not sink underground, though the mighty go. - The Kalevala