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?
- How does this modem work?
See How It Works
- 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.
- 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
- 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.
- 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:
- Run the
- Power off the PC
- Disconnect the modem for 5 seconds, then re-connect it
- Poweron the PC, boot into Linux
- Run the
speedtouchconf.sh script again.
- 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.
- 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: Entering directory
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: *** [pppoa3] Error 1
make: Leaving directory
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.
- 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,
/etc/speedtouch.conf. It should
match your USB bus module - uhci, ohci, or ehci (prepend "usb-" for 2.4 kernels).
- 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
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.
- 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.
- 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.
- 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.
- 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:
To stop it:
To restart it:
pppd call adsl
To stop and restart, repeat the "pkill pppd" and "pppd call adsl" commands.
- 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
(This tells me that I have an rc3.d directory, not an
# 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
- 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):
Which means you must run the command:
apt-get install gcc and again for
make and for
- 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.
- 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.
- 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.
- 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.