|Sharp Zaurus 5600, ROM 1.0|
|This was most powerful and newest model at the time I bought it. It has better battery than previous model 5500, transparent cover (very handy for taking a quick look at your calendar), plastic stylus (which is degradation from plastic-metal one which came with 5500) and really good speaker.|
|Socket Communications Low Power Wireless LAN CF Card|
|Great card. Really saves you battery life. I was able to get almost 4 hours of WiFi access. A bit expensive, though.|
|SimpleTech 128MB MultiMediaCard MMC|
|I wanted MMC card and not SD so I can compile my own latest-and-greatest kernel. That is a good choice, but this particular card worked first time I inserted it, and then started to report read errors. I returned it with hope that I will get another one. But, they just returned my money. Uh, well... (see below)|
|Amzor 128MB MultiMediaCard MMC|
|When I realized that I won't get new MMC card (that was after I returned to Croatia), I bought this one. Never heard or Amzor? Neater am I. Is still doesn't work (I guess that my slot in Zaurus is defective). It works fine in USB Card reader!|
|Ritz 64Mb CompactFlash by Lexar Media|
|I didn't plan to buy CompactFlash card at first, but since I needed it to change my ROM (err, kernel...) I bought this one in local (USA) photo shop. Probably paid too much for it, but it comes handy as a mp3 storage and for backups.|
First, a warning: kernel source code doesn't include kernel module for SD/MMC slot. I don't care much, because my slot doesn't work. You have two options: you can compile just additional modules (which will work with original Sharp 1.0 ROM) or recompile whole kernel and insert binary module (which might or might not work depending on changes that you made to kernel, e.g. EXTRAVERSION. insmod -f might work though).
Well, it's not easy. Sharp (as of this writing, 2003-06-14) hasn't yet released any ROM source (a.k.a. Linux source code to their specific changes), so you have to find your way around.
One of the possibilities is to use source code for Zaurus B500 (which is same as poodle -- so much names for same thing). You will need one of following files from http://more.sbc.co.jp/sl_j/source/source_dl.htm#source-B500-100JP:
You will also need Sharp's version of gcc for cross compile. The one included in The Embedded Debian Project won't work, sorry (it doesn't include gcc which understands -mxscale flag which Sharp's Makefile uses).
On the other hand, if you just want to compile additional module for your current kernel (which I highly recommend because you won't brick your Zaurus) you will actually want to compile with same gcc.
First, copy default configuration for poddle (cp arch/arm/def-configs/poodle .config) and run usual make oldconfig, make dep, make bzImage, make modules.
I have tried this kernel (it's under arch/arm/boot/zImage), and it really works! I even separated drivers for WiFi card in modules so I can change them more easily. That should (along with link at www.zaurus.com hopefully) solve the problem of "not having kernel source" for 5600.
Since this was written, Sharp has released source of kernel for 5600. That's a good news, and since hackers have been adding features to it (like preemptive patch). Good page about that is located at Zaurus User Group site.
I decided to use IPsec tunnel implementation which is not FreeS/WAN because it would require me to recompile whole kernel. This way, you can recompile just modules for your kernel.
cryptoapi-0.1.0 and ipsec_tunnel-0.9 modules along with ipsecadm utility
Warning: this modules work only on Sharp ROM 1.0 on Zaurus 5600.
ipsec_tunnel-2.4.18-rmk7-pxa3-embedix.tar.gz 152 Kb
I would really suggest that you read IPsec tunnel documentation if you want to use this. It's really short and simple. For impatient, let's just say that you have to install above .tar.gz in root (/) of your Zaurus and then create /etc/ipsec/zaurus.key key file using (on host machine):
dd if=/dev/random of=/etc/ipsec/zaurus.key bs=24 count=1Then, scp that key file to Zaurus (if your Zaurus is sitting in USB cradle, you might use other methods, but don't say that I suggested that) and start IPsec tunnel using provided scripts on host and zaurus . You might want to change scripts because they use fixed IP addresses. Encrypted network is between 192.168.0.1 on host and 192.168.0.201 on Zaurus.
You have heard instructions about upgrading the ROM which include CF card and pressing C and D? For start, those aren't applicable to Zaurus 5600 because original Sharp documentation said that you have to press Q and T but, I couldn't get that to work eater.
However, you can use Maintenance menu to perform same task (and save your data) like this:
You will have to have following files on your card:
initrd.bin mversion.bin updater.sh zImage.bin
I suspected that updater.sh is the crucial component, and I got it from Sharp ROM 1.07 or 1.10 (both have file with same md5sum). However, now you can peek inside this shell script thanks to Sash's encsh.c which works like a charm on this file. Compile encsh with make encsh, do encsh -d updater.sh and take a look inside ... File mversion.bin has version which will be displayed in System Info.
All other files for ROM 1.00 (initrd.bin, mversion.bin and zImage.bin) you can take from Sharp community site.
Preliminary benchmarking of ROMs 1.00, 1.07 and 1.10 shows that writes to flash with ROM 1.10 is about 257.89% slower than with 1.00 or 1.07. Maybe that's why Sharp is delaying it's release...
Procedure is also claver: it will warn you if you don't plug your Zaurus in AC adapter.
I would suggest to update your VMWare kernel modules with version from http://knihovny.cvut.cz/ftp/pub/vmware/. Petr Vandrovec is doing great job maintaining those drivers for community.
This is second version of this instructions: last one had one little problem: it required you to hand-edit configuration files created by vmware-config.pl. That would work great until you re-run vmware-config.pl (which is needed if you install or compile new kernel). This version users some deliberate network mis-configuration to make changes permanent.
Change your IP number on Zaurus to 192.168.129.1 and connection to USB - TCP/IP (advanced) like this:
Setup your IP networking with zaurus. I use following in /etc/network/interfaces for my Debian:
iface usb0 inet static address 192.168.129.127 pointopoint 192.168.129.1 netmask 255.255.255.128 pre-up modprobe usbnet post-down rmmod usbnetSo, my Linux USB device will have IP 192.168.129.127 and Zaurus will use already configured IP 192.168.129.1.
Now, run vmware-config.pl and edit vmnet1 host-only adapter settings so that network is 192.168.129.129 and netmask is 255.255.255.128.
This will split network 192.168.129.0 in two parts: lower (IP 1-127) will be bound to USB interface (and Zaurus will have IP 192.168.129.1) and upper (IP 129-255) which will be bound to VMware (and vmnet1 interface will have IP 192.168.129.129 while DHCP on this interface will offer IP numbers 192.168.129.192-254). This is very important, because we want to keep IP 192.168.129.2 free for Windows inside VMware so that Intelisync (which has fixed IP numbers .1 and .2) will work.
First, change network setting for interface which is host-only adapter
WARNING: This part of page is currently in writing. For some reason (known only to me) I decided to upload this page to all mirrors (probably some other content changed and I wanted mirrors to reflect that). So, you can't follow rest of this instruction and expect this to work. You have been warned.
ipconfig /renew 1Your adapter should get IP address 192.168.129.2
Start your VMware create route.bat file and add it to StartUp.
route add 192.168.129.254 mask 255.255.255.255 192.168.129.10 route add 192.168.129.1 mask 255.255.255.255 192.168.129.10If you are not using Windows 98 as I am, you might want to use route -p in cmd.exe which will add permanent route for Windows 2000 and above.
Add explicit route to your zaurus and arp entry for your VMware host-only adapter (you will have to start your VMware to get vmnet1 interface and IP address 192.168.129.2):
root@llin:~# route add -host 192.168.129.1 dev usb0 root@llin:~# ping -c 1 192.168.129.2 root@llin:~# arp -i usb0 -s 192.168.129.2 `arp -a 192.168.129.2 | cut -d" " -f4` pub
You might want to add those lines in /etc/network/interfaces like this:
up route add -host 192.168.129.1 dev usb0 up ping -c 1 192.168.129.2>/dev/null up arp -i usb0 -s 192.168.129.2 `arp -a 192.168.129.2 | cut -d" " -f4` pubNow you should be able to ping 192.168.129.2 from Zaurus as well as 192.168.129.1 from VMware.
Create shortcut in Windows 98 guest to "C:\Program Files\Sharp Zaurus 2\Intellisync for Zaurus\IS4SL.exe" /E and enjoy syncing.
Scripts for /etc/hotplug/usb/ to make your Zaurus automatically
recognized when inserted in cradle on Debian unstable
(README is inside).
Strangely, other instructions didn't work for me.
hotplug-usb.tar.gz 793 bytes