SpeedTouchConf - The Speedtouch Configuration script for Linux spacer Speedtouch ADSL Modem
spacer
triangle spacer

Support this project

Valid HTML 4.01!

SourceForge Logo

spacer

SpeedTouchConf

Alcatel SpeedTouch USB Modem - Linux Configuration : FAQ (See Also Troubleshooting)


Frequently Asked Questions

How does this modem work?
I get some "bulk timeout errors" when I connect
I typed in the wrong VPI / VCI!
I typed in the wrong login / password!
No, I'm sure I typed in the correct login and password
LCP: timeout sending Config-Requests
USB Thread / Build Errors
I get error messages about USB buses
Software Configuration Failed
I get an error "250" from modem_run
I get an error "240 - Modem not found" from modem_run
I get an error "235 - Mutex value not OK" from modem_run
How can I start/stop the connection manually?
The connection isn't started automatically when I reboot
I'm using Ubuntu (or similar Debian based distro) and the script complains that files are missing, or the build fails
What is the relationship between speedtouch.sf.net and speedtouchconf.sf.net?
I get slow downloads, ~10-15kbps
How can I learn about Unix / Linux Bourne / Bash shell scripting / programming?
Where else can I look for answers to my problems?

  1. How does this modem work?
    See How It Works
  2. I get some "bulk timeout errors" when I connect
    Do not worry - these are normal, if you get less than five of them, and connect okay.
  3. I typed in the wrong VPI / VCI!
    Just edit /etc/ppp/peers/adsl and change them in the "pppoa3" line.
    Alternatively, run undo.sh,(requires an uppercase YES to work), poweroff, and run the script again.
  4. I typed in the wrong login / password!
    Just edit /etc/ppp/chap-secrets and /etc/ppp/pap-secrets, removing the incorrect line(s).
    Or run the undo.sh script, (requires an uppercase YES to work) and start from scratch.
  5. No, I'm sure I typed in the correct login and password
    Check for a pppoa3 pid file in /var/run - sometimes pppoa3 fails to remove its lock file there. If the file is there, then:
    Remove the file, then:
    1. Run the undo.sh script
    2. Power off the PC
    3. Disconnect the modem for 5 seconds, then re-connect it
    4. Poweron the PC, boot into Linux
    5. Run the speedtouchconf.sh script again.
  6. LCP: timeout sending Config-Requests
    If your ISP is PPPoE, use /usr/local/bin/speedtouch-setup --pppoe to configure your modem. Otherwise, see I typed in the wrong login / password! and No, I'm sure I typed in the correct login and password.
  7. USB Thread / Build Errors
    If you get a message that "Software Build: Failed", and messages like this in /tmp/speedtouch.make.txt:
    cd src && make 
    make[1]: Entering directory
    `/home/marian/speedtouchconf-26-May-2006/speedtouch-1.3.1-sgp/src'
    gcc -Wall -I. -I/usr/local/include -I/usr/include -O2 -DVERSION="\"1.3.1\""
    -D_REENTRANT -D_THREAD_SAFE -o pusb.o -c pusb-linux.c
    gcc -Wall -I. -I/usr/local/include -I/usr/include -O2 firmware.o pusb.o modem_run.o
    crc.o smallsem.o mutex.o  -o modem_run
    gcc -Wall -I. -I/usr/local/include -I/usr/include -O2 pusb.o pppoa2.o crc.o
    atm.o smallsem.o  -o pppoa2
    gcc -Wall -I. -I/usr/local/include -I/usr/include -O2 pusb.o pppoa3.o crc.o
    atm.o -pthread  -o pppoa3
    pppoa3.o: In function `read_from_usb_thread':
    pppoa3.c:(.text+0x45c): undefined reference to `__pthread_register_cancel'
    pppoa3.c:(.text+0x729): undefined reference to `__pthread_unregister_cancel'
    pppoa3.o: In function `write_to_usb_thread':
    pppoa3.c:(.text+0xaa6): undefined reference to `__pthread_register_cancel'
    pppoa3.c:(.text+0xbaa): undefined reference to `__pthread_unregister_cancel'
    pppoa3.o: In function `read_named_pipe_thread':
    pppoa3.c:(.text+0x2c69): undefined reference to `__pthread_register_cancel'
    pppoa3.c:(.text+0x30af): undefined reference to `__pthread_unregister_cancel'
    collect2: ld returned 1 exit status
    make[1]: *** [pppoa3] Error 1
    make[1]: Leaving directory
    `/home/marian/speedtouchconf-26-May-2006/speedtouch-1.3.1-sgp/src'
    make: *** [modem] Error 2
    
    Then you need to run the following commands (from the same place):
    # cd speedtouch-1.3.1-sgp
    # make clean
    # cd ..
    # ./speedtouchconf.sh (again - it should work this time)
    This is typically caused from an accidental inclusion of binaries from the developer's machine. Sorry if that's my fault.
  8. I get error messages about USB buses
    If you're using Linux 2.6 (eg, SuSE 9.1, Mandrake 10, Fedora Core 2), these can be safely ignored; if they stop the modem from connecting on reboot, set LOAD_USBCORE=0 in /etc/speedtouch.conf
    Also check DEFAULT_USBINTERFACE in /etc/speedtouch.conf. It should match your USB bus module - uhci, ohci, or ehci (prepend "usb-" for 2.4 kernels).
  9. Software Configuration Failed and /tmp/speedtouch.config.txt shows configure: error: cannot find sources (AUTHORS) in . or ..
    You have extracted the download to a Windows partition. Extract it to a Linux partition like this:
    # cd /tmp
    # tar xzf "/windows/Documents And Settings/myname/speedtouchconf-xx-xx-xxxx.tar.gz"
    # cd speedtouchconf-xx-xx-xxxx
    # ./speedtouchconf.sh
    
    This is because the script is looking for a file called AUTHORS, and Linux is case-sensitive, whilst Windows is not. Linux can mmount Windows partitions to default to upper-case or lower-case. To Windows, AUTHORS and authors is the same file; to Linux, these are different files. So when the filesystem is mounted under Linux, a choice has to be made how to represent the file. The easiest (and best) option is simply to extract the tarball under Linux, which will do the Right Thing about filenames.
  10. I get an error "250" from modem_run
    If you've run the script twice in a row, this is normal. The firmware can only be loaded once (without powering down the modem, either by rebooting, or disconnecting the modem and re-connecting it). The script only needs to be run once (assuming it is succesful).
    If you do run the script twice, check /etc/ppp/chap-secrets (and pap-secrets) for duplicate entries - these should not matter, unless you entered an incorrect login/password at any point. The bundled undo.sh script will clean things up to the same state as before you ran the speedtouchconf.sh script.
    Also check for a directory called /etc/speedtouch/ - move it away with the command mv /etc/speedtouch /etc/speedtouch.broken and reboot.
  11. I get an error "240 - Modem not found" from modem_run
    This generally means that you have a Silver modem; this modem requires the rev4fw.zip or similar zip file, not the alcaudsl.sys, mgmt.o files. These files should not be in the same directory as the script, as they will be used in preference to rev4fw.zip if found. There is no general mapping of colour to firmware, so try a few - the one which works with your Windows installation is the most likely to work.
  12. I get an error "235 - Mutex value not OK" from modem_run
    The 235 error means that something has already tried to load something to the modem - possibly speedtouchconf itself - run the undo.sh script and reboot to clear it out. See also "250" above. With Mandriva, rpm -e speedtouch should do the job.
  13. How can I start/stop the connection manually?
    The script offers to intialise the connection on every boot; if your ISP does not charge by the minute ("Always On") you should chose this option - you'll be connected automatically when you switch on the PC.
    If your ISP charges by the second/minute/hour, you should instead use the following procedure:
    To start it initially after a system boot:
    /etc/init.d/speedtouch start
    To stop it:
    pkill pppd
    To restart it:
    pppd call adsl
    To stop and restart, repeat the "pkill pppd" and "pppd call adsl" commands.
  14. The connection isn't started automatically when I reboot
    For Slackware, this is a tricky one... for other distros (SysV-style init scripts) it's fairly straightforward, though there are a few variations. Follow this procedure and it should go well.
    # who -r
             run-level 3  Jul 23 22:54                   last=S
       (This tells us that we're in run-level 3, so we need to find a 
        directory called rc3.d. Your run-level could be 2 or 5.)
    # cd /etc/
    # ls -d rc3.d init.d/rc3.d
    ls: init.d/rc3.d: No such file or directory
    rc3.d
       (This tells me that I have an rc3.d directory, not an 
        init.d/rc3.d directory.)
    # cd rc3.d
    # ln -sf /etc/init.d/speedtouch S90speedtouch
    # cd ../rc0.d
    # ln -sf /etc/init.d/speedtouch K10speedtouch
    # cd ../rc6.d
    # ln -sf /etc/init.d/speedtouch K10speedtouch
    
  15. I'm using Ubuntu (or similar Debian based distro) and the script complains that files are missing, or the build fails
    Make sure that you apt-get install the following packages (based on a Ubuntu 'server' install):
    1. gcc
    2. make
    3. unzip
    4. libc6-dev
    Which means you must run the command: apt-get install gcc and again for make and for libc6-dev
  16. What is the relationship between speedtouch.sf.net and speedtouchconf.sf.net?
    Speedtouchconf.sf.net includes the speedtouch.sf.net code (thanks to the GPL). All that speedtouchconf adds to the excellent work already done, is to automate the documentation provided by speedtouch.sf.net, assuming a modern Linux distribution (RedHat 8, Mandrake 9, etc) with 2.4.18 or newer kernels (or older kernels with the HDLC patch). Now that current Linux distros need no patching to use the Alcatel SpeedTouch USB Modem, it seems obvious to have a shell script to automate the configuration process.
    speedtouchconf.sf.net modifies the speedtouch.sf.net code slightly to give more useful reports on errors - the vanilla code reports "-1" for any error - the patched code gives a unique code for each error, and displays this in plain English. This patching means that the patched version may lag behind the latest code.
  17. I get slow downloads, ~10-15kbps
    Try a different firmware - if you used alcaudsl.sys, then replace /etc/ppp/alcaudsl.sys with mgmt.o, etc. See "Get the microcode" at the homepage for options. This is not fully documented, but firmware changes sometimes seem to help.
    The new firmware's filename and the "MICROCODE=" line in /etc/speedtouch.conf must match.
  18. How can I learn about Unix / Linux Bourne / Bash shell scripting / programming?
    I also maintain a tutorial at http://steve-parker.org/sh/sh.shtml which should take a beginner to a reasonably advanced level of Bourne / Bash shell programming experience.
  19. Where else can I look for answers to my problems?
    • The SpeedTouch FAQ - particularly Section 4.10 about LCP-Config-Request Timeouts
      This link seems to have died, so here's a copy from Google's cache.
    • SpeedTouch Documentation
    • PPP HOWTO
    • The Kernel Driver reccommends itself if you have a 2.6.10 or newer kernel. I have not used it myself.
      Then again, I've not had the LCP Timeout errors that others have had problems with recently; that's the most common request I get these days, and I can never reproduce them.

 

 
triangle