Search

Must-Have Zaurus Hardware and Software

You just got your Zaurus; you tried every
single application and even typed some commands in the terminal to
prove it really is a GNU/Linux machine in the palm of your hand.
You know where most of the keys are but still may be looking for
the pipe (hint: it's Shift-Space). So now what to do? This article
presents some recommended upgrades and killer applications.

Expanding Memory

You will need more than the 32 or 64MB of RAM that comes with
the Zaurus, because the system uses most of that memory even if you
haven't installed anything. With a stock 32MB 5000d using ROM 2.37,
only 600k of memory are free without any application installed or
started. You have two places to put more memory: the SD/MMC slot or
the CompactFlash slot. You need the CF slot for a network card, but
SD/MMC can be tricky.

SanDisk cards, the most popular and cheapest SD cards, are
prone to failure. Sharp even had to release a new driver to fix
some problems with the less than $50 US 128MB SanDisk cards that
would fail after repartitioning or work only once. The real problem
is SD drivers can never be free software because of the
copy-restriction system. Get an MMC card instead; free drivers are
available.

Case and Accessories

The Zaurus is a hot seller in Japan, and diverse accessories
are available there. Do yourself a favor and at least get a leather
case from Extreme Limit. The Portfolio model will protect your
Zaurus perfectly. Another good case is the GLP-824 iPAQ case from
Sumdex, which can be zipped for full protection.

I suggest a second battery and charger as well. If you keep
your Zaurus in the case instead of docking it, you also will need a
USB charging sync cable. However, don't get a serial cable; it is
badly designed and will prevent you from opening the
keyboard.

Updating the SL-5000D...and the 5500

The 5500 has very few differences from last year's developer
model, the SL-5000D. The 5500 comes with Hancom Office, a better
metal and plastic stylus and a better AC adapter. Although the
Zaurus doesn't have a built-in microphone, the die-hard hardware
modification crew can build one in (see Resources).

ROM: Sharp, Opie, Paul or Crow?

Now that your hardware is ready, it's time for some software
tweaks. Many different ROM images, or ROMs for short, are available
(see Resources). Creating your ROM also is possible with modzaurus.
If you have the Sharp ROM version 2.37 or earlier, there is a known
security issue, so you should upgrade.

Which ROM is best? Sharp is the default ROM sold with the
Zaurus and is widely supported. Opie is a pure, free software ROM
with improved default applications. Paul ROM is the stock Zaurus
ROM with some modifications to use the MMC card as the storage
media, keeping the whole memory available as RAM. Crow ROM is the
equivalent of Paul ROM with Opie software.

Opie's overall design is better, with a filesystem more like
standard GNU/Linux, and it includes more recent versions of
applications than Sharp ones. However, it lacks the Java VM and the
Opera browser, and its improved filesystem makes it incompatible
with some third-party software. If you have an MMC card, you really
should consider Paul's or Crow's. Simply format your MMC card as
ext2, and it will be mounted under /home. Opie also can use an MMC
card but has compatibility problems.

The best ROM would include improved Opie applications, let
you install non-free software (at least Opera, Jeode, Hancom Office
and theKompany.com applications) and work flawlessly.
Unfortunately, it does not exist—yet.

The ROM updating process requires care. First, download the
ROM version you need. Remember, the latest is not always the best.
Once you have downloaded the ROM file of your choice, put in a CF
card using a USB CompactFlash reader or a PCMCIA converter for
CompactFlash cards. First, check that your CF card is formatted as
FAT16, then rename your chosen ROM file to Romimage, and put it in
the root directory of the CF card. Check that the entire file
copied correctly to CF by comparing the file length and md5sum to
the original.

Next, if you have any important data in your Zaurus, back it
up. Any data will be lost during the ROM update process. Now, turn
off your Zaurus, and plug in the AC power. The orange
charging-battery LED will turn on. Then, open the battery
compartment lid, but do not take the battery out. Now the tricky
part: while pressing the C and D keys on the keyboard at the same
time, press the full Reset button once. This button is located
below the battery compartment and can be accessed with a
stylus.

You may need a friend to help with this awkward key-pressing
sequence. If you are successful, both LEDs will turn on and the
update process will start. Don't touch anything—an incomplete ROM
update may damage the Zaurus, so have a coffee and come back three
minutes later. You will find both LEDs turned off. Then, you can
eject the CF card, close the battery compartment and press the
Reset button.

The most common way for this to fail is if you put an
incomplete Romimage file on the CompactFlash. Check after copying
and before inserting the CF card in the Zaurus.

PIM Applications

Migrating data from your old PDA, as explained in the Zaurus
FAQ, is troublesome. Beaming database after database, then bits and
parts of other databases, is tiring. But, now there is an easy way
to migrate your PIM through a simple Perl script. Install Perl
5.6.1, opie-sh and p2z. Next, put AdressDB.pdb, DatebookDB.pdb,
MemoDB.pdb and ToDoDB.pdb on your Zaurus, and then run
p2z.

Now for the cell phone. If your cell phone has an IR port
that can send data, receive it on the Zaurus by clicking
Settings-->Beam receive. Click on Add to Address book or Add to
Calendar when prompted to include the received information in the
relevant applications.

The clunky bundled personal information manager (PIM)
applications are the Zaurus' big weak point. An alternative is
tkcAgenda, tkcDatebook and tkcMemo from theKompany.com. While
theKompany.com's PIM applications are fully compatible with the
default applications, they replace them completely without leaving
you any choice or restoration option.

theKompany.com also offers tkcKapital to help you manage your
money and tkcExpense, a nice add-on to track your expenses.

Sync (with Free Bonus Networking)

Unlike older PDAs, the Zaurus actually talks IP over the USB
cable to the host computer. If you're running masquerading on the
host, the same connection you use for synchronizing data becomes a
general-purpose net connection. Instructions for setting up
networking over USB for several common distributions are available
(see Resources). After you have that working, use the Qtopia
Desktop software from Sharp or direct from Trolltech to
sync.

Getting on the Internet

With USB, you have a working net connection when the Zaurus
is in the cradle. If you only have a wired network, you can get a
CompactFlash network card for around $50 US; however, wireless
networking is much more fun. The best 802.11b card available for
the Zaurus is the Socket WL6000-320 low-power card. While bigger
cards like the Linksys WCF-11 work, they eat a lot of power. The
Linksys WCF-11 also prevents you from using the stylus slot. Some
other cards, including D-Links, block both the audio port and the
stylus slot.

Some configuration file tweaks are necessary if you have a
ROM prior to 1.1x. But because early Sharp ROMs have a security
hole, it's best to upgrade your ROM before adding a network
card.

The Socket WL6000-320 also will certainly become
plug-and-play in the future—maybe by the time you read this. Check
your ROM's release notes, and if support hasn't been added, use the
driver listed in Resources.

Now that you have an 802.11b-capable Zaurus, you might want
an access point. I recommend the hacker-friendly Linksys WAP11. Not
only does it work well with GNU/Linux using SNMP software, but you
can update its firmware and use directional antennas to make a
long-distance wireless bridge.

Installing Applications with ipkg

The problem of packaging applications for Linux PDAs was
solved when the first versions of Linux running on the Compaq iPAQ
appeared. An ipkg package is basically a .tar.gz file with some
basic control information. If you want to install an application,
type:

ipkg install package.ipk.

Make sure it was compiled for ARM and that you have the
libraries it will need. If you want to remove a package,
ipkg remove package
will do it.

Now, the Essentials...Games!

The best way to play a lot of games on the Zaurus is to
install an emulator. What about playing old Nintendo Game Boy
games? If you have purchased the games, get GnuBoy, and find a way
to download the ROM files legally for the game you own. You can get
a GnuBoy application associated with all of the *.gb and *.gbc
files, so you will be able to start each Game Boy game simply by
selecting the files from the Documents tab. Add the following line
to /home/QtPalmtop/etc/mime.types:

application/gameboy gb gbc

And add these lines to qtopiagnuboy.desktop:

MimeType=application/gameboy
MimeTypeIcons=GnuBoy

snes9x is the famous Nintendo
emulator, which works much the same way for SuperNES games.
However, native games will run better and faster than either Game
Boy or SuperNes emulated games.

You must know NetHack--wouldn't you like
to play it on your Zaurus as well? If you prefer a chess-like
strategy game, the Zaurus is a Java-capable device, so you can get
Laser Chess. And don't miss
Froot, a puzzle bubble-like game that won the
Games category in the recent Qtopia developer contest (Figure
1).

Figure 1. The award-winning Froot is simple,
yet addictive.

MPEG and Divx Movies

Go to
www.pocketmovies.net
and download a trailer. Then start Applications-->Media Player,
choose Options-->Full screen, plug in some earphones and enjoy!
The quality is excellent for such a small device. You can play
movies in MPEG-1 SIF (320 × 240) format at 24 frames per
second. If you want more frames per second or want to store more
movies, HALF SIF (160 × 120) is also possible. The Fit to
Screen option will make the low resolution nearly
unnoticeable.

More full-featured media players are available. The
opie-mediaplayer2 is a media player that supports MP3, Shoutcast,
Ogg Vorbis, Divx and others, but it uses a lot of memory. A better
performing player for Divx movies is tkcVideo, which will drop
frames to keep a smooth playback and a good synchronization.

Utilities

Tab Manager lets you easily reorganize applications in the
launcher. If you are going to run background processes, get Process
Manager. The kill and renice features are very useful for
dæmons, console applications or just killing unstable
processes.

Next, let's add SSH and a better terminal. The KDE konsole
terminal, embeddedkonsole-tabs, is ported to Qtopia and available
on SourceForge (Figure 2). Now, you can use different tabs if you
need more than one terminal open at once. While you're at
SourceForge, pick up SSH. Your home directory is not writable, so
SSH can't run. It needs to write to .ssh in your home directory.
Edit /etc/passwd, and set /home/root as the home directory instead
of /root. You also can get a Zaurus version of Emacs from this
site.

Figure 2. embeddedkonsole-tabs is a KDE-like tabbed terminal.

You should have a password set to protect your Zaurus if you
hang around with a 802.11b and OpenSSH accepting root connections
without any password. Use Settings-->Security to set a
password.

To use your Zaurus remotely from anywhere on the network,
install fbvncserver. Then, somewhere on your network, start a VNC
client; the Zaurus display is exported.

If you want to take a screenshot of the applications you are
evaluating, using the screenshot applet is straightforward. It
should be run in the terminal with:

delay: sleep 2 ; scrshotcf

Various password managers that use encryption to protect your
passwords are available on the Zaurus. Keyring has a user-friendly
interface and uses blowfish.

If you already have a lot of information on STRIP for PalmOS,
you can convert your password file to ZSafe format using
strip2zsafe. ZSafe, although not as user-friendly as Keyring, is
very easy to migrate to through its plain-text import option.
Create a text file using the following format:

"Category";"Name";"Username";"Password";"Comment"

and put it on the Zaurus. Then, select the text from ZSafe,
and it will be added to your password file and encrypted for the
next time you use it.

Maps, Drawing and Notes

In case you've plowed through the tools and utilities already
presented, here are some more examples of the flurry of activity
surrounding the Zaurus. Get qpeGPS to read
mapblast.com maps on your
Zaurus and automatically follow your road.

Various picture viewers are available. Consider tkcGallery
from theKompany.com and its free software equivalent,
MooView.

A shopping list is the killer application for getting your
PDA into the family. Shopper will make your Zaurus more acceptable,
turning it from a geek toy into a useful companion. Add shopping
list items by store, and show your list for each store as you
go.

Exploring the Sky

Don't let your lack of star knowledge ruin your romantic
dates in the moonlight. Download and install the rather large
ZaurusSkyExplorer, and its 4.5MB of knowledge will help you with
constellations and star names. If you need to go further and see
where satellites are, PetitTrack and TLE files from NASA will help
you.

Voice and eBooks

The excellent CMU speech tools have been ported to the
Zaurus. They can read any text file aloud. The British voice has a
heavy accent, but its uniqueness makes it a must-have to impress
other PDA owners or to quietly read today's news headlines. We can
only hope it will be integrated tightly into eBook
applications.

Gutenbrowser searches, downloads and lets you read free
classic literature from Project Gutenberg in the palm of your hand
(Figure 5). A nice complement is QT Reader, which reads many
different documentation formats, from text files to palm .pdb
documents or plucker documents (Figure 6). With the latter feature,
you can fetch a batch of documents to your Zaurus and read them
off-line. It is up to you to decide which news sources, comics or
web pages you want to include. You even can create your own
starting page.

Figure 5. The public domain in your PDA: Gutenbrowser.

Figure 6. Grab now, read later with plucker and QT Reader.

plucker is 100% compatible
with Avantgo if you know the URL of the content. The hardest part
is finding PDA-optimized content, because the Avantgo license
prevents web sites from publicly disclosing the PDA-optimized URL
or serving it to other off-line readers.

However, with some time you can find newspapers such as
The Age from Melbourne, Australia that give a
link to their handheld version somewhere on their first page. Look
at the tiny print.

Collect these URLs or design your own page and launch
Spider.py, a plucker Python browser. It will create a .pdb file
that can be read on the palm at any time.

Math

Although the Zaurus comes with a good calculator, it does not
let you convert units easily because of the lack of programmable
functions. ZUC is an excellent converter. Two featureful math tools
are proprietary, NeoCal and Formulae 1. NeoCal is currently the
best calculator available for the Zaurus and offers a lot of
financial, scientific and statistical functions. Formulae 1 is an
equation solver that displays not only the results but the
intermediate steps. A math assistant worth purchasing if you need
some e-help.

Files, Scripts and Directories

Before we go on with network applications, you should know
where they are installed on the Sharp filesystem:

/home/root/usr/lib/ipkg: a list of the files that
were installed for each application.

/home/QtPalmtop/apps: description files for the
launcher.

/home/QtPalmtop/bin: executables.

/home/QtPalmtop/pics: icon files in PNG format and
other pictures.

/home/root/Applications: data files for
applications (most of which are stored in XML).

/home/root/Settings: configuration files for some
of the applications.

If applications are installed onto a memory card, a QtPalmtop
directory is created on the card. You also can tweak application
appearance that way.

Code to be executed at startup should be installed in a file
in /etc/rc.d/rc5.d. A good choice for a filename might be S99local.
This example sets environment variables correctly and sets the
hostname:

If you use instant messaging, tkcjabber from theKompany.com
is worth every cent of the license fee. It will turn your 802.11b
Zaurus into an instant messenger that is always on if you run it in
the background. Using ICQ, AIM, MSN, Yahoo Messenger and IRC now
will be exactly like using a cell phone. When you receive a
message, the Zaurus incoming-message LED blinks, and a cell
phone-like sound is played. Then you can chat in a window.

There are only two drawbacks. First, the interface is icon
only. The first time you use it will be the worst: no tooltips, no
text, no nothing. Fortunately, the user interface is very
intuitive, and you won't be lost for long, except for the contacts.
I have yet to find how to add contacts by ICQ number or nickname.
The second problem with tkcjabber is IRC support. You are
disconnected from IRC every time you click an obscure icon. These
bugs are very minor and did not interfere with the daily use of
this great application.

Free software instant-messenging clients are also available:
QTJim for Jabber, KinkattaLite for AIM and KMerlin for MSN. Zic
will take care of the IRC part. There is no free ICQ or Yahoo
Messenger software, so follow my advice and get tkcJabber.

Now, what about sniffing 802.11b traffic? Kismet is an
excellent application for this. If you are using a prism2-based
wireless card, like the Linksys WCF-11, you should not have any
problem installing and using it. A version that works for the
Socket card is also available from the same site as the Socket
driver. The excellent kismet-qte provides a GUI interface. For
network troubleshooting, the familiar project has ported
nmap.

Conclusion

I hope this article has introduced you to some of the good
software available for the Zaurus. The best part is most of these
excellent applications are released under the GPL. If, like myself,
you have previously used a Palm Pilot and always wanted some
special software, you will be better off with the Zaurus.

Guylhem Aznar is
the coordinator of The LDP
(www.tldp.org) and
documentation coordinator for the GNU Project. Although he is a
sixth-year medical student in real life, he is currently working on
his PhD in Computer Science and with his little time left enjoys
playing with the Zaurus. Reach him at
externe.net.