Generic (PPP USB)
PPP over USB on Sharp Zaurus HOWTO
This document is a quick guide on how to setup a ppp connection from the Zaurus to a Linux box
This document assumes you're using a kernel 2.4.x.
Setup on the PC side
===for a basic setup=== ( zaurus connects only to the PC, not the LAN to which the PC is connected ), you need the following
- kernel support for ppp
- If it's not already included, you need to recompile your kernel and add the following options
- In the Network device support, select the following to be compiled in as modules :
- PPP (point-to-point protocol) support
- PPP support for async serial ports
- PPP Deflate compression
- PPP BSD-Compress compression
- kernel support for USB and Generic USB serial driver
- In the USB Serial Converter support section, select the following as modules
- USB Serial Converter support
- USB Generic Serial Driver
===For a complete setup=== (if you want the zaurus to be able to reach other machines on your lan and on the internet), you need to add the following to your kernel configuration on top of the basic setup:
In Networking options select the following:
- Network packet filtering (replaces ipchains)
===Once the kernel has been recompiled=== and the modules installed, you need to do the following:
- Insert the usbserial module : as root, run insmod usbserial vendor=0x4dd product=0x8002
Setup on the Zaurus side
not much to do here ... just this :
- run /etc/usbcontrol serial
- You will get an error saying that usbcore is already loaded, ignore it. If your getting other errors (like symbol not found etc ), run /etc/usbcontrol serial again ( i happened to me a few times).
In the end you should have the following modules loaded on the Zaurus :
- sa1100_bi 44032 0 (unused)
- serial_fd 22864 1 [sa1100_bi]
- usbdcore 19792 0 [sa1100_bi serial_fd]
- sharp_mmcsd_m 26992 1
Bring the connection up
Put the Zaurus on the cradle and make sure the cradle is connected to the PC through the USB cable.
- On the PC, look in /var/log/message for something like this : usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs), this will give you the device to use as a tty for ppp ( just replace the USB_TTY below with the value found here ).
- Now you just need to start pppd on the PC ...
- - if you've selected the basic setup, run the following
- pppd /dev/USB_TTY noauth PC_IP:ZAURUS_IP
- - if you've selected the complete setup, run the following: pppd /dev/USB_TTY noauth PC_IP:ZAURUS_IP proxyarp ktune ms-dns DNS_IP passive
- Where USB_TTY is the device name found in /var/log/messages ( see above ), probably ttyUSB0, PC_IP the IP assigned to the ppp interface on your PC ( for example 192.168.1.1 ) and ZAURUS_IP is the IP assigned to the ppp interface on the Zaurus ( for example 192.168.1.2 ), and DNS_IP is the address of your DNS server. For proxyarp to work, the IP you're assigning need to be on the same subnet as your LAN network interface.
- On the Zaurus : run pppd /dev/ttyUSB0 defaultroute usepeerdns
- Looking in /var/log/messages on the PC, you should see something like this:
- pppd[: Connect: ppp0 <--> /dev/ttyUSB0
- pppd[: found interface eth0 for proxy arp
- pppd[: local IP address PC_IP
- pppd[: remote IP address ZAURUS_IP
- pppd[: BSD-Compress (15) compression enabled
- This means that the connections has been successfully established !
That's it ... now, on your PC try : ping ZAURUS_IP and on the Zaurus try ping PC_IP. If it's successful you made it .... otherwise it's time to start troubleshooting. I would be happy to include all the information you find in this HOWTO, feel free to email me comments/additions and i will update this document.
This will bring down the interface used to synchronize to the QT Desktop on Windows. To reenable, run /etc/usbcontrol net, which will bring down the PPP connection and should restore the ability to synchronize.