Embedded Linux on the Zipit Wireless Messenger
posted by: Steve
I have one of these little darlings, and in addition to helping on the devel front [yahoo.com] I have done quite a bit of truly productive work actually using. The linux devices article was, quite frankly, the best starting resource to date for anyone wishing to obtain and play with a Zipit. Prior to it, there were no concise collections of relevant links. Do stop by the wiki [elinux.org], as it is currently under construction and showing some good progress.
For the curious, a brief overview of impressions and capabilities:
- The device comes (stock) with:
- ARM720T processor @ 90mhz
- 16 mb RAM
- 2 mb ROM for kernel and userspace programs
- 320x240 grayscale LCD
- Agere 802.11b/g wifi
- Wolfson Micro stereo DAC audio
- ships with linux kernel 2.4.21 with the rmk arm patch, as well as an aeronix-specific extension to this patch, plus wireless extensions
- the standard pcmcia-cs wifi driver with two relevant patches
- Busybox 1.00 pre1
- uClibc 0.9.15
- Wireless Tools 26
As-is when purchased, the device is indeed running linux natively. The appropriate drivers and programs are brought about with a few init scripts, all transparent to the user. The zipit messaging program is a rather large 1.6ish megabyte arm binary which includes framebuffer, embedded audio, some decent graphics, and generally stable performance. NOTE: The zipit messaging binary is statically linked to glibc, therefore containing GPL'd code, yet Aeronix has thus far refused to release the code for this program!! If this bothers you (as it should), do something about it. At time of writing, the current firmware does not support the playing of streaming audio, though it is promised in a future upgrade.
On the devel front involved in hacking the zipit, thanks go to Aibopet and Ken McGuire primarily for their work in deciphering the process by which the firmware operates and updates. The yahoo community [yahoo.com] by which much of this work has been accomplished, has also produced an OpenZipit linux "distro" of sorts. It is superior in several ways to the stock Aeronix linux distro; indeed, McGuire from the abovementioned yahoo group has rewritten the audio driver to perform much better than the supplied driver. Streaming audio via madplay and freebase is indeed possible, and having played with it myself, does truly function well. While a bit underpowered for some uses, the processor has quite enough power to decode mp3/ogg audio (if you want to whine about processor speed, go get a laptop; the zipit is not for you). Others in the group were instrumental in tracing gpios and adding a serial port for troubleshooting. OpenZipit includes, among others, madplay, freebase, dropbear ssh, and the busybox versions of (b)ash, vi, ftp, telnet, etc. Please see the yahoo message board and the wiki for more information involving OpenZipit and its specifications.
From a user standpoint, the zipit is quite useful. One of my specialties is in wireless networking and wireless security; the zipit is quite good for a handheld auditing tool. (a port of kismet is in the works, for those of you that are interested). The range and robust nature of the wifi chip has never failed to surprise me: it has better range and sensitivity (perhaps not on paper, but indeed in use) than many of the most popular wifi cards available (orinoco, senao). Additionally, with the dropbear ssh client, any open (legal) wifi signal is a free ticket to your box of choice for console based applications. Battery life is an astounding 6+ hours. The 2mb ROM is too tiny for much in the way of userspace apps, but as the device is built for wireless connectivity, ssh serves as a gateway to most applications you might wish to use. An MMC card hack is in the works much like that of the linksys WRT54g noteriety, so storage capacity issues may soon become moot.
Useful? Sure, if you're like me and have the need. Fun? Of course. Keep tinkering!