HowTo for Suse 9.0 Alcatel Speedtouch USB-Modem and Telepac (Portugal)

    Thilo.Reski@moorgate-lda.com (mailbox)

    Credits

    Ullrich Sigwanz ([speedtouch] PPPoE How-To,
    URL:http://www.mail-archive.com/speedtouch@ml.free.fr/msg04203.html)

    José Bernardo Silva: http://cosmos.oninetspeed.pt/jose.bernardo/
    Speedtouch USB 330 + Linux Mandrake MNF 8.2 + PPPoE Mini-Howto

    Benoit Papillault  http://speedtouch.sourceforge.net/

    Things comming with Suse 9.0

    I installed the standard system from the "PC Welt" CD. You might not neet kde, but ...

    The following drivers/modules are included in Suse 9.0, so you don't need to download/install/modprobe them:
    usbcore

    ehci-hcd

    uhci

    usb-ohci
    usb-uhci
    n_hdlc
    speedtch (must be removed, see below)
    tun

    In addition you have:
    pppd Version 2.4.1
    Kernel 2.4.21-171-default

    All together a good basis!

    Packages needed (general)

    In order to generate binaries from sources you need glib-devel, gcc (with according cpp), and make.
    I use
    glibc-devel-2.3.2-92.i586.rpm
    cpp-3.3.2-26.i586.rpm
    gcc-3.3.2-26.i586.rpm
    make-3.80-101.i586.rpm

    To install, as user root type for each package
    rpm -Uhv <package-name>

    Background: cpp must be the same version as gcc, as Suse 9.0 cpp comes with another version, you have the choice:

    • either  find the according gcc version or
    • find a matching pair and update  the cpp with the one found

     

    (just google the packages)

    Packages needed (specific)

    Get
    speedtouch-1.2-1.i586.rpm and
    rp-pppoe-3.5.tar.gz.tar (http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz)

    Background: The sources for speedtouch would also do it but ....

     Suse specific changes

    1. Add the following lines to /etc/modules.conf.local:

    alias /dev/ppp ppp_generic
    alias tty-ldisc-13 n_hdlc
    alias tty-ldisc-14 ppp_synctty
    alias char-major-10-200 tun

    modules.conf.local is included in modules.conf for local extentions - that's what we are doing !

    Rundepmod in order to let the system check dependecies (otherwise you'll get a lot of warnings)

    I have the feeling that (atr least somtimes) ar reboot helps (although is not Windows). Maybe init 1 does it  ...

    2. In /etc/sysconfig/hotplug check for or set

    HOTPLUG_START_NET="yes"

    HOTPLUG_DEBUG="yes"

    Background......

    3. In /etc/sysconfig/hotplug set HOTPLUG_NET_DEFAULT_HARDWARE="empty"

    Background: When net.agent is called with tap1 it's looking for a hardware description. It doesn't find it and fails. With the variable set as supposed,  net.agent does a ifup whenever no HW descr is found.(This is an undocumented test feature as stated in the script net.agent)

    You may set up a HWDECSR for tap0/1 .... I didn't check that up to now.

    4. Set up interfaces:

    I. With yast, create an interface on USB, it is named eth-usb or eth-usb-0 (which I could not get running  ...). Don't assign an IP adress to this interface, Suse does it automatically (IP6).

    II. Copy the file /etc/sysconfig/network/ifcfg-eth-usb (or whatever) to /etc/sysconfig/network/ifcfg-tap0

     III. Copy the file /etc/sysconfig/network/ifcfg-eth-usb (or whatever) to /etc/sysconfig/network/ifcfg-tap1

    Background: I have not found a way to set up these interfaces with yast .... But they are (both!) needed. Check with ifconfig -a (...after rcnetwork restart). If you don't need eth-usb, you can delete it (with yast)

    5. Logger:

    Add a symbolic link: ln -s /bin/logger /usr/bin/logger

    Install pppoe

    Compile and Install rp-pppoe according to Ulrich's hints:

    --------------------------------------------------
    now you need the roaring penguin PPPoE-client from
    http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
    copy the file to /usr/local/src/
    and unpack it


    root # cd /usr/local/src/
    root # tar -xzvf rp-pppoe-3.5.tar.gz
    root # cd rp-pppoe


    install and configure it by
    root # ./go


    as requested, type in


    username: [EMAIL PROTECTED] (supplied by your provider)
    ethernet device: tap0
    dial on demand: no
    nameserver1: aaa.bbb.ccc.ddd (supplied by your provider)
    nameserver2: eee.fff.ggg.hhh (supplied by your provider)
    password: ********* (supplied by your provider)
    Firewall option: 1


    (
    "tap0" - digit zero at the end!! ,
    "no",
    "1" must be taken literally,
    the rest must be substituded by appropriate data)
    the PPPoE is now configured !!
    --------------------------------------------------

    DIFFERENCES:

     a) Use "tap1" not "tap0" I don`´'t know the reason, this is a hint from José. .... and it's needed !

     b) The firewall included in the rp packlage doesn’t help, as it is based on ipchain, Suse uses iptables, so "0" is the right choice.

    c) I got "... 3.5.tar.gz.tar" - it works just the same way

    Install speedtouch

    rpm -Uhv speedtouch-1.2-1.i586.rpm

     Background: You don't need all of it, at least the driver (see below for probable problems), modem_run and pppoa3. If you want to look at the manpages for these, man in Suse 9.0 shows some garbage only. Unzip the file man files  with konqueror (just klick, open and copy away the uncompressed file),paste back into /usr/shar/man/man1, now "man pppoe3" works. I didn't check, but if you compress them in the same manner als the other man pages, ..... (same for info).

     Upload the mircocode to the modem

    /usr/sbin/modem_run -v 2 -a /usr/local/sbin/speedtouch_microcode/ZZZLP1.eni i\
    -f /usr/local/sbin/speedtouch_microcode/ZZZLP2.eni

     Background: These files are from the speedtouch win-CD. In some howtos the files alcudsl.sys or mgmt.o are recomended, but they don’t work here. On my system the Speedtouch win-CD is not readable under Linux, so I copied the files  first to the win partition and then into the above place.

    Remark: The microcode stays in the modem as long as it is pwerd on (e. g. connected to a powered on computer). In addition I have the feeling, that if you upload the microcode twice in sequence, the modem hangs. So, after a softboot you must not upload the micocode again, but if you disconnect the modem from the computer or switch off the computer, you must upload the microcode again. If you  find another solution, please let me know.

    IMPORTANT: This program uses the driver from the package. So, if you have the standard kernel driver from Suse 9.0 (speedtch, seen by lsmod) you have to unregister that one. If you run modem_run with the -v 2option, it gives you some info in /var/log/essages. If you find something like

    Apr 20 18:30:54 funchal modem_run[3059]: BLOCK3 : 775509 bytes uploaded : OK
    Apr 20 18:30:54 funchal modem_run[3059]: Downloaded in 2932.255000 ms
    Apr 20 18:30:54 funchal modem_run[3059]: BLOCK4 : 511 bytes downloaded : OK
    Apr 20 18:30:54 funchal modem_run[3059]: Downloaded in 5.316000 ms.
    Apr 20 18:30:54 funchal modem_run[3059]: 80 00 00 00 03 02 08 00 00 00 10 1a 01 00 00 00 ................
    Apr 20 18:30:54 funchal modem_run[3059]: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Apr 20 18:30:54 funchal last message repeated 29 times
    Apr 20 18:30:54 funchal modem_run[3059]: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
    Apr 20 18:30:55 funchal modem_run[3059]: Another program/driver is already accessing the modem (interface 1 cannot be claimed)...

     unplug the modem, wait, and plug it again in order to upload the firmware correctly, but before uploading, unregister the driver by modprobe -r speedtch (The driver is unregistered when you unplug the modem and registered again when you plug it).

    After uploading, tail of /var/log/messages should look like

     Apr 20 18:39:25 funchal modem_run[3760]: BLOCK3 : 775509 bytes uploaded : OK
    Apr 20 18:39:25 funchal modem_run[3760]: Downloaded in 2925.073000ms
    Apr 20 18:39:25 funchal modem_run[3760]: BLOCK4 : 511 bytes downloaded : OK
    Apr 20 18:39:25 funchal modem_run[3760]: Downloaded in 5.470000 ms.
    Apr 20 18:39:25 funchal modem_run[3760]: 80 00 00 00 03 02 08 00 00 00 10 1a 01 00 00 00 ................
    Apr 20 18:39:25 funchal modem_run[3760]: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Apr 20 18:39:25 funchal last message repeated 29 times
    Apr 20 18:39:25 funchal modem_run[3760]: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
    Apr 20 18:39:26 funchal modem_run[3760]: Modem reference : 35720370......
    Apr 20 18:39:26 funchal modem_run[3760]: modem_start_synchro :
    Apr 20 18:39:26 funchal modem_run[3760]: 00 00 ..
    time passes .....
     Apr 20 18:39:43 funchal modem_run[3761]: [monitoring report] ADSL link stays stable (down)
    more time passes .....
     Apr 20 18:40:16 funchal modem_run[3760]: ADSL synchronization has been obtained
    Apr 20 18:40:16 funchal modem_run[3760]: Modem State
    Apr 20 18:40:16 funchal modem_run[3760]: c0 12 0007 :
    Apr 20 18:40:16 funchal modem_run[3760]: 20
    Apr 20 18:40:16 funchal modem_run[3760]: c0 12 000b :
    Apr 20 18:40:16 funchal modem_run[3760]: 00 00 00 02 00 00 80 00 ........
    Apr 20 18:40:16 funchal modem_run[3760]: c0 12 000d :
    Apr 20 18:40:16 funchal modem_run[3760]: 00 00 00 00 ....
    Apr 20 18:40:16 funchal modem_run[3760]: c0 01 000e :
    Apr 20 18:40:16 funchal modem_run[3760]: 00 .
    Apr 20 18:40:16 funchal modem_run[3760]: c0 01 000f :
    Apr 20 18:40:16 funchal modem_run[3760]: 00 .
    Apr 20 18:40:16 funchal modem_run[3760]: ADSL line is up (512 kbit/s down | 128 kbit/s up)

    Set up connection

    from Ulrich's HowTo:
    invoke the ADSL-handler in brigded mode for
    portugal's VPI/VCI:

     /usr/local/sbin/pppoa3 -e 1 -b -c -v 1 -vpi 0 -vci 35 &

    (Portugal's Telepac's VPI and VCI)

    adsl-start

    adsl-start generates the following output in /var/log/messages (only beginning of adsl-start shown, I created these lists by HOTPLUG_DEBUG=yes):

     Apr 20 18:41:07 funchal kernel: Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
    Apr 20 18:41:07 funchal pppoa3[3768]: pppoa3 version 1.2 started by root (uid 0)
    Apr 20 18:41:07 funchal pppoa3[3768]: Control thread ready
    Apr 20 18:41:07 funchal pppoa3[3768]: Modem found!
    Apr 20 18:41:07 funchal pppoa3[3775]: host --> pppoa3 --> modem stream ready
    Apr 20 18:41:07 funchal pppoa3[3776]: modem --> pppoa3 --> host stream ready
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: /sbin/hotplug net
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: HOME=/
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: PATH=/bin:/sbin:/usr/sbin:/usr/bin
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: ACTION=register
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: INTERFACE=tap1
    Apr 20 18:41:07 funchal /sbin/hotplug[3765]: invoke /etc/hotplug/net.agent
    Apr 20 18:41:08 funchal /etc/hotplug/net.agent[3773]: waiting for HW info (1)

     yeah - after several days I come to this entire procedure and finally got it working.

    Hints

     For documentation see also the rp-package.

    The rp-package comes with a firewall based on ipchains. Suse does not know the old ipchains, just iptables,so be aware that you do not have any firewall by now!!!

     Before connecting to the Internet use yast to set-up the firewall of Suse

    Troubleshooting

    1. debug  moden_run by using verbose mode (as in the example above)
    2. set  DEBUG in /etc/sysconfig/hotplug (maybe you'll need to rchotplug  restart, gives lots of lines to /var/log/messages)
    3. set DEBUG in  /usr/sbin/adsl-start

     

     

    Have Fun

    Thilo

     

    Disclaimer: I cannot take any guarantee, resposibility or whatever, the information in this document is free for use, don't blame me for anything.