Restoring an HP Touchpad webOS tablet

Have you messed with your HP Touchpad partitions and multiboot? Or have you found your old HP Touchpad dusting under your bed? Curious about this piece of legacy software and IT history, and want to give Palm’s/HP’s webOS a try? This collection of tips and scripts may be for you. At least, it worked for me. Good luck.

WARNING: TL;DR Use at your own risks
These steps below will probably erase any data left on the device. Also, what you are reading is just a random post on the web. I give no guarantee whatsoever that this will work for you. Last but not least, many of the programs below were downloaded from second-hand non official sources due the history of Palm and webOS and, the short history of the HP Touchpad. I cannot guarantee that they are totally free from malware or have not otherwise been subject to malicious intent…


The below assumes you are comfortable with Linux, using shells, running commands, interacting with non-graphical interfaces, and know how to run/install stuff on your computer.

You will need:

  • an HP Touchpad
  • a compatible charger
  • a micro-USB cable
  • a computer that can run Java

Step 0: Ensure that there is enough battery to boot something

Start by doing this, regardless of where you are. Really, just do this:

Plug in your HP Touchpad (ideally with the HP stock charger) in a good old electrical outlet. Leave it there for a couple of days or more.

If you get a bit of white light going back and forth within the front button (a.k.a. the “Home” button), then things are looking good: keep it on like this.

When your device’s battery is well charged, you should see a boot-looping HP logo or something. But to be clear: if you still see the bit of white light going back and forth, it means you need to let your device charge some more.

For me, leaving it charging like this for 3 days was enough. If that does not work for you: maybe you should check your USB cable or the charger and use alternatives.

Step 1: Install novacom/novaterm

You should be able to find these and install the relevant versions for your system. I use Arch Linux and there was a package in AUR for this: palm-novacom-git.

Step 2: Download restoration scripts and programs and follow the instructions

To restore an HP Touchpad and get it to a point where it is running and usable, you will need several programs. I have included links below, but if you want to save download time, you can start by grabbing all you will need here.

You can now follow the instructions below in that order, or you can jump directly to what you need:

Unable to start a bootloader or launch recovery mode? How to un-brick your device

If you can hold Power+Home+VolumeUp for 30 seconds and see a big USB symbol, then you should probably skip this step, and directly try to restore webOS.

If you get an error message referring to a missing ROM and suggesting you to Palm’s website, or if you don’t get anything at all, it may be that you nearly bricked your device.

Then use the tpdebrick script. Thanks to TopTongueBarry for the tip. For me, the version that worked was tpdebrick v004. You can follow the instructions below, or alternative, you can also check the tpdebrick v005 live-cd instructions.

Download tpdebrick v004 (backup copy)

Original instructions courtsey of jcsullins:

Discussion Starter · #1 · Jan 30, 2013 (Edited by Moderator)

tpdebrick v004 by jcsullins
===========================
TPDebrick is a suite of programs and files used to “debrick” HP Touchpads. This process should allow the revival of Touchpads that cannot boot due to corrupted raw partitions, corrupted bootloaders or corrupted A6 firmware. Note that this should allow you to get into bootie (webOS) recovery mode. Additional steps may be needed after to restore the bootie configuration or OS (i.e. webOS doctor).

NOTE: If you can hold Power+Home+VolUP for 30 seconds and see a big USB symbol, then you SHOULD NOT do the following.

NOTE: Before attempting the following, you should make sure that the failure to boot isn’t due to a faulty USB cable or charger.

NOTE: The following should be considered a LAST RESORT. If the Touchpad isn’t already “bricked”, then the following may very well “brick” it.

NOTE: USE AT YOUR OWN RISK!!!!

TPDebrick has been designed and tested to work with an Ubuntu 12.04 32-bit livecd (or liveusb). The instructions that follow assume that you are booting an Ubuntu 12.04 32-bit livecd (or liveusb).

[…]

I did not use a Ubuntu 12.04 live-cd to run the tpdebrick-v004 script. Instead, I just ran it directly into my Arch Linux laptop. The only issue I got was due to the outdated version of SSH that’s probably running on the Touchpad. So you may need to temporarily enable these options in your computer’s ssh config (e.g. in /etc/ssh/ssh_config with sudo or as root):

#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
HostKeyAlgorithms ssh-dss,ssh-rsa

See openSSH legacy options manual for more info.

Skipping the original instructions’ on how to use Ubuntu, and directly to the relevant parts:

  1. Connect touchpad
  2. Hold Power+Home+VolDown buttons on Touchpad for 30 seconds
  3. Run “script” (this will capture the output of the tpdebrick process)
  4. Run “sudo ./tpdebrick XX” (where XX is the size of the TP: 16, 32 or 64)

The tpdebrick process can take from 5 to 10 minutes (or even more if you have very slow network connection). It should end with “ALL DONE.” If the process hangs for more than 5 minutes, you can abort the process by pressing Ctrl- (Ctrl key and key with ‘|’ above ’').

  1. Run “exit” (this will stop the output capture started with ‘script’)

  2. If the ‘tpdebrick’ process did not end with “ALL DONE.” you should upload the “typescript” file (the output capture) so that the cause of failure can be diagnosed. Regardless, it’s a good idea to save this file somewhere for future analysis, if needed.

If you managed to get to ALL DONE, then you’re on the right track. If not, I suggest you try to see if you can leave your device charged, or try online forums with a good search engine, and the Internet Archive Wayback machine.

When this step is complete, don’t forget to disable your legacy SSH options.

Unable to launch webOS? How to restore HP’s original webOS

You may find a lot of online resources about this. Let me save time for you with the one that worked for me: thanks to this post from 2012 by rr5678.

For this, you will need novacom and novaterm (see step 1) and:

Now, to recover and boot into webOS 3.0.0 you need to:

  1. Load the recovery uImage with novacom

    Boot your Touchpad into recovery by pressing Power+VolumeUp from a powered-off device, connect it to your computer with USB and launch:

     novacom boot mem:// < nova-installer-image-topaz.uImage

    You should now see the HP logo.

  2. Reformat partitions on the device with novaterm

    You should now be able to connect to your device with the novaterm program: that will launch a shell running on the HP Touchpad. Now depending on whether you have a 16GB or a 32GB Touchpad, the commands to run and reformat the partitions will differ:

    • 32GB Touchpad:

      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static vgremove store
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static vgcreate -s 8M store /dev/mmcblk0p14
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static lvcreate -l 71 -i 1 -M y --major 254 --minor 0 -n root store
      lvm.static lvcreate -l 8 -i 1 -M y --major 254 --minor 1 -n var store
      lvm.static lvcreate -l 2 -i 1 -M y --major 254 --minor 2 -n update store
      lvm.static lvcreate -l 3 -i 1 -M y --major 254 --minor 3 -n log store
      lvm.static lvcreate -l 32 -i 1 -M y --major 254 --minor 4 -n mojodb store
      lvm.static lvcreate -l 17 -i 1 -M y --major 254 --minor 5 -n filecache store
      lvm.static lvcreate -l 3523 -i 1 -M y --major 254 --minor 6 -n media store
      lvm.static lvcreate -l 64 -i 1 -M y --major 254 --minor 7 -n swap store
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      mkdosfs -f 1 -s 64 /dev/store/media 
    • 16GB Touchpad:

      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static vgremove store
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static vgcreate -s 8M store /dev/mmcblk0p14
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      lvm.static lvcreate -l 71 -i 1 -M y --major 254 --minor 0 -n root store
      lvm.static lvcreate -l 8 -i 1 -M y --major 254 --minor 1 -n var store
      lvm.static lvcreate -l 2 -i 1 -M y --major 254 --minor 2 -n update store
      lvm.static lvcreate -l 3 -i 1 -M y --major 254 --minor 3 -n log store
      lvm.static lvcreate -l 32 -i 1 -M y --major 254 --minor 4 -n mojodb store
      lvm.static lvcreate -l 17 -i 1 -M y --major 254 --minor 5 -n filecache store
      lvm.static lvcreate -l 1618 -i 1 -M y --major 254 --minor 6 -n media store
      lvm.static lvcreate -l 64 -i 1 -M y --major 254 --minor 7 -n swap store
      lvm.static vgscan --ignorelockingfailure
      lvm.static vgchange -ay --ignorelockingfailure
      mkdosfs -f 1 -s 64 /dev/store/media 

  3. Install webOS 3.0.0 with webOS Doctor e.g. by launching:

    java -jar webosdoctorp300hstnhwifi_customhpactivationbypass.jar

    Reboot the Touchpad into recovery Power+Home until the screen goes off, then Power+VolumeUp. Ensure the Touchpad is still connected via USB to your computer :^)

    Run webOS Doctor version 3.0.0, either the original or custom version if you want to bypass the HP activation step.

    Once you have completed this step successfully, congratulations: you should have a working webOS 3.0.0 device. Just hold down Power+Home

  4. Install a later version of webOS

    Repeat the above with the relevant later version of webOS Doctor, for instance webOS Doctor 3.0.5 with HP activation bypass.

How to enable developer mode on webOS

Considering that HP has discontinued everything, enabling developer mode is a must if you want to install packages, etc. You can enable developer mode simply by typing:

webos20090606

in the “Just Type” input bar on the webOS home screen. The instructions from then one will be self-explanatory.

How to install applications on the HP Touchpad

Use Preware (from the Touchpad) or the webOS Quick Install (from your computer).

To install Preware, you can use the webOS Quick Install program: backup copy

Original instructions:

  1. Connect your device to your computer with the USB cable, and select “Just Charge” or “Cancel” (on a Touchpad). Do not select USB Drive.

  2. Run WebOS Quick Install. If the novacom driver is not installed, WebOS Quick Install will download and install that for you.

    Do not believe any guide that says you need to download the SDK or webOSDoctor for WOSQI to run. The most you’ll download is the novacom driver, which is only 11MB on Windows, and will be done via WOSQI.

  3. If you are installing on a Veer, you will need to reboot the phone at this point or WOSQI will not recognize it. Hold the On/Off button down for about five seconds and release it. Select “Power” then select “Restart”.

  4. Click the third button on the right (the globe icon)

  5. Select the Applications tab at the top

  6. Search for Preware

  7. Click Install.

How to browse the modern web with webOS

I don’t have a good response for this. You will struggle with deprecated HTTPS ciphers, outdated certs, etc. I went through a lot of trial and error and can’t exactly tell you what worked (e.g. setting up a proxy for HTTPS connections etc.).

However, you should probably look into installing QtWebBrowser. For this, you can download and install the following, using Preware or the Web OS Quick Install (see previous step above):


Elsewhere, a post with the same goal: Restoring a Touchpad to original state. I wished I found this page when I started my own restoration efforts - I don’t know how I missed it. Maybe it works :^)

PS: I wished I knew about this website before: webOS Archive. An absolute great resource on how to use a webOS tablet in 2022 and beyond!