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.
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.
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.
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).
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.
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.
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.
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.
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.
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=GnuBoysnes9x 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.
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.
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:
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.
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.
drawpad and IQNotes (iqnotes.kybu.sk) are daily companions. drawpad (Figure 3) lets you draw something on your Zaurus screen when you can't type, and IQNotes (Figure 4) keeps text notes and sketches in a convenient hierarchical tree.
Figure 3. drawpad—does what it sounds like.
Figure 4. IQNotes keeps notes and drawings organized.
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.
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.
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.
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.
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/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:
#! /bin/sh # # S99local - run local startup stuff # PATH=/bin:/usr/bin:/sbin:/usr/sbin LD_LIBRARY_PATH=/lib:/usr/lib:/home/QtPalmtop/lib export LD_LIBRARY_PATH PATH hostname myhost.my.domain.us
Be sure to make S99local executable by entering:
chmod 750 S99local
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.
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.