Alcatel SpeedTouch USB Modem - Linux Configuration : How It Works

How It Works

The SpeedTouch modem contains a processor (just like your PC, except it's an ARM processor), but it has no hard disk or Flash storage.
That means that every time it loses power, it has no idea what to do. So when you turn on your PC (which gives power to the SpeedTouch modem), the modem needs to upload the firmware - just like a PC needs to boot Linux, or Windows, or whatever.
This approach has a few benefits:
  • You can easily change what code the modem runs, simply by loading a different firmware file to the modem.
  • You don't get an "old version" from the factory, because the version your modem runs is whatever version you load to your modem.
However, there are quite a few negatives with this approach:
  • You have to load the firmware to the modem every time you reboot, and this can take up to one minute to complete... every time you switch on your PC.
  • The design is very basic; the modem will only load a microcode once. If that load fails for any reason, you will need to reboot the modem (remove it from the USB port for 5 seconds) or (possibly easier) reboot your PC.
  • Different modems need different firmware files; if a modem loads the wrong firmware, it not only won't work, it will (see above) be unable to load a new firmware to fix the problem (without rebooting it).
This can cause various failure scenarios. Not least because many Linux distributions do not understand the limitations of this device, and believe that by including the code from that they have added support for the device. SuSE and Mandrake are particularly guilty of this.
Also, the firmware itself is copyrighted by Alcatel (Thomson), and is not redistributable by free Linux distributions, so you have to obtain that yourself. (It's normally included on a CD with the modem, and if you have installed the modem onto a Windows PC, the file alcaudsl.sys should be easy to find).

A common problem is getting an error code of 250 or 235; these both mean that a microcode has already been loaded to the modem (but, presumably, if you are running this script, that didn't do what you expected, so you have found this script as an alternative). You will need to remove the existing config which didn't work. This can often be achieved by moving the /etc/speedtouch/ directory away - eg: mv /etc/speedtouch /etc/speedtouch.broken.
In other cases, you may need to look at what other attempts you have made to configure the modem, and consult their websites for removal processes. For Mandrake/Mandriva, make sure that DrakConnect has no SpeedTouch references whatsoever.

In any case, it is strongly recommended for now (as at December 2005) to remove the SpeedTouch modem from your system when installing Linux, as many distributions currently detect the modem and install broken drivers. You are better off attaching the modem once the installation has completed, and running the script after a succesfull Linux installation.