Howto setup network connectivity with the Zaurus under Suse 8.0.
If you're using Suse 8.0, by Christian Weigand
Suse 7.1: the patch for kernel 2.4.16 works fine on the kernel provided with this version of Suse. Suse 8.0: There's now a specific patch for the kernel shipped with Suse 8.0, you can grab it in the Patches directory. Thanks to Detlef Grittner.
Follow the Generic Howto for patching the kernel and building it.
First make sure that hotplug is enabled, check the following: /etc/sysconfig/hotplug has to contain:
Then to get it working with hotplug the only thing needed to do from here is to create the file ifcfg-usb0 in the directory /etc/sysconfig/network with the following input. I just used the ifcfg.template file which can be found there.
# This is a template for a network interface configuration file used with ifup. # See 'man 8 ifup' for details. # Additionally to the following variables you can set every variable from the # interface independent configurations files (config, dhcp, wireless) to # overwrite the global settings.
# STARTMODE tells ifup when a interface should be set up. Possible values are: # - onboot: start it at boot time # - manual: start it only when ifup is called manually # - hotplug: start it when ifup is called by hotplug or pcmcia # Do not use 'onboot' for hotpluggable devices. That does not work. STARTMODE=hotplug
# With BOOTPROTO you can choose between a 'static' configuration with fixed # IP addresses or 'dhcp'. (bootp does not work on SuSE Linux 8.0) BOOTPROTO="static"
# If using a static configuration you have to set an IP address and a netmask # or prefix length. The following examples are equivalent: # 1) IPADDR=192.168.1.1 # NETMASK=255.255.255.0 # 2) IPADDR=192.168.1.1 # PREFIXLEN=24 # 3) IPADDR=192.168.1.1/24 IPADDR=192.168.129.1 NETMASK=255.255.255. PREFIXLEN=24
# Set the broadcast address of this interface. If you leave it empty a default # will be used. See DEFAULT_BROADCAST in /etc/sysconfig/network/config. BROADCAST=192.168.129.255
# If you'd like to set up a point to point connection you may specify the # remote IP here. REMOTE_IPADDR=192.168.129.201
# Set a label for the interface. See 'multiple addresses' below. LABEL=
# Have a look at the iproute2 documentation. SCOPE=
# Every other option from "ip address add" can be added here. IP_OPTIONS=
# Multiple addresses (aka aliases) # There are several ways to assign more than one IP address to a network # interface. If you ever want to use YaST2 for this you should choose the # first possibility: # 1) one IP address per config file: # create multiple copies of your master config files and add ':' to # the filenames of the copy. Prefer increasing number starting at 1. # 2) multiple IP addresses per config file: # You can extend the variable name 'IPADDR' by any string you like (IPADDR_1, # IPADDR-FOO, IPADDRxxx, ...) and use these variables for your IP addresses. # If you need some additional parameters for these addresses, then just add # the same extension to these variable names. # IPADDR_AAA=18.104.22.168 # NETMASK_AAA=255.0.0.0 # BROADCAST_AAA=22.214.171.124 # IPADDR_BBB=10.10.2.3/16 # LABEL_BBB=BBB # an so on ... # # You do not need to set a label for any address. But then you should not use # ifconfig any longer; go and use ip. If you want to use ifconfig then omit the # label for your main address and set a label for every additional address. # This is equivalent with using aliases with method 1. # # !!! YaST2 is not able to read multiple addresses from one file. Use this only # if you configure your stuff manually anyway !!!
# Routing: # If you need special routes for a configuration, then use a file named # ifroute- where is the same string as in ifcfg-. # It has the same syntax like routes except one difference: # If you omit the interface name (4th field) in the ifroute file it will be # set to the current interface name when setting up the interface. You need to # do this with hotpluggable devices, where you do not know which interface name # they will get at the time when you plug them. # See man 5 routes.
Now the route to the zaurus should be set automatically every time you plug your zaurus in the cradle. You can check this by typing ifcfg -a. To the usb0 device should be an IP address assigned.
If you need to change the USB driver that you're using, the following tip from Pirmin Kalberer might be helpful: To use usb-uhci instead of uhci edit /etc/sysconfig/hotplug and change
HOTPLUG_USB_HOSTCONTROLLER_LIST="uhci usb-uhci usb-ohci ehci-hcd"
HOTPLUG_USB_HOSTCONTROLLER_LIST="usb-uhci uhci usb-ohci ehci-hcd" Now enjoy it.