de-nvfs

De-NVFS Tungsten E2

For much of Palm's history, the user data was stored in battery-backed RAM. In the final few years, Palm modified the system to store data in a Flash memory, as most devices do today. This was known as non-volatile file system, or NVFS, and the migration resulted in many issues as NVFS behaves quite differently to RAM, with significantly higher latency, and an overall different architecture that caused issues for many programs that were not written with consideration of NVFS.

As it turns out, in addition to a flash chip for user data, a number of early model E2 and TX devices also contain a writable Intel Flash-ROM chip where the core OS is stored. This is only on some pre-2006 devices, as later devices contain an Macronix Mask-ROM (chip labelled “MX”) that is not writable.

The exciting news today:

1. Dmitry Grinberg has written another awesome tool to flash the firmware on those flash-ROM Tungsten E2 devices. If you run the flash utility, it will let you know if the device does not have a flash-ROM.

2. To make things cooler, Dmitry has created a firmware for the Tungsten E2 that turns the device into a traditional non-NVFS device, and instead makes the NVFS storage accessible as an internal memory card! After flashing this firmware, the device will have 9MB RAM for storage, 6MB ram for program run memory. Filez is included in the firmware, so you can clear out files in the now unused NVFS flash section, which appears as a virtual second SD card.

You can download the E2 Flashing tool, and the custom de-NVFS firmware from Dmitry's PalmPowerups site. He has also posted the original E2 firmware on there too, in case you wish to revert back.

If you open up your device and see an Intel chip like this in your T|E2, it is flashable:

If you instead see a chip like this, then it is not flashable:

Palm E2 devices made in 2005 are more likely to have flash-ROM, rather than ROM. Likely with M in the 5th serial number. PN20U is the USA version PN20M is the EFIGS version.

You can work out the vintage of a Palm OS device based on its' serial number, to extract the manufacturing date using this page (based on this script).

Tip: These devices will exclusively be branded PalmOne, any devices branded Palm are too new to contain Flash-rom.

Serial numbers of known flashable E2 devices (YYYY-MM-DD):

  • PN20U395V09R – 2005-3-9
  • PN20U3B5xxxx – 2005-3-11
  • PN20U3C5V3XT – 2005-3-12
  • PN20U415xxxx – 2005-4-1
  • PN20M8B5V1V2 – 2005-8-11 - this one seems to be an oddly late exception

Serial number of known non-flashable E2 devices:

  • PN20M4L5xxxx – 2005-4-20
  • PN20U4N5xxxx – 2005-4-22
  • PN20U5E5V2KF – 2005-5-14
  • PN20U8T5xxxx – 2005-8-27
  • PN20UAJ5V09G – 2005-10-18
  • PN20MAV5G1E9 – 2005-10-29
  • PN20MBW5xxxx – 2005-11-30
  • PN20UCT5xxxx – 2005-12-27
  • PN20U3×6V85Y – 2006-3-31
  • PN20U9B6P04C – 2006-9-11
  • PN20UBF6R1WG – 2006-11-15 (Palm branded)
  • de-nvfs.txt
  • Last modified: 2024/01/12 15:16
  • by adcurtin