Compaq ipaq H3650
disassembly (physical)
GNU/Linux
- best place to start is http://ww.handhelds.org
- Setting up USB link between PC and iPAQ (using Linux) http://dredd.crimea.edu/ipaq/ipaq-usb-howto-new.html
- iPAQ hypermail archive http://www.handhelds.org/pipermail/ipaq/
- handhelds.org - source archive with CVS access http://www.handhelds.org/sources.html
GNU/Linux distributions
- Familiar http://familiar.handhelds.org/
- Building Linux for the nanoEngine http://recycle.lbl.gov/~ldoolitt/bse/
- Debian/ARM
- Embedded Debian http://www.emdebian.org/
- Debian on the iPAQ http://primates.helixcode.com/~vladimir/ipaq/debian-ipaq-howto.html
- Debian/ARM distribution ftp://ftp.de.debian.org/debian/dists/stable/main/binary-arm/
Familiar project
- Currently Familiar's Linux distribution supports some of the following key features
- Entirely based on XFree86's/keithp's Tiny-X server, which includes the latest RENDER extension.
- Anti-Aliased True-Type Font support in rxvt, ion, blackbox, and fltk (this is extended to any X application using the Xft APIs).
- OpenSSH's ssh and sshd included by default.
- The latest releases include JFFS2 supported, which enables you to have read/write access to the iPAQ's Flash.
- Integrated Python v2.0 w/ PyGtk and PyGDKImlib.
- Binary and Library compatible w/ Debian's ARM distribution. In most cases, programs (as long as their dependencies are met) can be taken from Debian and executed on the iPAQ w/out issue.
- Full package support based on ipkg.
- Familiar v0.5.1-pre http://familiar.handhelds.org/familiar/releases/v0.5.1-pre/
- Familiar dependency graph http://handhelds.org/~cworth/dependencies/graphs.html
- stock root password: rootme
- Hints for setting up PPP http://www.handhelds.org:8080/wiki/PPPHowto
- file transfer is easiest using: wget <URL>
- X11 configuration: /mnt/ramfs/etc/rc2.d/S99x
- window manager
- blackbox
- SWM - a small window manager http://swm.sourceforge.net/
- additional software: /usr/local (/dev/mtdblock6 on /usr/local type ext2 (rw,noatime))
- PPM image viewer http://vulcan.tky.hut.fi/~jkirma/stuff/ppmview.c
- X server for PCMCIA VGA card
- Xipaq -screen 320×240 -card pcmcia -screen 800×600
- customizing the window manager
- /usr/X11R6/bin/pyditor
- /etc/X11/blackbox/blackbox-menu
working with intimate/familiar
- Intimate Distribution http://intimate.handhelds.org
- bootparams: noinitrc root=/dev/mtdblock3 init=/linuxrc.intimate console=ttySA0 devfs=mount
- microdrive partitioning
Disk /dev/hde: 32 heads, 63 sectors, 347 cylinders Units = cylinders of 2016 * 512 bytes Device Boot Start End Blocks Id System /dev/hde1 1 281 283216+ 83 Linux /dev/hde2 282 347 66528 82 Linux swap
- mounting the microdrive later
- insmod reiserfs (for reiserfs support. most filesystems are jffs2)
- mount /dev/hda1 /mnt
- network configuration
- /etc/network/interfaces
- standard ifconfig
- QPE for iPAQ
- Installation instructions http://qpe.sourceforge.net
- ipkg distribution files http://qpe.sourceforge.net/packages/ipaq/
- Stowaway activation when using intimate
ln -s /dev/tts/0 /dev/ttySA0 insmod h3600_stowaway /usr/bin/stowd &
ARM cross-compilation
- CrossCompiler notes for setting up a toolchain
- Linux ARM toolchain / cross-compiler http://www.tazenda.demon.co.uk/phil/arm-tools.html
- ARM compiler from LART project http://www.lart.tudelft.nl/lartware/compile-tools/
export CC=arm-linux-gcc ./configure --enable-speed --enable-fpm=arm --enable-sso arm-linux make
- most recent bootldr ftp://lorien.handhelds.org/pub/linux/feeds/bootldr/
- iPAQ download site ftp://lorien.handhelds.org/pub/linux/feeds/demo/
- iPAQ kernel compilation - from the CRL CVS
- http://cvs.handhelds.org/cgi-bin/viewcvs.cgi/linux/kernel/arch/arm/def-configs/ WWW CVS access to e.g. .config file (use with: make oldconfig)
- using standard CVS tools
export CVSROOT=:pserver:anoncvs@cvs.handhelds.org:/cvs # # Password: anoncvs cvs checkout -r {tag} linux e.g.: cvs checkout -r K2_4_6-rmk2-np1-hh2 linux make mrproper # this removes e.g. version.h (check this file later if unsure) cp arch/arm/def-configs/h3600-familiar .config make oldconfig # CONFIG_EXTRAVERSION="-fam4" (don't forget the -) make bzImage
Cross-compile hints
- add the option: –with-tools=/path/to/cross-compiler/prefix-for-gcc- for example, if your cross-gcc were /usr/arm/bin/arm-linux-gcc, then you'd use the option “–with-tools=/usr/arm/bin/arm-linux-” (with trailing dash - the commands gcc, cl, g++, … will be appended to this option's value!)
- make sure, it doesn't try to link the host-platforms libraries.
- you have to add the options: –with-fgllib=../../fgl –with-ipllib=../../ipl (the values for the options are the defaults, so perhaps you might omit them)
- stripping executables: arm-linux-strip hello-world
StrongARM kernel compilation
- TU Delft ARM cross-compile tools http://www.lart.tudelft.nl/lartware/compile-tools/
- the LART precompiled cross-compiler goes to: /data/lart/cross/
- 2.4 kernel source (mirrored) ftp://linux.mathematik.tu-darmstadt.de/pub/linux/mirrors/sites/ftp.kernel.org/kernel/v2.4/
patch -p1 -d `pwd`/linux < patch-2.4.4-rmk3
patch -p1 –verbose -f -d `pwd`/linux < diff-2.4.4-rmk3-np1
- General list of patches for various ARM machines http://www.arm.linux.org.uk/developer/machines/
- cross-compiled gcc must be at correct place (e.g.: /opt/arm-cross-gcc, just setting the PATH is not sufficient and results in complaints about components not found)
Hardware + accessories
- 3600 Hardware specifications http://www.handhelds.org/Compaq/iPAQH3600/iPAQ_H3600.html
- Sleeve modification discussion http://www.brighthand.com/ubb/Forum33/HTML/002034.html
- Compaq info on PCMCIA compatible products http://www.compaq.de/produkte/handheld/infos/pcmcia.htm
- German vendor for supplementary ipaq equipment http://z-com.de/web/Notebook-HandheldHandheld-Organizer.htm
- Colorgraphics
- maker of the Voyager PCMCIA VGA card http://www.colorgraphic.net/products/navigvoyager.html
- vendor http://www.peak-development.co.uk/multimedia_windows_ce/vga_out_pc_card.htm Vendor for colorgraphics voyager PCMCIA vga
- German Vendor:Promise-Computer Oliver Devrient, Bretonischer Ring 9, 85630 Grasbrunn.Tel.:+49 (0)89 4620 4080
- product limitations http://faqs.org/faqs/pc-hardware-faq/laptops/compaq-aero/section-104.html
- vendor FAQ http://www.colorgraphic.co.uk/voyagerfaq.htm
- Margi DVD-to-Go PCMCIA card outputs PAL or NTSC
- Linux driver http://www.linuxtv.org/developer/margi.xml
- Keyboard to RS232/IrDA adaptor for Pocket PC devices http://www.microfoundry.com/
- Memory/Disk layout
/dev/flash4 on / type cramfs (ro) => load flash 0x200000 /dev/flash3 on /mnt/init type cramfs (ro) => load flash 0x100000 /dev/flash5 on /usr type cramfs (ro) => load flash 0x500000 ramfs on /mnt/ramfs type ramfs (rw) ramfs on /dev type ramfs (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,mode=0622)
- Foxconn - Reseller for iPAQ connectors http://www.foxconn.com/products/ipaq.asp
- using the serial port http://www.handhelds.org/minihowto/h3600-serial-cable.html
- Pinout of the internal/external connectors http://www.handhelds.org/Compaq/iPAQH3600/iPAQ_H3600.html
serial connection to the ipaq
connect using a terminal program with the settings - 11520 8nl no flowcontrol on unix try
cu -s 115200 -l /dev/ttyS0
usb conection to the ipaq
it is possible to make a terminal connection to the ipaq (running linux) if the usb-net kernel module is installed to enable ethernet over usb. (needs more details!)
see handhelds.org discusion/docs on usb networking
how to set it up http://www.handhelds.org/z/wiki/How%20do%20I%20setup%20USB%20networking
how to survive suspension http://www.handhelds.org/z/wiki/Setting%20Up%20USB%20Networking%20to%20Survive%20Suspension
pinout of the connector taken from the serial cradle
CON 1 01 02 03 04 05 06 07 08 09 10 11 12 CON 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 towards serial connector (9-pin): 01-10 (bl vio bl rd ora bn gb gre gr bl) serial PC CON2 CON1 iPAQ 01,02 V_ADP (AC adapter power in) 01 DCD 01 03 DTR 06 DSR 01 03 ??? 05 GND 09 04,10 GND 07 RTS 02 05 CTS 08 CTS 03 06 RTS 02 RXD 04 07 TXD 03 TXD 05 08 RXD 04 DTR 07 09 DCD 09 RI 08 ?? NC 10 GND - USB 4 (gb - my wire) 11 11 UDC_P (USB positive data signal) - USB 3 (ora - my wire) 12 12 USB_N (USB negative data signal) - USB 2 (gr - my wire) 1 VCC Red +5V 2 D- White Data - 3 D+ Green Data + 4 GND Black Ground THIS IS A LOOK AT THE PLUGS ON THE CABLE - NOT THE SOCKETS ! --------- ______ | 4 3 2 1 | / 1 2 \ | | | | |---------| | 4 3 | |---------| ------
software links
- OSLoader specific questions http://www.handhelds.org/z/wiki/OSloader
- madplay MP3 player http://www.mars.org/home/rob/proj/mpeg/
- GQView and GQmpeg http://www.geocities.com/SiliconValley/Haven/5235/
- gqmpeg for the ipaq http://www.cs.washington.edu/homes/swanson/ipaq/gqmpeg.html
- splay MP3 player for StrongARM ftp://ftp.netwinder.org/users/n/nico/
- Speech synthesis (rsynth) running on the iPAQ http://www.angelfire.com/my/sgodsell/
- The Embedded Debian Project - includes cross compiler instructions http://www.emdebian.org/
- Building Linux for the nanoEngine (includes cross-compiler setup instructions) http://recycle.lbl.gov/~ldoolitt/bse/
- Java on the iPAQ
- Java on ARM http://www.netwinder.org/~andrewt/java.html
- IBM jikes bytecode compiler http://oss.software.ibm.com/developerworks/opensource/jikes/
- Visual Age Micro Edition http://oss.software.ibm.com/developerworks/opensource/jikes/“
- JDK 1.1.8 for ARM from BlackDown http://www.mirror.ac.uk/sites/ftp.blackdown.org/java-linux/JDK-1.1.8/arm/v2/
wireless + networking
- network setup => /etc/pcmcia => network / network.opts
- DHCP via /sbin/pump
- WaveLAN card in adhoc mode
iwconfig wvlan0 essid any mode ad-hoc ifconfig wvlan0 192.168.1.70 netmask 255.255.255.0
notes
- changes can be done in init filesystem => will be copied to /etc … in ramfs by /linuxrc
- usb-serial kernel module args: insmod usbserial vendor=0x049f product=0x0003
Mailing Lists
- Mailing list archive (www.handhelds.org) http://www.handhelds.org/pipermail/ipaq/
– authors: rac@iptel-now.de, nik Gaffney and the Network Mind