IPAQ Information

Important: Keep the iPaqs charged when not in use!! 

1. Facts about the iPaqs

The iPaqs that you will be using are HP (i.e. Compaq) iPAQ H3850. More info about this platform can be found at:

http://www.handhelds.org/platforms.html#h3800

These iPaqs are running Familiar Linux v0.6:

http://familiar.handhelds.org/releases/v0.6/

GUI for the iPaqs are GPE palmtop environment. For more information on GPE features, check:

http://gpe.handhelds.org/

2. Checking wireless LAN status:

$iwconfig eth0

where 'eth0' is your wireless port.

3. Finding out the IP Address of your iPaq:

The iPaqs are assigned a new IP address each time you connect to the network. The IP Address assigned to your iPaq can be found by using the 'ifconfig' command on the terminal screen of your iPaqs.

Example:

$ifconfig eth0

4. Connecting to your iPaq:

Use hyperterm and the iPaq cradle – first, find hyperterm program on your PC; second, attach the serial cable of your ipaq cradle to com1 of your PC; third, set up a new connection with properties: com1 115200/8/n/1/none (just fill in the blanks in that order); fourth, put your ipaq in the cradle. You should see all kinds of info on the hyperterm. Hit enter, you will be prompted for login. <If you have troubles setting up the connection properties, you can download a setup file here. Save it anywhere on your PC; double click on it, you should get a working hyperterm.

Remote login - You can use 'ssh' to remotely log into your iPaqs. To do so, you need the IP address of your iPaq. This can be determined as explained above. You can ssh into your iPaq from any terminal screen.

Remote file copying - You can transfer files into your iPaq from the terminal screen using the 'scp' command. For example, to transfer a file ‘foo.txt’ from yourDirectory at ipaq5.handhelds.org into your current directory on your iPaq, you could do the following

$scp guest@ipaq5.handhelds.org:yourDirectory/foo.txt/  .

5. More info about Familiar Linux:

Familiar Linux is a distribution of Linux for iPaqs and some other PDAs. More details about the distribution are available at:

http://www.handlelds.org/.

The Linux kernel has been developed for StrongARM processor devices.

More information on how to use Graffiti as an input method is available at:

http://www.palm.com/products/input/Palm_Graffiti.pdf.

6. Package Manager:

The package manager in Familiar Linux is a program called 'ipkg'. More info on how to use the 'ipkg' package manager can be obtained at:

http://www.handhelds.org/z/wiki/iPKG.

The documentation is fairly comprehensive.

The list of available (not necessarily installed on your iPaqs) packages can be found by using

$ipkg list

Additional packages installed on the iPAQs besides the ones come with Familiar v0.6 are:

python
python-io
python-pickle
python-threading
python-time

These packages are installed as they are necessary for your warm-up project. If you need other packages (check availability first) for your second project, please contact the TAs.

7. Writing programs for iPaqs

You can write your programs in any language you are comfortable with (as long as it is supported by the iPaq). Java may not be a good choice due to its demand on memory. Some of the choices available to you are:

C - Easy to program, please be advised that compilers for C/C++ are not available with the Familiar distribution of Linux. You have to compile on the Skiff-cluster, available on the Internet with the same architecture as the iPaqs, but much greater storage space (hence gcc and many other utilities are available). Just ftp your programs there, compile it and copy the compiled binaries into your iPaqs. It actually works!

You can either rlogin, telnet, scp, ftp or rcp into the location to get your work done. Sometimes certain servers are not responding, try others!

More details about the Skiff Cluster:

An alternative to using skiffcluster is to use a cross-compiler called ‘toolchain’. The cross-compiler can be found at:

It can be used with C, C++.

Cross-compiling is not yet recommended as people have had lots of troubles getting it to work properly so far.

Python - Most recommended. scripting language, no need to compile; simple - socket programming fairly similar to C but simpler, readily available on the iPaqs; and most of all, you get to learn to use a popular language if you don't know it already