Syncing the Zaurus 5500 with USB and Linux

You can download Qtopia for Linux from Trolltech the current version is 1.6.1

http://www.trolltech.com/download/qtopia/index.html

Instructions for SUSE 8.0 are:

http://sdb.suse.de/en/sdb/html/jreuter_zaurus_usb.html

Instructions for SUSE 9.1 are:

Syncing Zaurus with Suse 9.1

Instructions for SUSE 8.1 none of this is necessary since the usbdnet.o module is included and the kernal code is ready. This is what I have found to work.



Create a file in the /etc/sysconfig/network called ifcfg-usb0 with the following entries:


STARTMODE=hotplug
BOOTPROTO='static'
IPADDR=192.168.129.1
NETMASK=255.255.255.
PREFIXLEN=24


BROADCAST=192.168.129.255
REMOTE_IPADDR=192.168.129.201



Edit the /etc/sysconfig/hotplug file and make the following changes:

HOTPLUG_DEBUG="default"
HOTPLUG_START_USB="yes"
HOTPLUG_USB_USE_USBMODULES="no"

#Note that usb-uhci is first this is a change:
HOTPLUG_USB_HOSTCONTROLLER_LIST="usb-uhci ehci-hcd ohci-hcd uhci-hcd uhci usb-ohci ehci-hcd"

#You have to add usbdnet to the end -
HOTPLUG_USB_NET_MODULES="pegasus usbnet catc kaweth CDCEther usbdnet"



Restart to get the changes to take effect:

rchotplug stop;sleep 90;rchotplug start



From: http://www.rault.com/Zaurus/ethernet-over-usb-howto.html


   Put the Zaurus on the cradle. Turn it on:
       It takes about 3 seconds for the system to beep recognizing the Zaurus, the audible is an indication
       that the cradle and the Zaurus are being recognized.


You should see a message like this in /var/log/messages :


hub.c: USB new device connect on bus1/1, assigned device number 38
usb.c: USB device 38 (vend/prod 0x4dd/0x8004) is not claimed by any active driver.
v0.4b sl@lineo.com, tbr@lineo.com
usbdnet.c: v0.4b sl@lineo.com, tbr@lineo.com
usbdnet.c: USB Host to Device Network - for Linux USB Devices using MDLM/CDC
usb.c: registered new driver usbdnet

If you don't see this, try to push the sync button on the craddle, it should help !

now do ifconfig -a

you should see a new ethernet interface ( probably usb0 ), you can now configure it :

ifconfig usb0 192.168.129.1 netmask 255.255.255.255 up
route add -host 192.168.129.201 usb0

then try : ping 192.168.129.201 , if you've got a reply, you've won !
you can then start qtopiadesktop with

/opt/Qtopia/bin/qtopiadesktop



I followed all the instructions everything seemed to work once, but it was a hit or miss thing
and I wanted to find out why.

Here is where thing didn't seem to work. I could ping 192.168.129.1, but not

192.168.129.201 it would fail.

Everything seemed correctly setup doing

lsmod showed no signs of CDCEther being load, which is good

lsmod | grep usbdnet

showed that usbdnet was loaded, if not do:

insmod usbdnet

This was the trick and seemed to be the problem which is giving everyone fits.
Make sure that the Network Sync configuration is set to USB sync 192.168.129.201

1. Backup your Zaurus to a CF or the SD card.

2. Turn it off and turn it over, unlock the battery cover,slide the cover off and press the little square reset button. Put the battery cover in place and lock it. Turn on the Zaurus, it will reboot,reset the date and time and then restore from your backup so that you don't loose any data. Check the USB sync is set to sync at 192.168.129.201. Turn the Zaurus off and insert into the cradle.  Turn the Zaurus back on, it takes about 3 seconds to recognize the Zaurus, it should beep.

Now

ifconfig -a
you should see a new ethernet interface ( probably usb0 ), you can now configure it :

ifconfig usb0 192.168.129.1 netmask 255.255.255.255 up
route add -host 192.168.129.201 usb0

then try : ping 192.168.129.201 , if you've got a reply then start your qtopiadesktop

/opt/Qtopia/bin/qtopiadesktop


The link should go green and you can sync.

Below is the Batch file I use each time I sync my Zaurus


#! /bin/bash

typeset -i num

# check to see that the usbdnet module is loaded, if not load

num=`lsmod | grep usbdnet | wc -l`

if [ $num -eq 0 ] ; then
    echo "need to insert usbdnet module"
    insmod usbdnet
else
    echo "usbdnet is installed"
fi

# Check to see if usb0 exists
num=`/sbin/ifconfig | grep usb0 | wc -l`

if [ $num -eq 0 ] ; then
    # usb0 does not exist add it
    echo "usb0 does not exist"

    ifconfig -a
    ifconfig usb0 192.168.129.1 netmask 255.255.255.255 up
    route add -host 192.168.129.201 usb0

    # Start Qtopiadeskstop program
    #`/opt/Qtopia/bin/qtopiadesktop`

else

    # usb0 exists configure it
    ifconfig usb0 192.168.129.1 netmask 255.255.255.255 up
   route add -host 192.168.129.201 usb0

    # Start Qtopiadeskstop program
    #`/opt/Qtopia/bin/qtopiadesktop`
fi

# End of file



Since I have gotten the synchronization solved I have had no further problems, the connection is made each and every time.  Last modified 06/14/2003

Home