WebOS 2 Upgrade

This page is available in two languages:
 * [[Image:Australia.png]] [[Image:USA.png]] WebOS 2 Upgrade
 * [[Image:France.png]] WebOS 2 Upgrade-FR (Mise à jour de webOS 1.x vers webOS 2.x pour palm Pre et Pre Plus)

= Overview = With the release of the webOS 2.1.0 doctor by HP for O2 and Vodafone Pre+ devices, there is now a legal way to get webOS 2.1 onto the legacy devices of carriers that are not onboard with the 2.x upgrade. Compatible devices include all Pre and Pre Plus devices. This is not compatible with Pixi devices.

'''You must read this page from top to bottom twice before starting this procedure. You must complete all steps from 0 to 6. Do not omit any steps. Do not improvise. Do not think you can ignore the instructions. If you do not follow these instructions precisely, completely and without error, you will not achieve your goal and you will annoy a lot of people with a lot of unnecessary questions in the process.'''

NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT

= Disclaimer = '''This is a process that uses official HP software in unofficial ways. You should always be prepared for the unlikely possibility that your device may be completely wiped and your Palm profile may be permanently destroyed. Do not proceed unless you have made appropriate backups and are OK with that. Working knowledge of MetaDoctor and Linux systems in general is needed.'''

If you feel the need to ask whether you should do this on your primary phone, then you should not, as that indicates that you have not yet taken the required precautions and backups in case something goes wrong.

= Other Tutorials = '''Note that this wiki page is always the authoritative source of information about this process, so you should refer to this page first for any and all instructions. Here are some other pages which you may find useful in addition to this page. They do not replace the information on this page, which you should read from top to bottom first.'''

Tutorials that have been updated to match the latest instructions

 * webOSNation (née PreCentral) forum user @malpha recorded a two-part video overview of the process as she followed this step-by-step. {Sprint Pre-, Ubuntu}.

Historical information: webosworld.com is no longer hosting webOS content in 2017
 * WebOS World writer Jake Morrison has written a How-To guide http://webosworld.com/2011/03/07/my-meta-doctor-to-2-1-experience/ based directly off this walkthrough. {Sprint Pre-, Ubuntu}.

Tutorials that are out of date and should not be relied upon

 * webOSNation (née PreCentral) forum user @djwhitey recorded a 9-minute walkthrough (includes Activation Error). {Sprint Pre-, Win7 x86, Ubuntu Server 10.04}.
 * webOSNation (née PreCentral) forum user @innocentbystander has written a start-to-finish guide to installing and building the Meta Doctor under Mac OS 10.6 for those with little or no experience with the command line. It can be found here.

= Using MetaDoctor Scripts =

Step 0: Backup your device
A guide by webOSNation (née PreCentral) on backing up your device can be found here.

Make sure you have copies of all the data that you want to preserve from your palm profile. There is a possibility that you will need to clear your palm profile to be successful in this upgrade, so you should act as if that is going to happen from the start.

Also, make sure you run the Application:SaveRestore application from Preware to back up your application data - you don't want to lose your Angry Birds progress, do you?

Then copy all the files from the USB drive onto your PC to keep them safe, including music, downloads, and pictures. The webOS Doctor has been known to wipe your USB drive without warning, so you should act as if that is going to happen from the start.

If your phone is set to use the Palm Profile as the default location for contacts you may want to manually export these. To check how many palm profile contacts you have: Contacts App -> Preferences & Accounts -> tap "Palm Profile" under the "accounts" subsection. To manually export contacts see this post: webOSNation Forums - How To Transfer contacts. They can be imported back onto your phone by emailing the file of exported contacts to yourself, and opening that attachment on your phone.

Disk Space
You should allow up to 10GB of disk space for this process.

MetaDoctor
See Application:MetaDoctor for information on how to install MetaDoctor.

NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT

Note that the procedure for the WebOS 2 Upgrade is on this page. The MetaDoctor is simply a tool which is used by this procedure. You need to complete only Step 1: Setting up Meta-Doctor on that page. When you get to the end of Step 1: Setting up Meta-Doctor on that page, you should come back to this page and continue the procedure on this page.

Palm SDK
See Palm Developer Website for Windows and for Ubuntu. Whilst the Palm SDK is not strictly required to complete this procedure, it is the best way to install the novacom and novaterm programs which are used to transfer files to and from your device and to access the command line on your device.

Novacom Drivers
If you are unable to get the official novacom drivers from the Palm SDK to connect to your device, you can alternately try Jason Robitaille's Universal Novacom Installer source code is found at his github repository

These drivers are necessary to interface with webOS devices. The Installer is cross-platform and supports Windows (32bit and 64bit), Mac OS, and Ubuntu (32bit and 64bit).

Step 2: Prepare your Palm Profile
With unsupported carrier/device/OS combinations, it may be necessary to clear some Palm Profile data to allow you to sign in on webOS 2.x devices. The process is as follows: Warning: this will delete data from your Palm Profile, including but not limited to: calendars, contacts, account information, email signatures, bookmarks, memos, tasks, SSM/MMS messages, and icon/launcher arrangement.
 * 1) Open the Backup app.
 * 2) Turn off backups, confirming that you wish to erase your palm profile information.

'''This step is extremely important if you find that after finishing the webOS 2.1 installation your saved apps don't download to your device automatically and your Palm Profile account name under Accounts is "Dr. Skipped Firstuse". You should delete your profile info and Doctor again.'''

NOTE: The latest scripts (as of 5:00pm EST) MAY allow direct conversion of a 1.4.5 profile to 2.1.0 without deleting Palm Profile data. Please read the information under "Palm Profile" below to understand the issues that my arise from attempting this, as well as the required solutions to resolve those issues.

Step 3: Run device-specific MetaDoctor script
The MetaDoctor scripts will automatically download the latest necessary webOS doctors, extract and replace CDMA radio firmware as necessary, and will build and launch the modified webOS Doctor.

NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT

A NOTE ON "RE-DOCTORING": If this is not your first time through this process, you should do a "git pull" and a "make clobber" to ensure you have the latest scripts and a pristine build folder. From the command line, type "cd meta-doctor" without the quotes and press enter. Then type "git pull" without the quotes and press enter. Then type "make clobber" without the quotes and press enter. Voila! You now have the latest scripts and a clean folder to build your doctor in.

From the meta-doctor directory, run the meta-script that corresponds to your device (note that the strings enclosed by &lt; and &gt; in the following line are placeholders for values that you must supply - you cannot type the string exactly as shown): ./scripts/meta-&lt;carrier&gt;-&lt;device&gt;-&lt;version&gt;

You should replace &lt;carrier&gt;, &lt;device&gt;, and &lt;version&gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.

A list of all the scripts can be found by typing ls ./scripts/ For those who for what ever reason will never be using their phone on a cellular network and wish to use the phone only on wifi, just add "--wifi-only" as an extra argument to the meta-script: ./scripts/meta-&lt;carrier&gt;-&lt;device&gt;-&lt;version&gt; --wifi-only

Again, you should replace &lt;device&gt;, &lt;carrier&gt;, and &lt;version&gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.

Then, when your device boots after step 4, all you need to do is configure and start wifi and then run the Gesture Tutorial and you should be good to go. Note that in this case the end of the palm profile login procedure will appear to cycle forever, so just manually reboot the device using Opt-Sym-R when that happens.

Specific additional information for each of the supported device and carrier combinations can be found below:

AT&T Pre+
./scripts/meta-att-preplus-2.1.0

You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You will not be able to purchase apps that require a minimum webOS 2.x version.

BellMo Pre
./scripts/meta-bellmo-pre-2.1.0

You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You will not be able to purchase apps that require a minimum webOS 2.x version.

O2 Pre
./scripts/meta-o2-pre-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

O2 Pre+
./scripts/meta-o2-preplus-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

Sprint Pre
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure. If you depend on either of those things, you should not upgrade to webOS 2.x'''

./scripts/meta-sprint-pre-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

Sprint Franken Unlocked Pre 2
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure. If you depend on either of those things, you should not upgrade to webOS 2.x'''

NOTE: Tokens are no longer needed to create a Sprint Franken Unlocked Pre 2. You only need to run the script below. However, it is still a good idea to capture and store the tokens from each phone for potential future use.

./scripts/meta-sprint-franken-unlocked-pre2-2.2.4

You will end up with version 2.2.4 listed in your palm profile, and version 2.2.4 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

The "Voice Dial" app may not work. Please see the Voice Dialing section below to remedy this.

Sprint Franken Verizon Pre 2
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure. If you depend on either of those things, you should not upgrade to webOS 2.x'''

NOTE: Tokens are no longer needed to create a Sprint Franken Verizon Pre 2. You only need to run the script below. However, it is still a good idea to capture and store the tokens from each phone for potential future use.

./scripts/meta-sprint-franken-verizon-pre2-2.2.4

You will end up with version 2.2.4 listed in your palm profile, and version 2.2.4 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

The "Voice Dial" app may not work. Please see the Voice Dialing section below to remedy this.

Telcel Pre
./scripts/meta-telcel-pre-2.1.0

You will end up with version 1.40.00 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You will not be able to purchase apps that require a minimum webOS 2.x version.

In Fact, it seems Palm has already locked out all the Telcel activated devices, so, even if you managed to hack your Meta Doctor to have a 1.4.5 profile and see the paid apps in the Catalog, you won't be able to insert your credit card data and won't be able to buy apps anymore.

Verizon Pre+
./scripts/meta-verizon-preplus-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the "Program your phone" option.

Verizon FrankenPre 2
./scripts/meta-verizon-franken-unlocked-pre2-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the "Program your phone" option.

The "Voice Dial" app may not work. Please see the Voice Dialing section below to remedy this.

Verizon Pre 2
./scripts/meta-verizon-pre2-2.1.0

You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

The Verizon specific apps (Amazon MP3, VZ Navigator, Skype Mobile) and Voice Dialing will be present and fully functional.

You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).

In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the "Program your phone" option.

WR Pre
For WR devices, you should attempt to use the O2 script above first, and if you end up with a 9.9.9 version in your palm profile, then use this WR script instead.

./scripts/meta-wr-pre-2.1.0

You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.

You will not be able to purchase apps that require a minimum webOS 2.x version.

Step 4: Run the modified webOS Doctor
The meta-script will automatically launch the modified webOS Doctor for you. However, if you need to move it to a different location and run it manually, the modified doctor will be a .jar file located in the build output directory: meta-doctor/build/meta-sprint-pre-2.1.0/webosdoctorp101ueu-wr-2.1.0.jar

Note that the directory path will change from that example based on which script you ran, and the script will tell you the exact pathname shortly after it starts running.

Do not USB connect the phone until WebOS Doctor specifically says to.

NOTE: There have been reports that, for some users, the modified webOS doctor fails to recognize the USB connection. Similarly, up-graders have also noted that in some instances their Pre will "disconnect" from the webOS Doctor (while running) and re-boot into v.1.4.5. It has been observed that Doctoring, while putting ones Pre through the "Recovery" Reboot (as detailed here) may mitigate these issues, and allow the Doctor to continue. There is also an instance where after pressing the "next" button to start the Doctor, the phone appeared to need charging before the Doctor would start( on a 95% full battery), and then stalled at 0%. Putting the phone into emergency recovery mode appeared to solve this problem.

Note: Sprint users please read the PRL section before running The Doctor: "5.9.1 Sprint".

Step 5: There is no Step 5
There used to be a complex set of additional steps required here. Too many people had trouble following them, so we automated it. You should proceed directly to Step 6.

Step 6: Donate to WebOS Internals and purchase the Preware Homebrew Documentation app
If this worked for you, we would appreciate a donation at http://donate.webos-internals.org - and if you want to thank Rod Whitby personally for the many hours that he put into creating the Meta-Doctor and this upgrade procedure, you should purchase the Preware Homebrew Documentation app from the official app catalog, and leave a nice 5 star review containing your message of thanks.

= Caveats =

OTA Updates
It is extremely unlikely that any Pre or Pre+ device will ever get another OTA update. If you preform this procedure on those devices, you should not expect OTA updates.

Performing this procedure on a Pre 2 device may allow it to receive OTA updates, but there is no guarantee.

App Catalog
If your palm profile record says version 1.40.50, you will not be able to purchase apps that are marked as only compatible with webOS versions 2.x and above. This cannot be changed for these devices at this time. If your palm profile record says version 2.1.0, then you should be able to purchase all apps (depending upon your geographical restrictions and country of first activation).

Masquerading
Palm's servers only accept certain device/OS combinations as valid. While some combinations of carrier and devices running 2.1 are accepted, others have to report to the palm profile server that they are running webOS 1.4.5. This is done automatically, and cannot be changed for these devices at this time.

Carrier-Specific Applications
Some carrier apps are not working in webOS 2.1. Apps that have been tested and are known to install cleanly and work will be added to the custom webOS Doctor for the appropriate device/carrier.

Known working carrier apps are listed below.

Sprint

 * Sprint Portal
 * Sprint TV
 * Sprint Football Live
 * NASCAR

Verizon Wireless
VZW Navigator is working much better for me now on VZ Palm Pre Plus with HP Web OS 2.1. The only problem I havent solved is system updates hangs. Anyone have a solution?
 * All Verizon apps should be working at this time for the Pre +. However, no one has tested the VZW Navigator subscription to confirm that the service carries over to a Meta-Doctored phone. You could be the first!

AT&T

 * So far the only AT&T specific app tested with this method is the Amazon MP3 app, which may be installed using the process found here. However, non-free music has NOT yet been tested with this process.

Patches
Not all patches have been ported over yet. If you want to check for a certain patch, please see webOS Internals' webOS-Patches Web Portal.

Adobe Flash
Adobe Flash is not included in this webOS 2.1 doctor, but can be added with files from a VZW Pre 2 2.0.1 doctor.

Adding Flash Support
The easiest way to enable Adobe Flash on your webOS 2.1.0 legacy device is by creating a modular package and installing that, along with a patch to make the Adobe Flash preferences visible in the browser. Or you can do it manually. See (here) for more detail.

Performance

 * OVERCLOCKING IS NOW SUPPORTED. Palm has just released the source code for the kernel used in webOS 2.1.0. An experimental version of UberKernel has already appeared in the experimental feeds, but casual users should wait for a stable one.
 * The Pre Plus has 512 MB of memory and thus runs 2.1 quite well, but this is not the case with the original Pre since it has only 256 MB. Luckily, Palm adopted WebOS Internals's configuration of the standard Linux compcache technology that was ported to the custom kernels, and it comes active, but with only 10 MB. One potential way to enhance performance in original Pre devices is to make the compcache bigger.

Increase compcache size, Temporary Method
You can use the Govnah application to increase the size of the compcache. Disable compcache, change the size, and then reenable.

Increase compcache size, Permanent Method
You have to edit the file /etc/event.d/compcache and change the value from 10240 to 32768.

For example, you could follow these steps:


 * 1) Make sure novacomd is running on your computer.
 * 2) Use a terminal (as described on the Wiki page Accessing Linux on the Pre...) to run novaterm and access your phone. Type in the following: /usr/sbin/rootfs_open -t vi /etc/event.d/compcache
 * 3) vi is a bit different so, for those not familiar with how it works, the fastest way to navigate and make the required edit is in parentheses below:
 * 4) Go down to line 10 (Type 10 then hit Shift+G)
 * 5) Move to the first 1 (Type 4w)
 * 6) Enter replace mode (Shift+R) and type 32768
 * 7) Exit back to command mode (Press Esc or Ctrl+C)
 * 8) Save and Quit (Type :wq</tt>)
 * 9) Reboot your Pre and verify it's working by using Govnah. While you are still in novaterm, you can type the following to reboot: /sbin/reboot

Palm Profile

 * Some people have had problems signing in to existing Palm Profiles on 2.1 due to backup data. To make sure that you can sign in to your profile on 2.1, you should disable backups before doctoring to 2.1 and delete server side backups. Of course, this deletes most of the data in your Palm Profile (memos, tasks, calender entries, accounts, ...). Your apps will be restored on 2.1, but that is about it. Note that not all people have issues with backups. If you would rather not delete your Palm Profile data, you can try doctoring to 2.1 without turning backups off and see if restoring everything works. If it doesn't, you'll have to doctor back to 1.4.5 to turn off backups or use a new Palm Profile, though.


 * If you get 9.9.9 in palm.com/palmprofile, then you can doctor back to 1.4.5 for your carrier and log in, then delete backup info in backup app and then 2.1.0 metadoctor it.


 * If you get "Dr. Skipped Firstuse" as the name of your palm profile in the new accounts app in 2.1.0 and/or if the gesture application creates a blank screen, you have a false profile problem. You need to doctor back to 1.4.5 for your carrier and login in, then delete backup info in backup app and then 2.1.0 metadoctor it.  To avoid this problem, redownload the latest version of the metadoctor and run the appropiate script with the --wifi-only</tt> switch. Note: Only use --wifi-only</tt> if you do not intend to have cellular service on the device as this option disables the modem update and renders cellular service inoperable without re-doctoring.


 * Alternative fix for above problem: If your profile works fine but the Impostah app and the Accounts app show your profile name as "Dr. Skipped First Use" although your phone ran the first use app after doctoring, erase your backup data from the backup app by turning off backups and choose Erase Apps and Data from the reset options in the Device Info app.


 * If you get stuck at the "Auto Locate" selection screen during the login process, you can re-doctor using the same 2.1 doctor file and it will go through. It appears to be an issue when creating a new profile in 2.1 rather than "porting" your 1.4.5 profile to 2.1.  After the second doctoring, you will "Sign In" to an existing profile (the one you created during the first profile login after doctoring), rather than creating a new profile.

GPS
Step-by-step approach for those experiencing problems with GPS following upgrade.
 * 1) To enable GPS functionality go to the "Location Services" application (click "Turn On" if GPS has been completely disabled). From there go to the "Preferences" menu in the top left hand corner and select the "Locate Me Using..." sub-menu item. Ensure that both "GPS" and "Google Services" are enabled (you may be prompted to accept the Terms of Service). Close the "Location Services" application.
 * 2) Next you need to bring up the "GPS Information" application; to do this dial ##477# (or #*477# on GSM/UMTS Pres) in the phone application (the "477" corresponds to the letter keys "GPS").
 * 3) Click the "Get Fix" button. You may receive a "GPS Error - Position Unavailable" message which you can close. Keep pressing "Get Fix" until a fix is established (it may take several attempts). You will know a fix has been established when some statistics (Latitude, Longitude etc) are displayed.
 * 4) Once a fix has been established, GPS should continue to function normally thereafter.

Voice Dialing
For the Sprint-Franken-Pre2 (Pre2-GSM-Unlocked confirmed + sprint-pre(-)comm) and perhaps the Verizon-Franken-Pre2, the voice dialing application may not work after the metadoctor procedure above. The application may or may not even launch after tapped. You may experience problems with sound intermittently not working, esp. when playing media, or using the phone. This will be corrected automatically with a webOS OTA Update to 2.1.0. When the phone prompts for the update, install it.

To speed up the process, go to the "System Updates" app on your phone. The WebOS 2.1 update should appear after it searches for updates. (The update for a Sprint FrankenPre2 is ~7MB and only took a few minutes to install).

Sprint
After applying 2.1.0 to a Sprint device using this method, there is currently no known way to update the PRL. There are permissions issues, and the conventional "Update Profile" and "Update PRL" from the Phone options will no longer work. The provisioner service binary from the Sprint 1.4.5 doctor does not work on webOS 2.x, so a version of that service for 2.x is required for this to ever work. It is not expected that this situation will change before Sprint releases another webOS phone running webOS 2.0 or above.

Overview

 * 1) Back up /var/lib/software/* before upgrading to webOS 2.1
 * 2) Restore /var/lib/software/* after upgrading to webOS 2.1
 * 3) Use PmModemUpdater to update your PRL.

<BR> For further information, exact directions, caveats, etc., please see the dedicated Sprint PRL Update Wiki Page.

Verizon
In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the "Program your phone" option.