Difference between revisions of "DSL SpeedTouch modem"

From ArchWiki
Jump to: navigation, search
Line 1: Line 1:
 
[[Category:DSL Modem]]
 
[[Category:DSL Modem]]
<pre>
+
[Stub]
ATTENTION:
+
=ATTENTION=
Newer udev (060 or so) puts itself as the hotplug program in  
+
Newer udev (060 or so) puts itself as the hotplug program in /proc/sys/kernel/hotplug, but doesn't handle firmware loading requests, thus the automatic firmware loading as described below won't work. Best way to solve this problem is yet unclear.
/proc/sys/kernel/hotplug, but doesn't handle firmware loading requests,  
+
thus the automatic firmware loading as described below won't work. Best way  
+
to solve this problem is yet unclear.
+
  
 
Please see this bug report for more details: http://bugs.archlinux.org/task/3439
 
Please see this bug report for more details: http://bugs.archlinux.org/task/3439
</pre>
 
  
 
==Introduction==
 
==Introduction==

Revision as of 20:46, 7 November 2005

[Stub]

ATTENTION

Newer udev (060 or so) puts itself as the hotplug program in /proc/sys/kernel/hotplug, but doesn't handle firmware loading requests, thus the automatic firmware loading as described below won't work. Best way to solve this problem is yet unclear.

Please see this bug report for more details: http://bugs.archlinux.org/task/3439

Introduction

This howto shows one way to get a working speedtouch USB modem. It uses the kernel driver, not the userspace driver. This howto assumes that your ISP uses PPPoA and not PPPoE. For info about PPPoE with these modems see first url below.

Important sites where most info comes from:

If the below instructions are not enough to get it working, then read the above sites.

The following steps are needed to get the modem working:

1) Make sure you have a kernel with the proper support (at least the modules pppgeneric, pppoatm, slhc, atm, usbatm and speedtch). The default Arch kernel should work: pacman -S kernel26

2) Install ppp: pacman -S ppp

3) Configure pppd's config files

Configuring pppd

###  /etc/ppp/peers/speedtch

# To connect to using this configuration file, do
#       pppd call speedtch

lcp-echo-interval 10
lcp-echo-failure 10
noipdefault
defaultroute
user "username@ispname"
noauth
noaccomp
nopcomp
noccp
novj
holdoff 4
persist
maxfail 25
updetach
usepeerdns
plugin pppoatm.so
# Following entry is country/ISP dependent
8.48

The last entry depends on your country/ISP and is created from the VPI and VCI setting in the format VPI.VCI. A windows speedtouch diagnostic program may show you the VPI and VCI settings for your country/ISP.

This page has a VPI / VCI Setting List, which I have partially reproduced below.

Country ISP VPI VCI
Australia All Internet providers 8 35
Suomi Island ssimi 0 35
Landssimi 8 48
Vortex
United Kingdom British Telecom 0 38


You also need to configure /etc/ppp/pap-secrets or chap-secrets, depending on your ISP. pap-secrets files are of the format:

# Secrets for authentication using PAP
# client        server  secret		acceptable local IP addresses
fred		*	flintstone

See The PAP/CHAP secrets file for more detials.

If you want to use the DNS servers provided by your ISP then make a symlink /etc/resolv.conf pointing to /etc/ppp/resolv.conf:

cd etc
rm resolv.conf
ln -s ppp/resolv.conf resolv.conf

4) Configure hotplug:

Make an executable (chmod +x) file /etc/hotplug/usb/speedtch and put something like the next in it:

#!/bin/sh
case $ACTION in
add)
	if [[ ! -z "$SEQNUM" -a ! -f /tmp/bla ]]; then
		sleep 1;
		/usr/sbin/pppd call speedtch &> /tmp/bla;
		echo -e "--- $SEQNUM ---\n$DEVPATH" >> /tmp/bla;
	fi
	;;
*)
	echo -n "speedtch unknown action: $ACTION" >> /tmp/unknown-action;
esac


5) Now you have everything except the firmware loading. Easiest is if you let hotplug do it. The above script assumes that. If you want to do it manually then you'll need to do it in the above speedtch script with the appropriate sleeps to give the modem enough time.

If you have a zip like e.g. rev4fw.zip, then unzip it. It probably contains two files, a small one and a big one. Copy the small file to:

/lib/firmware/speedtch-1.bin

and the big one to:

/lib/firmware/speedtch-2.bin

The first one should be about 990 bytes, and the second one about 660Kb. If you don't get those two files, but only one, then follow the instructions of the second link above and use the firmware extractor (or download another firmware which has the two files). The lib/firmware/ most likely doesn't exist yet, just make it.

Make sure that the kernel supports firmware loading:

$ zcat /proc/config.gz || grep FW_LOADER

should tell that. The default Arch kernel is ok.

Now reboot and pray that it works. In dmesg you'll get something like the following if everything goes alright:

usbcore: registered new driver speedtch
usb 1-1: found stage 1 firmware speedtch-1.bin
CSLIP: code copyright 1989 Regents of the University of California
PPP generic driver version 2.4.2
usb 1-1: found stage 2 firmware speedtch-2.bin
ip_tables: (C) 2000-2002 Netfilter core team
ADSL line is synchronising
DSL line goes up
ADSL line is up (800 Kib/s down || 256 Kib/s up)

And the content of the /tmp/bla file should be something like:

Plugin pppoatm.so loaded.
PPPoATM plugin_init
PPPoATM setdevname - remove unwanted options
PPPoATM setdevname_pppoatm - SUCCESS:8.48
Using interface ppp0
Connect: ppp0 <--> 8.48
PAP authentication succeeded
local  IP address 123.45.67.89
remote IP address 195.190.249.10
primary   DNS address 195.121.1.34
secondary DNS address 195.121.1.66
--- 363 ---
/devices/pci0000:00/0000:00:02.1/usb2/2-1/2-1:1.2

For the origin of this doc, feedback or requests go to the Forum discussion