Version 0.1 18/07/2002 by Carlos Vidal
1) Introduction
This document is a quick guide on how to setup a ppp connection from the Sharp Zaurus SL-5000D to a Linux laptop with a IrDA port. As you may notice, the document is pretty much a copy of Charles-Edouard Ruault "PPP over USB on Zaurus HOWTO"
This document assumes you're using a kernel 2.4.x.
2) Setup on the PC side
Most of the recent distributions already have all we need (RedHat 7.x, SuSe 8.x, Mandrake 8.x). Otherwise compile the kernel with support for PPP and IrDA (see the corresponding HOWTOs for more details).
3) Setup on the Zaurus side
Nothing (for ROM 1.13 at least)
4) Start IrDA on the PC side
If you have RedHat you do:
This basically does:
where "ttySx" is the serial device corresponding to your IR eye.
Now you just need to start pppd on the PC ...
or, if your laptop is on a network you want to open up to the Zaurus:
Where ircomm0 is the IrDA communication device, PC_IP the IP assigned to the PPP interface on your PC ( for example 192.168.129.200 ) and ZAURUS_IP is the IP assigned to the PPP interface on the Zaurus ( for example 192.168.129.201 ), and DNS_IP is the address of your DNS server.
The "defaultroute usepeerdns" are only needed in the second PPP mode.
Looking in /var/log/messages on the PC, you should see something like this:
pppd[4879]: Connect: ppp0 <--> /dev/ircomm0 pppd[4879]: local IP address PC_IP pppd[4879]: remote IP address ZAURUS_IP
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.
5) Misc
In the PC I modified RedHat '/etc/rc.d/init.d/irda' script to start/stop IrDA and PPP alltogether. The changes are in the the start()|stop() functions as follows:
start() { # Attach irda device echo -n $"Starting $prog: " daemon /usr/sbin/irattach ${DEVICE} ${ARGS} echo if [ ! -z "${LOCAL_IP}" ]; then echo -n $"Listen for PPP over IrDA:" sleep 5 daemon pppd /dev/ircomm0 noauth ${LOCAL_IP}:${REMOTE_IP} \ proxyarp ktune ms-dns ${DNS_IP} passive persist holdoff 10 touch /var/lock/subsys/irda fi echo } stop() { # Stop service. if [ ! -z "${LOCAL_IP}" ]; then echo -n $"Shutting down PPP: " killproc pppd echo fi echo -n $"Shutting down $prog: " killproc irattach rm -f /var/lock/subsys/irda echo }
In the file /etc/sysconfig/irda I defined the variables LOCAL_IP, REMOTE_IP and DNS_IP like:
IRDA=yes DEVICE=/dev/ttyS1 DISCOVERY=yes LOCAL_IP=192.168.129.200 REMOTE_IP=192.168.129.201 DNS_IP=192.168.10.1
Then I activated IrDA permanently in the PC with "chkconfig irda on"
In the Zaurus I wrote the following script to bring the IrDA connection up and down:
#!/bin/sh # # Script "ir start|stop" case "$1" in start) /etc/rc.d/init.d/irda start echo "Wait for IR discovery" sleep 10 pppd /dev/ircomm defaultroute usepeerdns echo "IrDA started" ;; stop) killall pppd /etc/rc.d/init.d/irda stop echo "IrDA stopped" ;; *) echo "Usage: $0 {start|stop}" ;; esac
With these tools, once the laptop is running, I just put the Zaurus facing the IR eye and type ./ir start in it. As I installed openssh and KOrganizer in the Zaurus I have a couple of scripts that automatically synchronize my KOrganizer using scp. Next step will be to use FIR and synchronize the address book! :-).