Author Topic: SL-C860 keeps aborting sync on TCP/IP  (Read 3741 times)

iamasmith

  • Hero Member
  • *****
  • Posts: 1248
    • View Profile
SL-C860 keeps aborting sync on TCP/IP
« on: July 07, 2004, 09:13:35 am »
Has anyone got an SL-C860 with the stock 1.10JP rom (with UK Locale conversion) running a USB (TCP/IP) connection ?

I can ISBIO sync fine but every attempt that I make at TCP/IP sync barfs with this message on the Zaurus.

I have now tried the 560v132s.zip, the CD-313.zip AND the original Japanese software (that was fun!) and they all report the same thing.

Obviously QCop is kicking in because the Zaurus pops up with the Sync message, SAMBA works because I can connect to the shares but the sync doesn't.

Really want to get this going so I can move sync off my home machine and run it on VMWare at work... unfortunately the Zaurus seems to kill VMWare 4.5.2 running on SuSE 9.1 if you route the USBIO to the VM machine :-(, hence the desperation to get IP going.

Any ideas would be really appreciated.


Regards,

Andy
OpenBSD 4.2 -current on full 4Gb of SL-C3000
Microdrive replaced with 4Gb SanDisk Extreme III card

iamasmith

  • Hero Member
  • *****
  • Posts: 1248
    • View Profile
SL-C860 keeps aborting sync on TCP/IP
« Reply #1 on: July 07, 2004, 12:32:54 pm »
 

I got it working, did you know that Ethereal works over usbnet ? v'useful.

It now makes sense about the HOST system IP address ending in a 1 octet. In fact the Zaurus calls back on TCP ports 4244 and 4245 but it doesn't call back to the IP address that initiated the conversation. It applies it's subnet mask to the interface the request came in on, sets the 0 bit of the address and calls back to that address e.g.

On zaurus
usbd0 = 10.1.23.1 mask 255.255.0.0

zaurus assumes that the Windows machine is on 10.1.0.1  regardless of its ACTUAL address.

So if you just wanted XP Native Boot to sync and you must change the network address of the USB network just make sure that you use Node 1 from whatever network you use i.e... 192.168.100.1/24, 10.1.0.1/16, 10.0.0.1/8 etc.... for the XP box.

For me, and maybe others who wanted it to work through VMWare using usbnet off a Linux box to comm with the Zaurus and routing to one of the VMWare networks here's the workaround.

Assume that Linux VMWare Host vmnet = 10.1.99.1/16 and Guest (XP) is 10.1.100.27/16 just to give the example some substance.....

...then assume that you have usb0 on the Linux VMWare box as 10.2.0.1/16 (THIS BIT IS IMPORTANT) it seems impossible to get around having the adjacent interface as the first node of the network and that the Zaurus usbd0 is on 10.2.66.1..

Here's what you do...

1. On the XP session issue

   route -p add 10.2.0.0 mask 255.255.0.0 10.1.99.1

this only needs doing once, the -p stores the route in the registry so that it gets reloaded on boot. To change you MUST delete it. This sets up the ourbound route to tell XP how to reach subnet 10.2 (usbnet) through the VMNet.

2. Use Zaurus manager to set the name of your Zaurus and set the IP address to be 10.2.66.1.

If you can't cradle the Zaurus and you have problems with this then :-

   i. Stop Zaurus Manager
   ii. Edit "C:\Program Files\Common Files\Sharp\SL\SSPCLINK2\comset.ini" - change under the [Communication] section the Device = parameter to 2, this makes it IP and avoids you having to cradle the Zaurus to change the setting.
   iii. Change the IP settings if you like (you can do it later if you want through the GUI).
   iv. Restart Zaurus Manager - you should now be in TCP/IP mode.

3. On the Zaurus make sure that 'PC Link' agrees with the address then optionally edit /etc/hotplug/usbdnet.conf to set an appropriate subnet mask (in this case 255.255.0.0) - note if you change the address in PC Link then this gets reset to default .

4. On the Linux host running VMWare create a script (natzaur.sh)..

#!/bin/sh
# Flush IP table settings
IPTABLES -t nat -F
# Enable routing
echo 1 >/proc/sys/net/ipv4/ip_forward
# Establish the hide rule for the XP VM so that it comes through on 10.2.0.1
iptables -t nat -A POSTROUTING -s 10.1.100.27 -j MASQUERADE
# Static nat back to XP host for calls to 4244-4245 TCP on the 10.2.0.1 address
iptables -t nat -A PREROUTING -p tcp -i usb0 -d 10.2.0.1 --dport 4244 -j DNET --to 10.253.0.10:4244
iptables -t nat -A PREROUTING -p tcp -i usb0 -d 10.2.0.1 --dport 4245 -j DNET --to 10.253.0.10:4245

5. Run the script as root !

6. Plug Zaurus into USB and check comms (ping from everywhere is a good indication).

7. Click Sync on the XP VM and hit OK on the message saying to insert Zaurus into the cradle.

8. If it work smile and go get some coffee ! (if it doesn't then I hope I gave you a headstart).

Regards,

Andy
« Last Edit: July 07, 2004, 12:56:57 pm by iamasmith »
OpenBSD 4.2 -current on full 4Gb of SL-C3000
Microdrive replaced with 4Gb SanDisk Extreme III card

iamasmith

  • Hero Member
  • *****
  • Posts: 1248
    • View Profile
SL-C860 keeps aborting sync on TCP/IP
« Reply #2 on: July 08, 2004, 06:11:28 am »
OK, I guess it's obvious but it's only just become obvious to me why the Zaurus insists on using address 1.

Starting the sync process simply triggers the Zaurus to initiate the Sync and since you don't configure any networking details on the Zaurus for sync except its IP address the rules go that it generates what it believes to be the address of the Winodws PC.

 
OpenBSD 4.2 -current on full 4Gb of SL-C3000
Microdrive replaced with 4Gb SanDisk Extreme III card