NOTE: This guide needs an update. Much of the information here is still valid, but if you read it then please be sure to read the remaining comments on this thread. Fortunately, someone has risen to the challenge and revisited the topic in this HOWTO. Thanks, fazto!

Those of you have one of these devices and like playing with new kernels will doubtless have been frustrated by the current situation. The speedtouch drivers in portage are the user-space versions which are sadly incompatible with the 2.6 kernel. However, I've discovered how to get the Speedtouch kernel-mode driver working in Gentoo and that's what this post is about Please note that I am only covering the topic as it applies to ISPs who use PPPoA (ATM), not PPPoE.

I'll be assuming that you already have the correct options for general USB support in your kernel. Now, to add support for ATM and the speedtouch module, first go to the Device Drivers > Networking support > Networking Options menu.

Once you have rebuilt your kernel and modules, we can move on to installing the various user-space tools we need. Important: as you will not have access to the internet until the whole procedure is complete, you may wish to perform these steps in a 2.4 kernel which is currently working with the net-dialup/speedtouch drivers, or by using an alternate Internet connection. To be on the safe side please ensure that /usr/src/linux is a symbolic link to the 2.6 sources you are currently using.

Let's start with the speedtouch package. You'll need this for one file only, modem_run, which is used to upload the firmware to the device. The process of uploading the firmware must be carried out each time the USB bus is reset (for example, every time the computer is started) before the ADSL line is activated. If you like (and if you no longer wish to use a 2.4 kernel with the user-space drivers), you can make a copy of /usr/sbin/modem_run then unmerge speedtouch afterwards, remembering to put the modem_run binary back into place of course.

Code:

# emerge speedtouch

We'll be needing the ATM library because it is a pre-requisite for compiling an ATM-aware ppp.

Code:

# ACCEPT_KEYWORDS="~x86" emerge linux-atm

Now it's time to grab and install my modified ppp ebuild. It includes a patch which ensures that the pppoatm.so plugin is built. Advanced users will note that they can skip the steps to create and configure a local portage overlay, if they already have one. Note: the ebuild is versioned the same as the latest version in portage at the time of writing, but with the -r1 suffix to "bump" it a little higher.

IMPORTANT: The numbers at the end indicate the VPI/VCI values respectively. Take care to ensure that these match those used by the ATM network operated by your ISP. The above values are common for many operators in the United Kingdom and France.

If you haven't already done so you'll need to enter your username and password in the /etc/ppp/chap-secrets file:

I am not aware of any PPPoATM ADSL providers using PAP as the authentication protocol, but the above will not cause any harm.

Now let's load the Speedtouch kernel module and initialise the modem's firmware (note the use of -k to indicate that the kernel-mode driver will be used). IMPORTANT: the choice of the firmware image is absolutely critical for good performance with Speedtouch devices. I would strongly recommend that those who are not experienced with this topic use the firmware file from here. In the following examples I've assumed that this file is to be placed in the /root directory but you can put it where you like. See here for an interesting thread concerning firmware.

A neater approach would be to make a custom init script but I have not gotten around to doing so yet. Please note that to use netfilter/iptables for firewalling on the 2.6 kernel, you must currently install the masked version of iptables (specifically iptables-1.2.8-r2):

Code:

# ACCEPT_KEYWORDS="~x86" emerge iptables

As soon as a newer release of iptables is in portage you should probably no longer use ACCEPT_KEYWORDS.

So, enjoy! I may follow this guide up with one for kernel 2.4 and also how to get the device working with the latest LiveCD with absolutely no issues, if there is sufficient interest.

Last edited by kerframil on Thu Jul 08, 2004 12:06 am; edited 3 times in total

Great guide, these modems are very popular and you guide should be invaluable to many users. . I personally gave up on this modem, and opted to switch to the Alcatel Speedtouch Pro router. Much less hastle for the home network .Though I don't use this modem, I would be interested in seeing how to install this from the LiveCD. As always, your guides are always interesting to read, good job. _________________:: Project Gotham

Great guide, these modems are very popular and you guide should be invaluable to many users. . I personally gave up on this modem, and opted to switch to the Alcatel Speedtouch Pro router. Much less hastle for the home network .Though I don't use this modem, I would be interested in seeing how to install this from the LiveCD. As always, your guides are very interesting to read, good job. _________________:: Project Gotham

Hi..
I don't own an Alcatel modem, but this guide will sure help me. I use a USR 9000 Sureconnect modem, the drivers are still being ported for 2.6 so I'm going to stick with 2.4 for now. I used to read everywhere that PPP needs a patch for ATM, I thought Gentoo had that already, there was no specific guide that I could find which would take you step by step through the procedure. Anyways, the link you provided to your ebuild does not work WHY!!! lol .. could you please fix it .

Tried running modem_run without "-s" and it worked. With "-s", it gives a USBDEVFS bulk error or something, and is unable to upload the microcode. It then attempts to upload it a few more times then dies. Everytime i get the USBDEVFS error, I have to unplug the USB cable for like 15s before i can try modem_run again.

Also, i got the existing init script to work by making a few modifications.
changed

I followed this guide and it seems that everything looks fine!
I get no kind of error message. And ifconfig shows a ppp0
But I'm just able to connect to the Internet as root to do for example an emerge. But as User I can't connect to anything
I think I have to chance some file permissions. But I don't know exactly which one.
Maybe it's because of this error messages I get during emerging ppp-2.4.2_beta3-r1

Any help much appreciated. Oh btw is this patched version of ppp in portage ? The ebuild added yesterday ppp-2.4.2-r1 seems to include the atm patch (read the changelog) as long as you put include 'atm' in your USE flag.

Update:
I may have found a solution to my problem here.
Doh! Seems I didnt have the correct entry in /etc/make.conf for my portage overlay and thus I wasnt emerging the right file.

Last edited by Kirja on Sun Mar 07, 2004 3:05 pm; edited 2 times in total

Ok I managed to emerge the patched copy of ppp. I initialised my modem using modem_run etc and got the expected response as above. Slight problem though, I still cannot access the net and I get the following output in my /var/logs/messages:

I shall examine all of these comments more closely tonight, and see if I can't resolve some of the issues mentioned. In any case, I think it's about time this thread was "bumped" because ppp has now come out of beta and reached version 2.4.2. Watch this space ...

Well, I believe you solved this already . But for the benefit of others, that "error" message is perfectly normal. The unpack stage skips the patch, because the patch is not compressed. There is no adverse effect whatsoever. The "right" way to do things is to have the patch exist in ${FILESDIR} which would be the case were this ebuild committed to Portage.

Kirja

Well, there can be a number of reasons for this. Firstly, note the requirement for slhc/n_hldc and crc32 support as mentioned above. Are you sure that the kernel has the pre-requisite features compiled in (as modules or otherwise)?

I'll describe how the module loading process works on my system. When my system boots, the hotplug service detects the Speedtouch modem and loads the following modules: speedtch, crc32 and atm. You can accomplish the same thing without hotplug by typing:

Code:

# modprobe speedtch

or by adding speedtch to your /etc/modules.autoload.d/kernel-2.6 file prior to a reboot. I then run modem_run followed by pppd. The process of loading pppd results in these additional modules being loaded: pppoatm, ppp_generic and slhc.

Upon first issuing a packet outward bound to the Internet, these modules are loaded: ppp_deflate, zlib_deflate, bsd_comp. Note that the requirement for these may vary according to your ISP.

Of course, you can opt not to play the modules game by compiling in everything statically. When using modules, hotplug merely takes care of loading the speedtch module and dependencies, iirc. All others are loaded on demand.

My guess is that slhc/n_hdlc support is missing in your kernel. Please let me know whether this is the case. If not, then I have other suggestions which may be of assistance.

MulDy

This is not something I have seen before. Are you still experiencing this problem?

Everyone

My apologies for not making certain things clear in the original tutorial. I am currently working on some nice things related to this topic, and will update the guide in due course.

I'm not familiar with that hardware. However, it's possible. I recall that even the earliest BT ADSL modems (those hideous big, black boxen which doubled up as useful frying pans) were simply re-badged Alcatel hardware.

No luck unfortunatly. I did as you instructed kerframil and the error message no longer appears but I am still unable to access the internet. I also double checked that I had everything setup correctly in my kernel.