Handhelds.org splash banner Handhelds.org logo by Chrysovalandes Sophocleous
Linux on HP iPAQ H3800

Install Linux on the 3800 the same way you would install it on any other iPAQ. Use the latest bootldr (2.18.01 or later) and task-bootstrap-2.4.18-*.jffs2 or later for best results. Download them from bootldr and 2.4.18.

Things that work

  • LCD screen (2.4.16-hh6)
  • Backlight (2.4.16-hh10)
  • Option packs (2.4.16-hh10).
  • Buttons (2.4.16-hh10). The buttons on the iPAQ (calendar, contacts, envelope, loopy arrow, power, audio, and up/down/left/right/enter on the joypad) are a minimalist keyboard. If you want a better keyboard, see below.
  • Suspend/resume (2.4.16-hh6)
  • Touchscreen (2.4.16-hh11)
  • Power/charging LED (2.4.17-rmk4-hh2) - The yellow light needs to blink when charging and remain steady when on AC power
  • Asset retrieval: (2.4.17-rmk4-hh2) - The /proc/hal/assets entry. Allows you to retrieve your serial number, type of iPAQ, etc.
  • Light sensor (2.4.17-rmk4-hh2)
  • Audio (2.4.17-rmk4-hh5)
  • IrDA (tested under 2.4.17-rmk5-hh5)
  • Battery status. Available through /proc/apm, /proc/hal/battery, or /proc/asic/battery (2.4.17-rmk5-hh8)
  • Plug-in keyboard: Stowaway, HP Microkeyboard, HP Foldable keyboard, and other. Requires the "microkbd-modules" ipkg. (2.4.18-rmk3-hh18)
  • Bluetooth. The 3870 has a built-in CSR Bluetooth module. (2.4.18-rmk3-hh4)
  • Charging while suspended in the cradle. (2.4.18-rmk3-hh5)
  • SecureDigital slot MMC support (2.4.18-rmk3-hh10)
  • Green LED blinking (2.4.18-rmk3-hh20)
  • Sleeve version '/proc/hal/version' (2.4.18-rmk3-hh20)
  • Temperature '/proc/hal/thermal' (2.4.18-rmk3-hh20)

Why do MMC cards work, but SD cards don't?

The SD Card Association product license agreement does not allow open source drivers for the SD cards. The Multimedia Card Association (which came before SD) does allow open source drivers.

Can't someone release a binary-only SD card driver? We could. We don't for the following reasons: (1) it's a maintenance headache. Someone must compile and update the driver for each kernel release. (2) People who want to hack a custom kernel will not be able to include SD card support unless they join the SD Card Association. (3) It goes against the grain of open-source operating systems and the whole point of handhelds.org. Driver development work is replicated, bugs go unfixed, time is wasted.

We will continue our efforts to change the SD Card Association's policies.

Power Management

As of 2.4.18-rmk3-hh20, the 3800-series iPAQ estimates power remaining by tracking accumulated current through the DS2760 battery monitor. This gives an accurate estimate of how much charge is available in the battery if it starts from a reasonable place and you have run at least one learning cycle. A learning cycle forces the battery to learn how much energy can be stored in the battery. Initially this is set to the factory default of 1400 mAhrs; time and individual battery variations will affect this.

To complete a learning cycle allow your battery to completely discharge. Once discharged, plug it in and do not unplug it until the yellow light stops flashing. You can check to see if you battery is in LEARNING mode by looking at '/proc/asic/battery'. Try '/proc/asic/ds2760' for all of the internal stored battery parameters. The h3600_asic module parameter learn_voltage ("/proc/sys/asic/battery/learn_voltage") sets the voltage at which a charging iPAQ will switch into LEARNING mode. It's normally 3700 mV. If you find that your iPAQ isn't going into LEARNING mode, try increasing this.

Asset partition

The astute user will notice that the 3800 has by default a partition name "asset" located at the very end of flash

Deleting this partition will result in file system corruption. I don't recommend it. The iPAQ uses the final block of flash to store magic WinCE numbers like your serial number, passwords, and machine information. This block is protected by special hardware that protects against erasure. Your JFFS2 file system doesn't know about the special hardware, so if you try to use it in a JFFS2 image, you will get file corruption. Besides, someday you may want to restore WinCE. Maybe.

JTAG

Two of the jtag test points are in the SD slot:

  • TDI TP17
  • nTRST TP22
three are just below and to the right of the SD slot:
  • TMS TP21
  • TCK TP15
  • TDO TP19

To enable writing to flash, you have to use jtag to write 0x00000001 to address 0x49001f00. This is on the CS5# memory bank.



$Id: h3800.html,v 1.31 2004/05/11 13:08:20 michaelo Exp $