OpenWRT for ZipIt Z2

This is an unofficial port of the OpenWRT Linux distribution for the ZipIt Z2 handheld.

ZipIt Z2 running OpenWRT

Note that this is an unofficial port of “OpenWRT trunk” at this stage.



Two images you can install to an SD card (see instructions, below):

Gmenu2x launcher, courtesy slug_

See below for instructions.

Internal Install

There is also this image for installation to the internal flash:

slug_’s recent build with gmenu2x launcher, for installing to internal flash.

The tool z2uFlashstock will install this build (and uboot bootloader) onto a stock ZipIt Z2. You can also use it to update the internal jffs on a uboot Zipit.


Packages are built nightly on this site, directory here. The nightly build comes with opkg configured to install packages automatically from this repository.

Mozzwald’s image with gmenu2x is configured to use his package repository. There may be packages available in this repository which have failed in the nightly build.

If you wish to switch between the package repositories used by opkg update, you can edit the file /etc/opkg.conf on the ZipIt. URLs are




Installing to an SD card

Getting Started

Useful Things

Because this is an early image, most things will need some experimentation to get right. Here are some things to get you started, though:

Wifi & Network Configuration

OpenWRT has its own system for configuring wifi, using two text files. /etc/config/wireless configures the access point connection (ie SSID, password). /etc/config/network configures the IP interface (ie DHCP or static IP address.) The configuration system is primarily designed for routers, but it works OK for clients as well.

On the ZipIt you can use ‘vi’ to edit this files, or you can edit them on your host computer before you first boot up (I recommend editing them beforehand as it’s less fiddly than editing on the ZipIt.)

Wireless Config

In /etc/config/wireless you’ll need to change the default settings for option ssid to your network name, option key to your password and possibly option encryption depending on your encryption type (full list of options here, the default psk2 should work fine for most WPA2 home networks.)

There is also a line option disabled 1 that you will need to comment out or delete in order to enable the wifi.

If you have more than one ZipIt then you’ll want to change the value of option macaddr to a unique hardware MAC address as well. You can read the correct uniquely assigned MAC address for your ZipIt by looking under the battery cover.

Network (IP) config

If you are using DHCP the default option proto dhcp setting in /etc/config/network can be left alone.

If you are using a static IP you should replace the line option proto dhcp and create a section that looks like this:

config interface wlan
    option proto     static
    option ipaddr    ''
    option netmask   ''
    option gateway   ''
    option dns       ''

Full OpenWRT documentation for the network configuration file.

Bringing Up The Network

After the config files are set up, run the command wifi (a script at /sbin/wifi) to bring up the interface. This command also automatically runs at startup.

You can check if the network is connected properly by running iwconfig wlan0 (to check association with the access point) and ifconfig wlan0 (to check for a valid IP address.)

Please note: At time of writing the wifi command on my ZipIt outputs some messages that look like errors, even when it’s working:

/ # wifi
command failed: : Operation not supported (-95)
command failed: : Operation not supported (-95)
ifconfig: SIOCSIFHWADDR: Device or resource busy
Successfully initialised wpa_supplicant
/ #

As long as you see the last line (“Successfully initialised wpa_supplicant”), things are probably OK.

If you’re having trouble connecting, try the commands logread and dmesg to view log output for hints. If you have the SSID and shared key set correctly, you may have to change the encryption type (the option encryption discussed above.)

Anarsoul has ported gmenu2x. opkg install gmenu2x to use. The ZipIt will automatically boot into gmenu2x if it is installed.


opkg install kmod-sound-zipit-z2 alsa-utils to get Linux audio support.

To hear audio, run alsamixer then scroll right until you see “Left Mixer” then “Right Mixer” and press ‘m’ to unmute them. It’d be nice if someone makes a little alsactl script to automate this, we can put it in the kmod-sound-zipitz2 package. :)

To exit alsamixer, type Ctrl-C (the … & C keys.)

One command line audio player is moc. opkg install moc then mocp to run.


mutt is a great console email client. opkg install mutt msmtp will give you mutt w/ secure IMAP & POP support, and you can configure msmtp as a secure sendmail for SMTP.

Mouse support

kmod install mouse-emul and you can press ‘Option’ to toggle using the keypad as a mouse.

Source Code & Getting Involved

If you’re wondering what is left to do, there are still several of the Qi Hardware packages that don’t build for ZipIt. Or take a look at the Issues List for OpenWRT-ZipIt. Or, port your favourite program!

Please send us Pull Requests or patches via github so changes can be incorporated.

About the nightly builds

Should run once a day and attempt to build all packages in the openwrt-zipit repositories. Logs and the build script are uploaded after each build


Worked on by many #zipit folks - projectgus, anarsoul, mozzwald, deeice & slug_, and many others.

Big thanks to the OpenWRT developers for the original distribution.

I Found A Bug

If it pertains to the core OS, please report it via the github Issues for openwrt-zipit.

If it pertains to a package taken from openwrt-zipit-packages, please report it via that project’s Issues page.

If it is another program from the core OpenWRT distribution, you can either report it on github or report it back to the OpenWRT team. Bear in mind that we are grabbing packages from OpenWRT development versions, so it is likely packages will break from time to time. Also please remember that ZipIt is not a supported configuration for OpenWRT, so they may not be familiar with your configuration.