SpeedTouch USB ADSL HowTo for Fedora Core 2





This HowTo uses the userspace SpeedTouch USB driver. It has been tested on an Alcatel green manta SpeedTouch USB modem and on a bordeau Speedtouch 330. It should be fine for the Thomson models too. There is a chance it works for Smoothwall modems.

All operations must be performed being root.

This HowTo is intended for PPPoA DSL connections. I could not yet get PPPoE to operate. A chapter is dedicated to PPPoE.

If you download the updated FC2 kernel 2.6.7-1.494.2.2 your SpeedTouch USB connection probably won't operate any more. You can download and install that kernel but when you want to use the modem you will have to boot on the old kernel.

A solution when using a different kernel is to erase the speedtch.ko module (or prevent it be compiled. To find out occurences of that module type this command as root:  

find /lib | grep speedtch

Traduzione italiana da Vittorio Sozzi: http://www.fedoraitalia.org/modules/wfsection/article.php?articleid=56


Installation


You need to get files:
Put these files (fc2_speedtouch_usb.tar.gz, speedtouch-1.?.tar.gz (or .bz2) and bootboth.eni or boot1.eni and boot2.eni) inside (say) the /root folder.

Open a terminal window (Taskbar Menu -> System Tools -> Terminal) and type this command (or use any alternate method to extract the file, for example right-clic on the file and ask for extraction):

tar xzf fc2_speedtouch_usb.tar.gz

That creates the fc2_speedtouch_usb folder inside the /root folder. Now put the other files inside that folder. You can do that either by typing the following commands inside a terminal window or by moving the files with the mouse.

mv speedtouch-1.?.tar.* fc2_speedtouch_usb

mv bootboth.eni fc2_speedtouch_usb
or
mv boot1.eni fc2_speedtouch_usb
mv boot2.eni fc2_speedtouch_usb

(Maybe you should make a backup copy of that fc2_speedtouch_usb folder containing the additional files. You probably will use it again soon. Keep it as a ready to use install tool.)

Using the terminal window (or a new one), cd towards the fc2_speedtouch_usb folder and type the install command:

cd fc2_speedtouch_usb
./install

Once the flow of text ends all files will be installed. (If you wish, you can display that install file inside a text editor, instead of executing it in the terminal window. Then you can perform the commands it contains by hand.)

Now you still need to tune two files:
Edit them using any suitable text editor (gedit, kwrite, nedit, kedit, vi, emacs, mcedit...). If you like the terminal window simply try these commands:

gedit /etc/ppp/chap-secrets
gedit /etc/ppp/peers/adsl

/etc/ppp/chap-secrets must contain your login and password the way shown beneath. (Some ADSL providers may request you rather do this with the /etc/ppp/pap-secrets file. If in doubt fill in your login and password inside both files. Also these files may contain other login and password lines, for example your dial-up login and password. That's OK: simply add a line for your ADSL login and password.)


# Secrets for authentication using CHAP
# client    server    secret            IP addresses
"yourlogin@YOURPROVIDER"    *    "yourpassword"    *


/etc/ppp/peers/adsl should contain your login too. You must also tune the vpi and vci. In the example beneath the vpi is 8 and the vci is 35 which suits for my country. For other countries please consult for example the page http://linux-usb.sourceforge.net/SpeedTouch/faq/index.html#q12 or look inside the data provided by your ADSL provider.


#########################################
# Userspace GPL Speedtouch USB peer file#
#########################################

# Put your ISP login name here:
user "yourlogin@YOURPROVIDER"

# Adapt the vpi.vci couple to your ISP/country settings:
pty "/usr/local/sbin/pppoa3 -e 1 -c -m 1 -vpi 8 -vci 35"

sync
noipdefault
noaccomp
nopcomp
noccp
novj
persist
holdoff 4
maxfail 25
usepeerdns
defaultroute
#debug
#kdebug 1
updetach


Once the files are installed and tuned you can start the ADSL connection by typing this command in a terminal window. If it doesn't succeed try restarting your computer.

service speedtouch_usb start

The modem LEDs should blink. A few seconds after they stopped blinking your connection should be on. If not, most error messages are stored inside the file /var/log/speedtouch_usb.log so you can consult that file for clues.


Starting and stopping the ADSL connection


Your ADSL connection should start automatically each time the system starts.

When the connection is on, the academic way to stop it is to type this command (being root):

service speedtouch_usb stop

The academic way to start the connection is to type this command:

service speedtouch_usb start

My way to stop the connection is to type this:

killall pppd

To get it back on I type this (the "adsl" parameter is the name of the file /etc/ppp/peers/adsl):

pppd call adsl

Restarting the connection not allways succeeds. Once it's stuck it keeps stuck. I tried to figure out a way to solve that problem but I haven't found yet. The USB system seems stuck. Then the only solution is to restart the computer.

Martin West provided a reconnection script. It is inside the fc2_speedtouch_usb folder and is named check_adsl.sh


Tuning ADSL start at system boot-up


This can be done using a service configuration tool or by issuing the two commands proposed beneath.

If you want the ADSL connection to no more start automatically at system startup type this command:

service --level 5 speedtouch_usb off

If you want the ADSL connection to start back automatically at system startup type this command:

service --level 5 speedtouch_usb on

Should the  command to stop the automatic boot fail, maybe try this:

service --level 0123456 speedtouch_usb off


Uninstalling


To get rid of all files installed, open a terminal window, cd towards the fc2_speedtouch_usb folder and type the uninstall command:

cd fc2_speedtouch_usb
./uninstall

This should remove all files that were installed. Only the /etc/ppp/chap-secrets, /etc/ppp/pap-secrets and /etc/resolv.conf files should remain unharmed. If you need to keep a copy of some files, say the /etc/ppp/peers/adsl file, make a backup of them before uninstalling.


Troubleshooting


Did you fill in properly the /etc/ppp/chap-secrets and /etc/ppp/peers/adsl files?

Did you try to write down your login and password inside the /etc/ppp/pap-secrets file too?

Did you type your login with the full @PROVIDER? For example suppose my login is atnoip93 and my provider is Planet Internet. My complete ADSL login is atnoip93@PLANET

Is your hardware installed properly? Can you connect using another operating system?

Search the /var/log/speedtouch_usb.log file for clues. Most error messages are logged inside that file each time your machine tries to connect. This is an example of /var/log/speedtouch_usb.log afther a successful connection. Note the DNS data is a key to proper functioning:


Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
CHAP authentication succeeded: CHAP authentication success, unit 8867
local  IP address 81.11.178.48
remote IP address 81.11.176.1
primary   DNS address 194.119.228.67
secondary DNS address 193.74.208.135


What if your ADSL provider does not provide automatic DNS configuration? The system I provide reads the /var/log/speedtouch_usb.log file to get the DNS data and automatically fills that in inside the /etc/resolv.conf file. That will not work if the DNS data is not automatically provided. The solution is you fill the /etc/resolv.conf file in yourself, using the DNS data from your provider's papers. Maybe phone the helpdesk. This is how my /etc/resolv.conf file looks like:


nameserver 194.129.218.67
nameserver 193.73.200.135


You get no more connection since you installed a new kernel. Then probably the drivers interfere with the speedtch kernel module. Try either to re-compile the kernel without the SpeedTouch module (bottom of USB configuration) or add this line inside the /usr/local/sbin/speedtouch_usb_connect file, amongst the modprobe lines: modprobe -r speedtch

If you're sure everything's OK but you keep having no connection, a probable problem is you didn't get the right modem bootcodes (read the top of this HowTo). So you will have to try out several different modem bootcodes till you get the right ones. For example the Macintosh bootcode firmware.bin does not operate for me. The bootcodes are located inside folder /usr/local/share/speedtouch. Erase the existing ones and replace them by other ones. But allways renaming them: either bootboth.eni if you're using the standalone file or boot1.eni and boot2.eni if you're using the two bootcodes system. There's no problem having both the bootboth.eni, boot1.eni and boot2.eni files all three present inside /usr/local/share/speedtouch but then the system will choose the bootboth.eni file. (The /usr/local/share/speedtouch folder contains a file named boot.v123.bin. That is a first bootcode file. So if you believe you only got the second bootcode ans miss the first bootcode, try renaming that boot.v123.bin file to boot1.eni and the second of course to boot2.eni. It worked for me.)

You get the ADSL connection but you're delved under error message when using a console. Best solution I found was to use another set of bootcodes. Once I used the KQD6P1.eni and KQD6P2.eni files (on my Revision 0.00 green manta) I got far less problems. Just a a few error messages at startup and that's all.

If you get a "bulk" message at startup you probably can avoid it by adding the -s option to the two modem_run commands inside the /usr/local/sbin/speedtouch_usb_connect file.

Once you find out the right tunings, maybe you should mirror them inside your backup fc2_speedtouch_usb folder. That way you won't have to do them again next time you install.


PPPoE


The /etc/ppp/peers/adsl file installed is for PPPoA. I put inside the fc2_speedtouch_usb folder a file named adsl-pppoe but it's ineffective. The aim was you copy that adsl-pppoe file towards the /etc/ppp/peers folder and rename it to adsl (thereby deleting the existing adsl file). And edit that new /etc/ppp/peers/adsl file to put your correct login. The only test I could perform with that script is to check the system accepts it. When I start a connection I get a behaviour similar to a PPP dial-up modem but I get no connection.

These links may help you find clues:

http://www.hystedjp.pwp.blueyonder.co.uk
http://www.mail-archive.com/speedtouch@ml.free.fr/msg04203.html

Please tell me if you got a working DSL connection with PPPoE.



Remarks for experts


The key to run the SpeedTouch USB driver on Fedora Core 2 is the -e 1 option inside the /etc/ppp/peers/adsl file for the pty option. I learned that in a mail by Philippe Elie on page http://www.mail-archive.com/speedtouch@ml.free.fr/msg05304.html

You will find additional data inside the /usr/local/share/doc/speedtouch folder. Also you can type man pppoa3 or man pppd for data.


Thanks to Vittorio Sozzi for testing on a 330 modem, translate in Italian and report the problem with the kernel update. To Piersandro Guerrera for finding and solving a problem in the install script. To Martin West for reporting the solution of erasing the speedtch.ko module, reporting the speedtouch-1.3 package works fine provided the install script is adapted and reporting this link: http://www.oracle-base.com/articles/Misc/SpeedTouchUSBLinux.php


Eric Brasseur  -  May 15 2004  till  September 23 2004        [Homepage |eric.brasseur@gmail.com ]