Site Root : ZyXEL-630-11-HowTo

Linux ZyXEL 630-11 Modem Setup (i.e. UTVInternet.ie ClickSilver)

The modem that UTV provide is an USB ZyXEL 630-11 modem (the USB modems: Asus aam600ug, Digicom MichelAngelo USB A, Topcom Webracer 851 and PROLiNK Hurricane 8000 are all apparently similiar enough that this guide can be used for those modems too). There is support for this under linux, but not as part of any standard kernel or distribution as of yet (Aug 6 2004).

The project that provides support for this device under linux lives at this url: http://sourceforge.net/projects/zyxel630-11. From there download amedyn, the latest version at the time of writing was amedyn-2004-08-04-src.tgz, so if a later version now exists, none of the might be relevent anymore.

An earlier version of amedyn (amedyn-2003-10-29) could also be made to work, (as an earlier version of this document described) but it was a relative tricky operation, amedyn-2004-08-04 appears to contain all the changes necessary to make this redundant.

The previous link is your best location for support problems or oddness, the hackery at the end is extracted from the sourceforge support forums.

1. Download your requirements

You can install your own platforms rpm/deb for rp-pppoe and your platforms development rpms/debs for libusb and linux-atm. You will need the source to the kernel you are running as well, because amedyn creates a kernel module among other things. Your kernel source is probably already in /usr/src/

2. Configure your kernel

You need to enable some options (probably many are already checked, except the ATM ones), as root

 > cd /usr/src/linux.whateveritis
 > make menuconfig
 Code maturity level options  ---> 
     [ * ] Prompt for development and/or incomplete code/drivers 
 Loadable module support  --->
     [ * ] Enable loadable module support
     [ * ]   Module unloading
 Device Drivers  --->
     Networking support  ---> 
         Networking options  --->
             < M > Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
                 < M >   RFC1483/2684 Bridged protocols 
             < M > PPP (point-to-point protocol) support
                 < M >   PPP support for async serial ports
                 < M >   PPP support for sync tty ports
                 < M >   PPP Deflate compression           
     USB support  ---> 
     < M > Support for USB
     [ * ]   USB device filesystem
     < M >   EHCI HCD (USB 2.0)
     < M >   OHCI HCD support
     < M >   UHCI HCD support
 Library routines  --->
     < M > CRC32 functions 

USB just has to work, so the above is just my setup, if you have working USB you almost certainly don't need to change anything there, the same goes for PPP support. CRC32 library routine is only an option for 2.6 I believe. Some interesting factoids here are that

As an aside the amedyn module is partly based on the "Alcatel Speedtouch USB support" support under "USB Miscellaneous drivers" under the kernel USB support, perhaps in a future kernel the modems mentioned here appear alongside that entry instead of the seperate package described here.

Not that there is a pppoe kernel module, we don't need this module as we are going to use rp-pppoe, but if you get this working you can always play with kernel pppoe to replace rp-pppoe.

3. Install your updated kernel

Now do your normal make ; make modules ; make modules_install and setup lilo/grub or whatever you do and reboot into the new kernel and move on to the next set of steps.

4. adsl-setup

As root run the rp-pppoe setup program as...

 > adsl-setup

This asks your some questions, they might vary slightly from these ones depending on your version, but the relevent ones are listed below. I choose the defaults for all others.

 LOGIN NAME

 Enter your Login Name (default foobar): xxXXXXXX@utvinternet.ie

 INTERFACE

 Enter the Ethernet interface connected to the ADSL modem
 For Solaris, this is likely to be something like /dev/hme0.
 For Linux, it will be ethX, where 'X' is a number.
 (default eth0): nas0

 DNS

 Please enter the IP address of your ISP's primary DNS server.
 If your ISP claims that 'the server will provide dynamic DNS addresses',
 enter 'server' (all lower-case) here.
 If you just press enter, I will assume you know what you are
 doing and not modify your DNS setup.
 Enter the DNS information here: server

 PASSWORD

 Please enter your Password: xxxxxxxxxx
 Please re-enter your Password: xxxxxxxxxx

 Do you want to start this connection at boot time?
 Please enter no or yes (default no): no

 Accept these settings and adjust configuration files (y/n)? y

5. pre amedyn compilation

As root untar amedyn where it expects to be

 > cd /usr
 > tar xvzf ~/amedyn-2004-08-04-src.tgz
 > make

6. post amedyn compilation

edit /etc/amedyn and change

 PROTOCOL_MODE=4
 VPI=8
 VCI=35

because PROTOCOL_MODE=4 is pppoe, and the VPI/VCI settings will then match what the handy utvinternet piece of paper told mac users to set :-)

So my full config is here...

 #
 # Config file for Zyxel 630-11 & Asus AAM6000UG (ADSL Modem USB) 
 #

 # Driver mode
 DRIVER_MODE=1  # 1 = normal, 2 = debug

 # Protocol
 # 1 = RFC1483/2684 routed, 
 # 2 = PPP over ATM (pppoa), 
 # 3 = RFC1483/2684 bridged, 
 # 4 = PPP over Ethernet (pppoe)
 PROTOCOL_MODE=4

 # Paths
 BINARY_PATH="/usr/sbin"
 ATM_PATH=""

 # ATM
 VPI=8
 VCI=35

 # Specific for RFC1483/2684 routed/bridged
 #  if IP_ADDRESS is blank in bridged mode then it uses DHCP to get IP
 IP_ADDRESS=
 NETMASK=255.255.255.0
 GATEWAY=

7. Giving it a go...

Now in theory you just need to run

 > amstart.sh

Following is my log of the above command

 # amstart.sh
 >> Inits Zyxel 630-11 & Asus AAM6000UG <<<

 >>> Loading firmware...
 Zyxel 630-11 & Asus AAM6000UG microcode upload program. 02/08/2004
 Josep Comas <jcomas@gna.es>
 Sundar <sundar@cynaptix.biz>
 Eduardo Espejo <eespejo@users.sourceforge.net>

 I found ADSL modem with VendorID = 06b9 & ProductID = a5a5
 Loading and sending /usr/sbin/fw-usb.bin...
 Firmware is sent!
 Waiting ADSL line is up (until -1 seconds)...
 ............
 ADSL line is up
 >>> Loading driver...
 Launching driver in normal mode...

 /usr/sbin/amload.sh successful
 Setting PPP over Ethernet...
 >>> Setting PPPoE <<<

 >>> Activating send/receive data...
 Zxyel 630-11 & Asus AAM6000UG ioctl call. 24/9/2003
 Josep Comas <jcomas@gna.es>
 Sundar <sundar@cynaptix.biz>
 Eduardo Espejo <eespejo@users.sourceforge.net>

 I found ADSL modem with VendorID = 06b9 & ProductID = a5a5

 >>> Loading br2684 kernel module...

 >>> Loading ppp_generic...

 >>> Loading br2684ctl...
 RFC1483/2684 bridge: Interface "nas0" created sucessfully
 RFC1483/2684 bridge: Communicating over ATM 0.8.35, encapsulation: LLC
 RFC1483/2684 bridge: Interface configured

 >>> Activating interface...
 >>> Loading pppd daemon...
 .. Connected!

 /usr/sbin/amnet4up.sh successful

And you are finished.

8. Some possible helpful hints

If you see "bulk_error"s then you might be re-running amstart.sh after a previous attempt, unplug your modem from the USB chain and wait a few secs and plug it in again and try again.

If anything else goes wrong, then work through amstart.sh / amload.sh / amnet4up.sh line by line by hand to see where the problem starts. For what its worth I know it works myself with kernel 2.6.8

9. Credits

Kudos to Josep Comas (jcomas at users.sourceforge.net) and Sundar R (rsundar at users.sourceforge.net) for putting together this driver, and to the support crew at the sourceforge forum (http://sourceforge.net/forum/forum.php?forum_id=287227), from where I shamelessly stole all this good stuff to assemble this document

10. Links

Caolan McNamara (2004) <caolan@skynet.ie>

Last generated at Sat Nov 2 12:10:06 2013 Caolán McNamara <caolan@skynet.ie> Created with WebMake/0.5