Thursday, December 15, 2011

Upgrading the HP TouchPad to webOS 3.0.4

If you follow me over on Google+ you'll know my latest favorite gadget is my HP TouchPad. I absoultely love webOS and think it's the greatest mobile OS on the planet (seriously), and the TouchPad hardware is exceptionally well built and polished. I have numerous tablets now (iPad 1, Kindle Fire, Nook Tablet, and the TouchPad) and the TouchPad is far and away the one that's most enjoyable to use. (In case you're wondering, the Fire would be #2, Nook Tablet #3, and iPad somewhere down in the "why the heck would I ever use that thing" range.)
If like me you were lucky enough to nab one of these beauties before they were all gone, you may find that you're running an old version of webOS and even if you go to System Updates it tells you you're running the latest version. In my case my TouchPad was on version 3.0.0 and it said I had the latest, but my brother (from whom my TouchPad was a gift) said his is stuck at 3.0.2.
While I can't tell you the why behind it not updating via System Updates, luckily many people have documented how to update the TouchPad to webOS 3.0.4 by using a tool called webOS doctor.
The step-by-step instructions I used can be found here, but I thought I'd document my experience since I ran into a couple of things they didn't cover there and had to hunt around a bit to find some answers.
1. Download webOS Doctor To a Windows Computer
If your TouchPad is brand-spanking new and you haven't already gone through the initial setup and created an HP webOS account, make sure to do that first since you need to log into your webOS account to download webOS Doctor.
After you have your webOS account created, log into it on your Windows computer (not from the TouchPad) and at the bottom of the screen after you log in you'll see your device listed. Click the "Device Options" and in the little menu that pops up, click on "Get webOS Doctor." This downloads a Java WebStart application to your computer.
Note that you can download this file to any machine but you need to actually run it on a Windows computer, at least that's what I gathered from the various posts I read about doing this upgrade, as well as the fact that when I ran webOS doctor on Linux (LinuxMint 12 64-bit specifically), the application ran fine but it didn't detect the TouchPad when I plugged it into the computer. Part of the installation process for webOS Doctor also seems to run Windows-specific .exe files so just resign yourself to running the application on Windows. (I didn't try this on my Mac, so if that works and someone can confirm that'd be good info to have.)
2. Run webOS Doctor On a Windows Computer (and Related Steps)
Very important step on the Windows computer on which you're going to run webOS Doctor: you need to disable the power saving on your USB ports. I skipped this step and whaddaya know, I had problems. On Windows 7 you can hit the Start button and type "device manager," and once you're in there expand the "Universal Serial Bus Controllers" section. For each "USB Root Hub" you see listed, right click on it and select "Properties," go to the "Power Management" tab, and uncheck the box next to "Allow the computer to turn off this device to save power."
If you don't make these adjustments on your USB ports you may find (as I did) that the port disables during the OS installation when the TouchPad disconnects. Not a good thing.
Another small detour before we run webOS Doctor--if you don't have Java installed on the Windows machine on which you're going to run webOS Doctor you'll need to install Java as well. Go to the Java web site, grab the appropriate version for your machine, and install it before proceeding. I grabbed the full JDK for 64-bit Windows 7 but the JRE or possibly even just the browser-based plugin should do the trick.
With Java installed you should be able to simply double-click the webOS Doctor file (the .jlnp file you downloaded) and have it run. If it doesn't for some reason you want to tell Windows to open the file using Java WebStart, which is located in the bin directory of your Java installation.
Now that you have your USB ports' sleep mode disabled and Java installed, go ahead and launch webOS Doctor. Don't connect your TouchPad yet. We'll get to that in a second. webOS Doctor needs to download and install some things first anyway.
After webOS Doctor launches you'll confirm your language, let it do some stuff, and you'll get to a screen where it will tell you to connect your TouchPad.
3. Wipe Your TouchPad
The reason I waited until this point to tell you to wipe your TouchPad is if you do this too soon, you'll find that when you log into your webOS account you won't see your device and therefore can't download webOS Doctor (at least not directly from your webOS account).
Power up your TouchPad and go to the "Device Info" app, then at the bottom of the screen click the red "Reset Options" button. On the next screen click the "Full Erase" option.
This will erase everything, including files on the device, apps you've downloaded (including ones you've purchased), as well as all your account information. Fear not, however, because once you log back into your webOS account after the OS upgrade it'll re-download all your apps (including ones you've purchased).
What I did lose, and this may be intentional, is all my account information so I had to re-input my Google, IM, VPN, Exchange, etc. information. Not a big deal, just something to be aware of.
After your device is erased it will reboot and you'll find yourself back at the initial setup screen. Power the device off at this point without going through the setup process.
4. Connect Your TouchPad to the Computer Running webOS Doctor and Install webOS 3.0.4
Now we'll put the TouchPad into USB mode and connect it to the computer running webOS Doctor.
With your TouchPad powered off, press and hold down the volume up button while inserting the USB cable into the computer. What I did here was connected the small end of the USB cable to the TouchPad (and again, this is while the TouchPad is powered off), then held down the volume up button and stuck the other end of the USB cable into the computer.
Make sure and hold down the volume up button until you see a large USB logo on the screen of the TouchPad. If it boots normally (i.e. you see the HP logo and then the initial setup wizard), you'll have to power it off and try again.
After you plug the TouchPad into the computer Windows will install some drivers. In my case it didn't tell me what it was installing; it just installed some stuff and said it was successful. On the web page I was using as a guide it mentioned something about being asked to install OMAP--to which you're supposed to say No--and then Palm Novacom (bootie), which you're supposed to allow it to install. As I said I didn't get prompted so whatever it installed was what it needed since I was able to proceed.
At this point you should see that on the screen in webOS Doctor on which you stopped in step 2 above the "Next" button has been enabled. This means that webOS Doctor sees your TouchPad and you can proceed with installing webOS 3.0.4. If the "Next" button isn't enabled, or if you get errors while Windows is installing the drivers after you connect the TouchPad to the computer, the only advice I can really give is to try the process again.
One other tip--in my case since I skipped disabling the power saving on my USB ports, the device did get stuck in USB mode and wouldn't power off by using the power key. All you have to do in that case is hold down the power button and the "home" button at the bottom of the front of the TouchPad for about 10 seconds and the TouchPad will reboot normally. (If it doesn't work, you probably didn't hold the buttons down long enough!)
If all is well up to this point you'll see the installation progress bar in webOS Doctor start to move, and the icon on the screen of the TouchPad will change to an arrow going into a computer chip, indicating the new OS is being installed.
The install takes several minutes (probably less than 10 if I remember correctly), and after it's done you have the latest and greatest version of the greatest mobile OS happily running on your TouchPad! You can read about some of the new features in webOS 3.0.4 here.
5. Hack Away!
Again if you refer to the instructions I used to upgrade webOS you'll see they discuss putting the TouchPad into developer mode, overclocking the CPU, and some other cool hacks. I personally haven't done any of that yet but if/when I do, I'll be sure and share my experiences.

No comments: