Link to index:clem's Qt/Embedded, Opie, iPAQ and security resources


You will find here various notes I wrote to help users running Familiar and/or Opie on their PDA, like how to have a working ipkg on a Familiar 0.7.2-based iPAQ, how to connect a linux desktop to an iPAQ through USB, or from here, how to connect your iPAQ to the Internet through masquerading plus some links to useful references. About those links: even if this page is mainly focused on Linux desktop users, I have found and compiled useful links for users using Linux + Opie iPAQs, but using Windows on their desktop.
If you just want to install Familiar or Opie on your PDA, and you are not concerned yet about e.g. connecting it to Internet, then you should probably go directly to this installation guide by Familiar guys, or Opie installation page, in its (sometimes incomplete) user manual.
My advice, though, is to read and follow first the must-see reference that the Familiar installation guide of is, thus installing a bootstrap image, then come back on this web page to connect your iPAQ through USB and your Linux desktop to the Internet as I explain in those two paragraphs, then follow the advices in the what to do a fresh iPAQ (big) part to install a recent Opie version and other useful stuff.

Table of Contents

News about this page


Better explanation of the optimal order to do things for a proper install, under My advice in the summary and the Familiar install guide description. Updated and simplified the VNC installation paragraph, since it's now available through the 5th toe Opie feed.


New note added about IP forwarding on Windows XP, to give your PDA an Internet access through your PC (in the Windows XP section at the very bottom).


New note about how to see the kernel messages through the serial console, with PXA or StrongARM iPAQs.


Updated my Linux desktop configuration (with more praise to Debian ;-), clarified the last note in the masquerading section about setting it up on reboot, updated links to synchronization tools, explain better why you may not need to upgrade ipkg (or at least it will be easier) on recent iPAQs, and reordered/fixed/improved a little bit the optional steps to do after an installation & optional ipkg fix.


More updates, in NIST private stuff and in my iPAQs configurations (new Opie feeds).
Some major cleanups: removed XScale fix instructions for kernels up to 2.4.21 (there's definitely too old), removed USB or networking stuff for Familiar up to 0.7.1 (too old too: Familiar 0.7.2 is out there), removed iPAQ_IP and PC_IP variations and dynamic settings, moved and improved some parts. But added stuff as well: here are instructions to automatically set up the usb0 USB interface on the PC side via hotplug.


A new fbvncserver package is out there! As the previous ones, you must get it on Sourceforge, and its latest version number is 0.0.5-008 at the moment. Besides its new features (like 54xx iPAQs support), the 'VNC Server down' icon bug is fixed, so I removed the now unecessary fix line.


Windows users, I hope you have a serial cradle for your iPAQ, because USB does not look so good... More details in the Windows links part.


One more update in Familiar 0.7.2 ipkg fix paragraph: ipkg version 0.99.105 seem to work better on XScale-based iPAQs, like h39something or h55something, or even on the other iPAQs (StrongARM-based) with some recent Familiar images. Explained why and how you would still update ipkg then.


Fix in Familiar 0.7.2 ipkg fix paragraph: converted an "If you try to run ipkg install ipkg" to "Run ipkg install ipkg", since it really must be typed at this point.


New instructions to install a VNC server on your iPAQ.


The instructions about how to configure quickly an iPAQ have been reordered in a more logical way, better commented, and sometimes completed.


A lot of obsolete advices have been removed, plus other things have been cleaned or better documented.


The Familiar 0.7.2 ipkg tool is pretty broken, so I wrote a very documented list of instructions to upgrade it cleanly to a working version, without upgrading all Familiar packages. This is also a sort of example-based tutorial to solve packages install problems :)



My Linux desktops configuration

My iPAQs configurations

Though below are links to directories where binary images and bootldr can be choosen and downloaded, you really should read the Familiar v0.7.2 installation guide, or at least go to the Familiar v0.7.2 download page to choose and download the files suited to your iPAQ model and your GUI needs (Opie / GPE / no GUI).
Hardware and software details for each configuration tested
Alias Model Tar archive with BootBlaster, bootldr, md5sums and jffs2 image Linux kernel Familiar version Opie version (and Opie feed URL) Boot loader
ip 3970 bootstrap-v0.7.2-h3900.tar 2.4.19-rmk6-pxa1-hh30 0.7.2 Opie unstable bootldr-pxa-2.20.4.bin.gz
ipd 3870 bootstrap-v0.7.2-h3600.tar Opie 1.1.4 bootldr-sa-2.21.12.bin.gz

Serial connection, networking & PPP configuration

If you have a serial cradle (or a serial/USB cradle), you can connect to your iPAQ through your serial port. It's in fact the easiest way to load a Familiar image on it, but for all other purposes I prefer to use a USB connection, which is easier to use for both PC-iPAQ communications and iPAQ-(PC)-Internet communication.
Note about getting the kernel logs on the serial console: you can see the kernel messages on the serial console (which are not always available through logread, especially when you are booting or when the output is too big for the 16K circular log buffer) with the following methods:

USB networking

Setting up USB networking between your Familiar 0.7.2 iPAQ and your Linux Desktop is pretty simple. The iPAQ comes already set up for this, you just have to configure the PC side a little. Your PC kernel must have usbnet support enabled (you will find good, developed information on Linux "usbnet" driver here), which is pretty common in most recent kernels.

How to automatically set up the USB network link through hotplug

To make the ifconfig usb0 kind of thing automatic when you plug your iPAQ on its cradle, simply copy this script in /etc/hotplug/usb, make it executable, and plug your iPAQ. ifconfig should show, after a couple of secondes, that usb0 is now up and running with the correct IP! (you will also see something like usbnet[25097]: Running in /etc/hotplug/usb/usbnet /etc/hotplug in your /var/log/syslog or /var/log/messages too).
This works on my Debian unstable with hotplug installed, and of course your mileage may vary. Please tell me if it's very different to set up on your Linux distribution, but the general idea is to find the place where you can put scripts, with the same name as kernel modules (usbnet here), to be launched when hotplug find a new device using it, then put in this directory a usbnet script that will basically do ifconfig usb0 (set up the PC USB interface IP address) for you.

IP Forwarding and Masquerading

Now we want to have access the Internet from the iPAQ through our PC, and we do not have any spare IP address on our network.

Since we have a 2.4 (or 2.6) linux kernel on our desktop, we will be able to use netfilter (also known as iptables) (if the kernel options have been activated) to meet our needs.

Synchronize data with the desktop

You won't be able to sync anything before you install and configure opie-security (it's included in the Opie 1 images).

You'll have to choose the IP address of the desktop network interface which points to the iPAQ, so it will be one of the IP addresses authorized by opie-security Sync configuration page:

choice of authorized IP addresses in opie-security

Finally, you may try either MultiSync: a versatile synchronization tool for multiple platforms: Zaurus, iPAQ, Evolution, IrMC, Opie, Windows CE, etc. (link to how-to) or, if you are using the KDE desktop environment KitchenSync: a synchronizing tool between Opie and KDE (link to how-to).

Summary: what to do on a fresh iPAQ (PC side already configured)

How to fix Familiar 0.7.2 ipkg

Familiar 0.7.2 comes with ipkg 0.99.105 which is quite buggy (segfaults with a SIGSEGV error while doing ipkg update && ipkg upgrade for example), at least on StrongARM-based iPAQs (digits starting with 31, 36, 37 or 38, e.g. 3870) and/or with only some images from Familiar install page. We will explain here how to upgrade it to the latest version from Familiar unstable feed. Although the logs below have been recorded during the upgrade of a 3870 iPAQ to ipkg version 0.99.117, versions 120 to 130 have since been tested successfully.
If your iPAQ model number starts with two digits higher than 38 (e.g. h3970, h5550), you have an XScale-based iPAQ, and Familiar 0.7.2 ipkg, version 0.99.105, might work on your iPAQ. For example, I have not had problems with my 3970, and someone reported me her ipkg worked on her 5550 // update (May 07): even a 3870 iPAQ with a recent familiar-bootstrap image won't SIGSEGV when running ipkg update or upgrade, or installing ipkg 0.99.121 from the feeds - so YMMV //. But since the 0.99.105 ipkg version is not verbose by default (it won't tell you what it does), and you might still encounter bugs, you may have reasons to upgrade anyway. In that case, you can apply the following instructions.

Once ipkg is upgraded...

How to install and configure a VNC server on your iPAQ

With a VNC server on your iPAQ, you can see on your PC, inside a window , what's displayed on the iPAQ (in a windows like this). That's especially useful for presentations, for example, to show on a bigger screen what your iPAQ is displaying. You can even control (with your mouse and keyboard) the iPAQ from this another computer!
A recent VNC server package for iPAQ is now in one kinda-official Opie feed they have for third party apps, called the 5th toe feed, which is used by any iPAQ where Opie has been normally installed. So the only thing you have to do is to type ipkg install fbvncserver!
If you really want the latest package version, or if you want to know more about this fbvncserver package, here is its home page, available through Sourceforge.
Note: as the installation logs will suggest you, to be able to click on your iPAQ from your desktop, through the VNC window, you will have to calibrate the server just after a reboot, touching precisely the four corners, clockwise and starting from the top left corner. Even if you won't see anything special, this creates a calibration file, /etc/tssim_cal.conf, used by the remote control interface.
You will then see, in the Applications tab, two new VNC icons: VNC server and VNC server halt. Use the first one to launch the VNC server, and you are done! You can try it with any VNC client, connecting to your iPAQ IP address.

Must-see reference

Familiar installation guide: Excellent guide that explains from the beginning (iPAQ having Windows) how to install Familiar, or Familiar + GPE, or Familiar + Opie on your iPAQ. You will probably get Familiar version 0.7.2 and Opie version 1.0.2 at the end of the process. Since Opie has evolved a lot since the 1.0.2 version shipped on this page, it's simpler to install a bootstrap image there, then to follow my instructions above to install a recent Opie on it.
If you want, you can see on Familiar download page they give you several choices before you can dowload something:

Useful links for Windows™ users

Note about USB: you may only have a USB cradle, to connect your iPAQ to your desktop. Unfortunately, enabling (TCP/IP) networking over USB is much less easy and integrated in Windows than in Linux, so you'll have to install a third-party driver if you really want this for your iPAQ. Links below point to a USBNET driver made by Bahia, but it seems to have expired (plus it works only for StrongARM iPAQs, up to 38xx only)... So go on this page to see, at the bottom, two possible solutions to get this driver working anyway (although I'm not sure they are legal :-/), or try to get a serial cradle and set up PPP over it, or get a Linux, damnit ;-) , or maybe try the Belcarra USBLAN™ solution (click on Download in the menu to fill in a form and get, I think, an evaluation version) - but I'm not sure anybody can buy an unlimited version of this, and how much it costs (thanks for telling me if you test this).

For Windows 2000 users

For Windows XP users

If you use USB and have a StrongARM iPAQ (31xx to 38xx), you can connect your iPAQ to the Internet. I don't know if the connection forwarding works with PPP over serial, neither do I know how to do that for PXA (39xx, 54xx, 55xx) iPAQs though :-/
Here is a short guide which explains who to setup the (StrongARM) iPAQ and Windows XP, with Bahia USB drivers, to connect the iPAQ to the Internet.
Important note about giving Internet access to your PDA: you need to enable IP forwarding to make that possible. But don't worry, it's explain pretty well on this Microsoft page: How to Enable TCP/IP Forwarding in Windows XP (and it's just a registry change - actually the method is the same as for Windows 2000 above).

Questions or comments? Contact the author! (Clément Séveillac (personal email) - PGP key / fingerprint)