http://wiki.webos-internals.org/api.php?action=feedcontributions&user=MrNiceguy&feedformat=atomWebOS Internals - User contributions [en]2024-03-29T01:20:08ZUser contributionsMediaWiki 1.35.1http://wiki.webos-internals.org/index.php?title=ModemFW_Flash&diff=17433ModemFW Flash2011-07-19T21:53:39Z<p>MrNiceguy: /* Why you might need to Flash Modem Firmware */</p>
<hr />
<div>== '''DANGER - The Veer is brickable. Do not attempt this on a Veer.''' ==<br />
<br />
= Flashing Modem Firmware =<br />
To force flash the phone modem in WebOS you need to use PmModemUpdater.<br />
= Why you might need to Flash Modem Firmware =<br />
Flashing modem firmware comes in handy if your phone is stuck in phone offline mode and will not connect to a cell signal due to modem firmware corruption. Generally caused by phone being powered down in the middle of "Full Erase" or WebOS Doctor. The phone modem firmware version becomes unknown preventing WebOS Doctor to automatically flash it during operation. To check if your phone modem is unknown type ##radio# (##72346#) in phone app and it should give you your modem firmware version otherwise say <em>unknown</em>.<br />
<br />
Your modem firmware might be <em>unknown</em> if you are receiving the following error on a phone that is stuck in <em>First Use</em> without activation.<br />
<br />
The error will loop First Use card with this message:<br />
<blockquote><em>"Phone Error<br />
<br />
Your phone is experiencing an error that cannot be resolved.<br />
<br />
Visit www.palm.com for help."</em></blockquote><br />
<br />
Note: a bad flex cable can display similar symptoms to corrupted modem firmware - specifically, intermittent data problems or WebOS Doctor failing at 64% and showing "Error Updating Modem Firmware!!" in the command window. If you don't have the unknown phone modem type, or if the steps on this page don't fix your problem, consider replacing the flex cable.<br />
<br />
= What You Need First =<br />
Before you Force Flash your modem's firmware because it is stuck offline, you should try turning airplane mode on and off, reseting the phone, running WebOS Doctor, and any other safer/easier idea you may have. As flashing modem firmware can potentially harm your modem. Considering this is the message that appears when you run the PmModemUpdater command<br />
<big>Warning!</big><br />
<pre><br />
Warning! Please make sure you have a healthy battery or using a power supply before you do your update<br />
Warning! You can potentially trashed your modem firmware if system lost the power in the middle of updating firmware<br />
Warning! To Stop it now, ctrl+c</pre><br />
<br />
In all cases you will need Linux access[http://www.webos-internals.org/wiki/Portal:Accessing_Linux]to you phone's shell; you can use novacom, novaterm, or ssh but do not use WebOS Quick Install command line for this. If your phone is stuck on <em>first use</em> run Meta-Doctor[http://www.webos-internals.org/wiki/Application:MetaDoctor] to bypass activation and enable developer mode so you can gain Linux access.<br />
<br />
= How To Do It =<br />
<Note these steps are written for an original Sprint Palm Pre you need to adapt for your device><br><br />
Step 1 - <br><br />
First you need to download the WebOS Doctor [http://www.webos-internals.org/wiki/Webos_Doctor_Versions] version that you need. DO NOT USE ANY OTHER DOCTOR THAT IS NOT DESIGNED FOR YOUR PHONE.<br />
<br />
Step 2 - <br><br />
You need to acquire the modem Firmware image from the Jar file do this with the following:<br />
a. You need to extract the jar file using your favorite archiver program WinRar[http://www.rarlab.com/] works fine for windows usres. <br><br />
b. <em>Resource</em> directory includes the file <em>webOS.tar</em> you will need to extract this as well.<br><br />
c. Within <em>webOS.tar</em> you will find two other .tar files you need to transfer <em>castlecdmafw.tar</em> <br> <br />
(Alternatively castleumtsfw.tar for GSM or whatever castle***fw.tar that applys to you as these file names might <br><br />
differ from each doctor) to your phone's media root directory (connect phone as USB Drive and transfer it to main area not in a folder)<br />
d. Eject phone to leave USB drive mode <br />
<br />
Step 3 - <br><br />
Make sure you have plenty of battery and your phone is plugged in to either a computer, wall or touchstone to ensure you will not lose power during flashing.<br />
<br />
Step 4 - <br><br />
You will need to place the castle***fw.tar file that we extracted in step 2 to your phone's /tmp directory to do this use the following command: (this is when you start using your Linux access to phone)<br><br />
<Note: Replace <em>castle***fw.tar</em> with the file name that applies to you><br><br />
<pre><br />
mv /media/internal/castle***fw.tar /tmp<br />
</pre><br />
<br />
Step 5 -<br><br />
This is when you run the flashing process and remember this may damage your phone's modem if you lose power or flash the wrong FW.<br> If you are SSHing in please make sure your connection is solid however I would suggest using Novacom[http://www.webos-internals.org/wiki/Novacom_on_Windows] or Novaterm[http://www.webos-internals.org/wiki/Accessing_Linux_Using_Novaterm] via USB (requires WebOS SDK[http://developer.palm.com/index.php?option=com_content&view=article&id=1788] to be installed)<br><br />
<Note: Replace <em>castle***fw.tar</em> with the file name that applies to you.><br><br />
Just wait patiently for two minutes or so for it to complete. Kind of fun to watch and never racking!<br><br />
<pre><br />
PmModemUpdater -f </tmp/castle***fw.tar<br />
</pre><br />
<br><br />
<br />
If the -f switch above doesn't work:<br />
Try:<br />
<pre>PmModemUpdater -m -e -o </tmp/castle***fw.tar</pre><br />
<br />
and then after that:<br />
<pre>PmModemUpdater -f </tmp/castle***fw.tar</pre><br />
<br />
= When Completed =<br />
When you have successfully completed all the steps your phone will magically leave <em>Phone Offline</em> mode and your out put should look like the following.<br />
<br />
Successful out put:<br />
<br />
<pre><br />
root@palm-webos-device:# PmModemUpdater -f </tmp/castlecdma_evt1_fw.tar<br />
$ Modem is powered-on <br />
Warning! Please make sure you have a healthy battery or using a power supply before you do your update<br />
Warning! You can potentially trashed your modem firmware if system lost the power in the middle of updating firmware<br />
Warning! To Stop it now, ctrl+c<br />
<br />
PmModemUpdater Version 5.2.0.8 Dec. 2009 @Palm Inc<br />
<br />
$ Creating temp file<br />
$ Processing file ....<br />
(00625/61644287) powerd (stop) running, process 1246<br />
(00625/65214843) powerd (stop) pre-stop, (main) process 1246<br />
(00625/66618652) powerd (stop) stopping, process 1246<br />
(00625/87431640) powerd (stop) killed, process 1246<br />
(00625/88835449) powerd (stop) post-stop<br />
(00625/89903564) powerd (stop) waiting<br />
$ PowerD Stopped successfully!<br />
(00625/121245117) PmWanDaemon (stop) running, process 1187<br />
(00625/122862548) PmWanDaemon (stop) pre-stop, (main) process 1187<br />
(00625/123991699) PmWanDaemon (stop) stopping, process 1187<br />
(00625/128294677) PmWanDaemon (stop) killed, process 1187<br />
(00625/658842773) PmWanDaemon (stop) post-stop<br />
(00625/660490722) PmWanDaemon (stop) waiting<br />
$ PmWanDaemon Stopped successfully!<br />
(00625/687590332) TelephonyInterfaceLayer (stop) running, process 1269<br />
(00625/690001220) TelephonyInterfaceLayer (stop) pre-stop, (main) process 1269<br />
(00625/691923828) TelephonyInterfaceLayer (stop) stopping, process 1269<br />
(00625/694731445) TelephonyInterfaceLayer (stop) killed, process 1269<br />
(00625/712675781) TelephonyInterfaceLayer (stop) post-stop<br />
(00625/713682861) TelephonyInterfaceLayer (stop) waiting<br />
$ TIL Stopped successfully!<br />
** Message: serviceResponse Handling: 2, {"returnValue":true}<br />
Pass-through disabled<br />
$ Passthrough Disabled!.<br />
$ Disable handshaking in ROM<br />
$ Resetting the modem before flashing.....<br />
01<br />
$ Probing modem.............<br />
DiagListen has problem<br />
ExtendedBuildID cmd code != BUILD_ID_F<br />
*************************************************<br />
* Modem In Download MODE *<br />
*************************************************<br />
* Current OEMSBL = CC-CDMA-OEMSBL <br />
$ Packge FW Version (535) | Modem FW Version(0)<br />
$ Trying to communicate with the modem in DOWNLOAD mode......<br />
*************************************************<br />
* UMTS Modem Infomation *<br />
*************************************************<br />
$ Current OEMSBL = CC-CDMA-OEMSBL <br />
**************************************************<br />
$ Start flashing the modem...................... <br />
$ Flashing ARMPRG in Progress ...... Done! <br />
$ Waiting for USB port to settle down.....<br />
$ Comparing partitions ...... <br />
$ ****************************************************************<br />
$ ***** BOOTLOADER FLASHING IN PROGRESS! DO NOT LOSE POWER! *****<br />
$ Flashing Bootloader1 Progress ...... Done! <br />
$ Flashing Bootloader2 Progress ...... Done! <br />
$ Flashing Bootloader3 Progress ...... Done! <br />
$ ***** BOOTLOADER FLASHING DONE! *****<br />
$ Flashing AMSS Progress ...... Done! <br />
$ Resetting modem ...............!<br />
$ Flashing done!Please wait while resetting the modem..... 01<br />
-----------------------------------------------------<br />
$ Firmware Flashing Time: 2 Minutes: 10 Seconds<br />
-----------------------------------------------------<br />
$ Host is re-enumerating the USB......01<br />
$ Waiting for USB port to settle down.....<br />
$ Probing modem.............<br />
*************************************************<br />
* Modem Firmware Info *<br />
*************************************************<br />
* COMP DATE = May 14 201015:33:2505/14/2010 <br />
* REL DATE = 05/14/2010 <br />
* HW VERSION = A20700E1 <br />
* MOB MODEL = AC <br />
* RADIO TYPE = CDMA <br />
* PRL VERSION =60671<br />
* PRI CRC =0x264A<br />
* EX BUILD ID = CC1.6(535) <br />
*************************************************<br />
$ DVT3 or later device found, no need to config charging!<br />
$ Finished detecting Modem!<br />
$ Restore the NV items to the modem ...............<br />
$ PALM Standard NV Item file not found!<br />
$ NV restore Success!<br />
$ Enable handshaking in ROM Enable handshaking in ROM <br />
$ Please wait while restoring TIL/WAN.....<br />
(00782/228728027) powerd (start) waiting<br />
(00782/230253906) powerd (start) starting<br />
(00782/231413574) powerd (start) pre-start, process 2278<br />
(00782/257994384) powerd (start) spawned, process 2281<br />
(00782/259154052) powerd (start) post-start, (main) process 2281<br />
(00782/261046142) powerd (start) running, process 2281<br />
$ powerd Restored successfully!<br />
(00782/336577148) TelephonyInterfaceLayer (start) waiting<br />
(00782/338255615) TelephonyInterfaceLayer (start) starting<br />
(00782/339445800) TelephonyInterfaceLayer (start) pre-start<br />
(00782/340880126) TelephonyInterfaceLayer (start) spawned, process 2285<br />
(00782/342192382) TelephonyInterfaceLayer (start) post-start, (main) process 2285<br />
(00782/349852294) TelephonyInterfaceLayer (start) running, process 2285<br />
$ TIL Restored successfully!<br />
(00784/428892822) PmWanDaemon (start) waiting<br />
(00784/430662841) PmWanDaemon (start) starting<br />
(00784/431883544) PmWanDaemon (start) pre-start<br />
(00784/433165283) PmWanDaemon (start) spawned, process 2313<br />
(00784/434416503) PmWanDaemon (start) post-start, (main) process 2313<br />
(00784/435698242) PmWanDaemon (start) running, process 2313<br />
$ PmWanDaemon Restored successfully!<br />
$ Your device is ready for use.<br />
</pre><br />
<br><br />
<br />
<small>Thanks sconix and GuyFromNam for finding this for rebel sim cards</small></div>MrNiceguyhttp://wiki.webos-internals.org/index.php?title=Sprint_Pre_Plus&diff=17287Sprint Pre Plus2011-07-14T04:36:17Z<p>MrNiceguy: /* Baking tokens into the meta-sprint-pre-2.1.0 script */ Removed step 7 - changing CUSTOM_CARRIER_LIST and CUSTOM_MODEL_LIST ARGS values - should not be done for Sprint Pre Plus</p>
<hr />
<div>This page is derived from the thread at <br />
[http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html]<br />
<br />
This guide will allow you to get a Palm Pre Plus working on Sprint, assuming you already have an activated Sprint Pre. Using this guide, you will end up with a Palm Pre Plus activated on Sprint, with an entirely stock software installation. The included stock Sprint applications will work (SprintNav, Sprint TV). Your purchased applications from the app store will be re-downloaded automatically OTA.<br />
<br />
== Requirements ==<br />
# Activated Sprint Pre<br />
# Your Palm profile login information. That's the email and password you activated your Pre with in the first place. You can test if you remember them correctly at [https://ps.palmws.com/palmcsext/console/pages/LoginPage.iface Palm's profile login page].<br />
# Palm Pre Plus- It can be Verizon or AT&T, it doesn't matter. It also doesn't really matter if the ESN is clean or not, I used a brand new Pre Plus I got off Craigslist with a clean ESN, however the ones with bad ESN's tend to be cheaper on Craigslist or Ebay. Buy whatever you can get the best deal on.<br />
# T5 screwdriver (required to disassemble phones)<br />
# Meta-Doctor (get it here Application:MetaDoctor - WebOS Internals)<br />
# The most important requirement: the understanding that if done incorrectly, you can end up with TWO broken phones or malfunctioning phones. The Pre is *NOT* an easy device to disassemble and especially to re-assemble. A moderately high level of confidence and competence with electronics is required to attempt this.<br />
<br />
==Process==<br />
<br />
===Step 1: Extract working Sprint Pre Tokens===<br />
The tokens on your Sprint Pre are located at /tmp/tokens on your device. The values we want to extract are ProdSN, ModemSN, BATToRSP, BATToCH, DMSVRoNONCE, DMSVRoAUTHPW, DMCLoNONCE, DMCLoAUTHPW, DMCLoAUTHNAME, DMCARRIER, DMMODEL, WIFIoADDR, BToADDR, PalmSN, PRODoID, PN. Each token is represented by a file with that exact name, and the value is contained in the file. <br />
<br />
:'''The only supported way to get these tokens is to <span style="color:red">install "Show Properties" using Preware</span> and have the system email you a castle.xml file directly.'''<br />
<br />
It is also a good idea to extract the tokens from the Pre Plus as well. They will not be used at all in this process. However, if you ever wish to return the Pre Plus to it's stock condition, you will need those tokens.<br />
<br />
===Step 2: Setup meta-doctor===<br />
<br />
(Note: If you would like to upgrade your device straight to 2.1.0 and not install 1.4.5, please follow the directions for creating your meta-doctor in the [[#Baking_tokens_into_the_meta-sprint-pre-2.1.0_script]] section.)<br />
<br />
This is actually sort of tricky and the setup process is a little different for each operating system you are running on. I recommend following the directions located here: [[Application:MetaDoctor]]. However, there are a few little things that need to be done to do what we are trying to do. I will summarize the steps that we are taking with meta-doctor. Read these steps first, BEFORE setting up meta-doctor. All the initial icky steps on the meta-doctor setup involve getting the proper UNIX architecture setup to run the shell scripts that comprise meta-doctor (installing git, etc). I will not summarize those steps here (they are well-documented elsewhere and OS-dependent). However, once you have the basic packages installed and in place, do the following things:<br />
<br />
<ol><li> Modify your makefile. The makefile is located in the "meta-doctor" directory and is called "Makefile". Open it in your favorite text editor. We are going to remove the carrier check (since VZ and AT&T carriers will NOT work with the regular Sprint webOS Doctor) and we are going to remove the model check (since there is no such thing as a Pre Plus on Sprint). To do this, remove the "#" symbol next to "REMOVE_MODEL_CHECK = 1" and "REMOVE_CARRIER_CHECK = 1". You will also need to set "DEVICE" to "pre" (no quotes) and "CARRIER" to "sprint" (no quotes)- exactly as below. Your makefile should now look like this (changes noted in bold for legibility):<br />
<pre><br />
##########################<br />
## END OF DOCUMENTATION ##<br />
##########################<br />
<br />
########################################<br />
## START OF AREA FOR END USER CHANGES ##<br />
########################################<br />
<br />
# Uncomment the features that you wish to enable below:<br />
# BYPASS_ACTIVATION = 1<br />
# BYPASS_FIRST_USE_APP = 1<br />
# ENABLE_DEVELOPER_MODE = 1<br />
# DISABLE_UPLOAD_DAEMON = 1<br />
# INCREASE_VAR_SPACE = 1<br />
# ENABLE_USB_NETWORKING = 1<br />
# INSTALL_SSH_AUTH_KEYS = 1<br />
REMOVE_CARRIER_CHECK = 1<br />
REMOVE_MODEL_CHECK = 1<br />
# DISABLE_MODEM_UPDATE = 1<br />
# CHANGE_KEYBOARD_TYPE = z<br />
<br />
# Select "pre", or "pixi".<br />
DEVICE = pre<br />
<br />
# Select "sprint", "bellmo", "telcel", "verizonwireless" or "wr".<br />
CARRIER = sprint<br />
<br />
######################################<br />
## END OF AREA FOR END USER CHANGES ##<br />
######################################<br />
</pre><br />
Save your modified makefile and close your text editor.<br />
<br />
</li><li> Unpack and Patch meta-doctor. Since we are going to import our Sprint tokens into meta-doctor, we need to build meta-doctor in a stepwise process, and insert the tokens at the proper time. Do NOT simply run 'make DEVICE=pre all-sprint'. This will NOT work. From the command line, and within the meta-doctor folder, run 'make unpack':<br />
<pre>make unpack</pre><br />
After this command has finished, run 'make patch':<br />
<pre>make patch</pre><br />
</li><li> Import tokens into castle.xml and package meta-doctor. We are now going to add your Sprint Pre tokens into meta-doctor and build the customized version of webOS Doctor that will write your Sprint tokens to your Pre Plus and remove the Carrier and Model checks. To do this, open the castle.xml file, which will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webOS/castle.xml. (Or you can just use the search function on your computer, haha). Open castle.xml in your favorite text editor. Locate the tokens section, which will look like this:<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
</Section><br />
</pre><br />
The new section will look like this (thanks jhoff80!):<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="ProdSN" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="WIFIoADDR" action="overwrite" value="x"/><br />
<Val name="BToADDR" action="overwrite" value="x"/><br />
<Val name="PalmSN" action="overwrite" value="x"/><br />
<Val name="PRODoID" action="overwrite" value="x"/><br />
<Val name="PN" action="overwrite" value="x"/><br />
</Section><br />
</pre><br />
Where the X's are located, insert the corresponding token values that you extracted at the beginning of this guide. Leave the quotes in place. Once you have completed this step, save the XML file and close your text editor. Go back to the command line and run 'make pack'<br />
<pre>make pack</pre><br />
Your new webOS doctor is now all packaged up and ready to go, and will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Now that the software is all setup, we are ready to begin the hardware surgery!<br />
</li></ol><br />
<br />
=== Step 3. Remove your Sprint Pre com board===<br />
So this is the part where you can actually damage your device. So, as one last form of warning, I will say, DANGER WILL ROBINSON! If you are not comfortable with the possibility of destroying a perfectly nice Sprint Pre or are not comfortable disassembling tiny electronics, STOP NOW, go out and see Inception or something (great movie!). Otherwise, let's proceed. (Images are being served from Ifixit.net's palm pre teardown page.)<br />
<br />
'''NOTE''': You may find it useful to also look at the dis/reassembly instructions and pictures provided for the [[Sprint Pre 2]]. <br />
<br />
<br />
# Remove the 6 back screws. Remove the back cover of your Sprint Pre and remove the battery. Using a T5 screwdriver, remove the 6 screws. The screw in the upper right corner has a small "Palm" sticker on it, probably to void your warranty if broken<br /> <img width=350>http://guide-images.ifixit.net/igi/bFeIXAZtnVqjBILK.medium</img><br />
# Gently separate the backplate. There are interlocking plastic tabs securing the backplate. you need to pry out a tiny bit and push DOWN towards the keyboard on the four locking tabs. As you do, the keyboard bezel and the keyboard ill seperate from the backplate. The keyboard bezel is VERY THIN. Once you have it started to seperate on both sides, run your plastic wedge or a fingernail around the seperation. To swap JUST the comm board, it is NOT nessessary to pull the volume buttons out, you can leave them in. Now, with the keyboard down a bit, push up on the comm board and it will hinge up towards the top of the phone on its connector cable. The cable unplugs from the flat of the comm board. It does not pull out "parallel" with the cable, it pulls out "perpendicular" to the cable. <br /> <img width=350>http://guide-images.ifixit.net/igi/B2J3e3Tv6oKLJe3Y.medium</img><br />
# Remove the coms board. <br />
#* If you are doing a Sprint to Verizon pre- to Pre+ since both are cdma phones, you do not need to fully separate the backplate from the rest of the phone (which involves disassembling the volume rocker). If you are able to release the bottom section of the Pre's backplate and the 4 side plastic interlockers, you should be able to elevate the backplate enough to get access to the coms board. To remove the coms board, first gently reflect back the small plate covering the GPS connectors, as shown here and disconnect the two gps connectors. <br /> <img width=350>http://guide-images.ifixit.net/igi/qBW1xicfUSWhZ5VB.medium</img><br />
#: Now, simply apply gentle pressure, and the coms board will pop right out: <br /><img width=350>http://guide-images.ifixit.net/igi/2YgNcQN3dAf6idkE.medium</img><br />
#* If you are doing a Sprint to ATT pre- to pre+, you will need to swap the entire back, which requires removing the volume buttons and replacing them. The cdma back and the gsm back have different antenna systems and need to be swapped as a unit. <br />
<br />
'''Coms board removed.''' Note the cable plug where the comm board was attached on the orange ribbon cable. <img>http://guide-images.ifixit.net/igi/eklF6cnfCxUNTTwl.medium</img><br />
<br />
<br />
'''Congratulations!''' You have now removed the Sprint Pre coms board! You are now ready to install it in your Pre Plus. PLEASE NOTE: The Pre is *NOT* an easy device to re-assemble, and although the coms board will be missing, I *highly* recommend practicing the re-assembly of the Sprint Pre a couple times to make sure you are able to get it to fit together nicely and the slider action is good, to ensure when you re-assemble the Pre Plus, it is of the highest quality.<br />
<br />
===Step 4: Swap Sprint Pre coms board into Pre Plus===<br />
So you've made it this far have you, Dr. Frankenstein! Excellent! Now, disassemble your Pre Plus by following the disassembly instructions detailed above. Remove the Pre Plus coms board. Insert your Sprint Pre coms board by pressing it into place, ensuring that the two connectors on the board push into place. Re-connect the two GPS wires on the inside of the case to the coms board. Re-assemble your Pre Plus.<br />
<br />
===Step 5: Re-program your Pre Plus using meta-doctor===<br />
Remember all that time we spent getting meta-doctor setup? Well, now the time has come to make use of it. Put your Pre Plus in recovery mode by holding the volume rocker in the 'up' position and while holding it, press and hold the power button. A USB icon should appear on the Pre Plus' screen. Navigate to your custom meta-doctor located at meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Run the JAR file and doctor your device. <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar <br />
<br />
When that has completed, your phone will reboot and the "first use app" will run. Go ahead and go through the setup process. <br />
* Select your language.<br />
* Accept the license. <br />
* Log in to your Palm profile. <br />
* Step through the silly tutorial. <br />
<br />
Once you have done this, the phone will reboot and you will be at your webOS home screen. <br />
<br />
====Confirm everything worked====<br />
* Note that the carrier should say "Sprint." <br />
* Confirm that our tokens were properly over-written by going to "Device Info" from the launcher. Scroll down and click on "More Info". <br />
** The Carrier should say "Sprint" <br />
** The Model should be "P100EWW". <br />
<br />
If either of these values are wrong (most like Carrier: Verizon or Model: P101EWW), then the tokens did not write correctly, and most likely, you made an error properly rolling castle.xml into meta-doctor. If the values are correct, you are now ready get yourself a standard Sprint install.<br />
<br />
===Step 6: Run regular Sprint webOS Doctor 1.4.5.===<br />
It's going to seem really odd, but now, you get to run the doctor '''again.''' This has two purposes: <br />
<br />
* To get all the stock Sprint apps back, like Sprint Nav and Sprint TV <br />
* To get the Sprint PRL (preffered roaming list). <br />
<br />
So, you need to run the regular old, run of the mill Sprint webOS Doctor. You have one in the meta-doctor/download directory that you renamed a while ago. CD to that folder and run <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar<br />
<br />
Put your phone in recovery mode (Up volume + power) and run the regular Sprint webOS Doctor. If your tokens are wrong, you will get an error saying that your device is not compatible with this version of webOS Doctor. If the info you verified in Step 5 is correct, the webOS Doctor will run without difficulty and you will end up with a stock Sprint install on your Pre Plus. You will be able to note this immediately on the first use app, as there will only be TWO language options (English and Spanish), rather than many. Go through the regular activation AGAIN and it will download your palm profile information and re-install any app store apps you have.<br />
<br />
'''NOTE''': Some people have experienced a problem after they've run the stock 1.4.5 webOS doctor, they discover that many of the applications that they had before were not installed, and no longer appear in the App Catalog. This problem stems from Palm getting confused about what version of OS that's running on the phone. This can be confirmed by logging into your palm profile at http://palm.com/profile. If it says the OS version is 9.9.9, then any apps in the app catalog tied to a version of webOS will not be available to you.<br />
<br />
The solution is to do a "downgrade activation", by first running the 1.4.1.1 version of webOS doctor on the phone. And when that's complete, upgrade to 1.4.5 via an Over The Air upgrade.<br />
<br />
===Step 7: Have a beer! You've earned it. ===<br />
Also, be sure to install Preware and all the other goodies you want!<br />
<br />
Special Thanks: rwhitby (for meta-doctor, Preware); jhoff80 (for castle.xml configuration), ifixit (for teardown images).<br />
<br />
= Baking tokens into the meta-sprint-pre-2.1.0 script =<br />
The following steps will need to be done in order for you to upgrade your Sprint FrankenPre+ to webOS 2.1.0 in the event that your Palm Profile is version 9.9.9 or the normal Sprint script creates a doctor incompatible with your device.<br />
<br />
First, download the 2.1.0 doctor the meta-sprint-pre-2.1.0 will be using to make the script if you have not already done so. You can find the name of this doctor by opening the meta-sprint-pre-2.1.0 file and checking for this line:<br />
<br />
::<pre>W210_FILE="nameofdoctor.jar"</pre><br />
<br />
To download the doctor, follow these commands (the first one creates the download directory if you do not already have one), substituting nameofdoctor.jar with the actual name of the doctor in the meta-sprint-pre-2.1.0 script:<br />
<br />
::<pre>mkdir -p downloads</pre> <br />
::<pre>wget downloads/nameofdoctor.jar http://palm.cdnetworks.net/rom/preplus/p210r0d02212011/eudep210rod/nameofdoctor.jar</pre><br />
:1. Let's unpack the 2.1.0 jar <br />
::<pre>make VERSION=2.1.0 DEVICE=preplus CARRIER=wr unpack</pre><br />
:2. Copy its castle.xml to your ~/meta-doctor directory<br />
::<pre>cp build/preplus-nameofdoctor-wr-2.1.0/webOS/castle.xml .</pre><br />
:3. Modify the '''"tokens"''' Section of '''~/meta-doctor/castle.xml''' to use ''your personal'' "tokens" Section [from the '''castle.xml you emailed yourself''' using the '''''Show Properties''''' app] using the same process as in subsection 3 of [[#Step 2: Setup meta-doctor]] above.<br />
::<pre>nano castle.xml</pre><br />
:: Note, you may perform all file editing steps with another editor of your choice (such as gedit).<br />
:: Add your personal tokens after the "env" Section" (note: no value below should be left as 'x'):<br />
<pre style="margin-left:50px;"><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
</Section><br />
</pre><br />
:4. CTRL+X and save your changes.<br />
:5. Modify the last make statement in meta-sprint-pre-2.1.0 (line 156 as of this writing)<br />
::<pre>nano ./scripts/meta-sprint-pre-2.1.0</pre><br />
:6. Insert "CUSTOM_XML=castle.xml" after "${ARGS} ". It should read:<br />
<pre style="margin-left:50px;"><br />
$make ${ARGS} \<br />
CUSTOM_XML=castle.xml \<br />
EXTRA_ROOTFS_IPKGS="flash flash-mini-adapter flame" \<br />
EXTRA_ROOTFS_TARBALL=${FLASH_TARBALL} clobber-build all || exit</pre><br />
:7. CTRL-X and save<br />
:8. Cleanup the stuff you just unpacked<br />
::<pre>make clobber</pre><br />
:9. Execute the meta-sprint script to create your doctor<br />
::<pre>./scripts/meta-sprint-pre-2.1.0</pre><br />
:10. Repeat [[#Step 7: Have a beer! You've earned it.]] above.</div>MrNiceguyhttp://wiki.webos-internals.org/index.php?title=Sprint_Pre_Plus&diff=17285Sprint Pre Plus2011-07-14T04:29:44Z<p>MrNiceguy: /* Baking tokens into the meta-sprint-pre-2.1.0 script */ Fixed line number in step 5 and changed step 6 to reflect current code</p>
<hr />
<div>This page is derived from the thread at <br />
[http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html]<br />
<br />
This guide will allow you to get a Palm Pre Plus working on Sprint, assuming you already have an activated Sprint Pre. Using this guide, you will end up with a Palm Pre Plus activated on Sprint, with an entirely stock software installation. The included stock Sprint applications will work (SprintNav, Sprint TV). Your purchased applications from the app store will be re-downloaded automatically OTA.<br />
<br />
== Requirements ==<br />
# Activated Sprint Pre<br />
# Your Palm profile login information. That's the email and password you activated your Pre with in the first place. You can test if you remember them correctly at [https://ps.palmws.com/palmcsext/console/pages/LoginPage.iface Palm's profile login page].<br />
# Palm Pre Plus- It can be Verizon or AT&T, it doesn't matter. It also doesn't really matter if the ESN is clean or not, I used a brand new Pre Plus I got off Craigslist with a clean ESN, however the ones with bad ESN's tend to be cheaper on Craigslist or Ebay. Buy whatever you can get the best deal on.<br />
# T5 screwdriver (required to disassemble phones)<br />
# Meta-Doctor (get it here Application:MetaDoctor - WebOS Internals)<br />
# The most important requirement: the understanding that if done incorrectly, you can end up with TWO broken phones or malfunctioning phones. The Pre is *NOT* an easy device to disassemble and especially to re-assemble. A moderately high level of confidence and competence with electronics is required to attempt this.<br />
<br />
==Process==<br />
<br />
===Step 1: Extract working Sprint Pre Tokens===<br />
The tokens on your Sprint Pre are located at /tmp/tokens on your device. The values we want to extract are ProdSN, ModemSN, BATToRSP, BATToCH, DMSVRoNONCE, DMSVRoAUTHPW, DMCLoNONCE, DMCLoAUTHPW, DMCLoAUTHNAME, DMCARRIER, DMMODEL, WIFIoADDR, BToADDR, PalmSN, PRODoID, PN. Each token is represented by a file with that exact name, and the value is contained in the file. <br />
<br />
:'''The only supported way to get these tokens is to <span style="color:red">install "Show Properties" using Preware</span> and have the system email you a castle.xml file directly.'''<br />
<br />
It is also a good idea to extract the tokens from the Pre Plus as well. They will not be used at all in this process. However, if you ever wish to return the Pre Plus to it's stock condition, you will need those tokens.<br />
<br />
===Step 2: Setup meta-doctor===<br />
<br />
(Note: If you would like to upgrade your device straight to 2.1.0 and not install 1.4.5, please follow the directions for creating your meta-doctor in the [[#Baking_tokens_into_the_meta-sprint-pre-2.1.0_script]] section.)<br />
<br />
This is actually sort of tricky and the setup process is a little different for each operating system you are running on. I recommend following the directions located here: [[Application:MetaDoctor]]. However, there are a few little things that need to be done to do what we are trying to do. I will summarize the steps that we are taking with meta-doctor. Read these steps first, BEFORE setting up meta-doctor. All the initial icky steps on the meta-doctor setup involve getting the proper UNIX architecture setup to run the shell scripts that comprise meta-doctor (installing git, etc). I will not summarize those steps here (they are well-documented elsewhere and OS-dependent). However, once you have the basic packages installed and in place, do the following things:<br />
<br />
<ol><li> Modify your makefile. The makefile is located in the "meta-doctor" directory and is called "Makefile". Open it in your favorite text editor. We are going to remove the carrier check (since VZ and AT&T carriers will NOT work with the regular Sprint webOS Doctor) and we are going to remove the model check (since there is no such thing as a Pre Plus on Sprint). To do this, remove the "#" symbol next to "REMOVE_MODEL_CHECK = 1" and "REMOVE_CARRIER_CHECK = 1". You will also need to set "DEVICE" to "pre" (no quotes) and "CARRIER" to "sprint" (no quotes)- exactly as below. Your makefile should now look like this (changes noted in bold for legibility):<br />
<pre><br />
##########################<br />
## END OF DOCUMENTATION ##<br />
##########################<br />
<br />
########################################<br />
## START OF AREA FOR END USER CHANGES ##<br />
########################################<br />
<br />
# Uncomment the features that you wish to enable below:<br />
# BYPASS_ACTIVATION = 1<br />
# BYPASS_FIRST_USE_APP = 1<br />
# ENABLE_DEVELOPER_MODE = 1<br />
# DISABLE_UPLOAD_DAEMON = 1<br />
# INCREASE_VAR_SPACE = 1<br />
# ENABLE_USB_NETWORKING = 1<br />
# INSTALL_SSH_AUTH_KEYS = 1<br />
REMOVE_CARRIER_CHECK = 1<br />
REMOVE_MODEL_CHECK = 1<br />
# DISABLE_MODEM_UPDATE = 1<br />
# CHANGE_KEYBOARD_TYPE = z<br />
<br />
# Select "pre", or "pixi".<br />
DEVICE = pre<br />
<br />
# Select "sprint", "bellmo", "telcel", "verizonwireless" or "wr".<br />
CARRIER = sprint<br />
<br />
######################################<br />
## END OF AREA FOR END USER CHANGES ##<br />
######################################<br />
</pre><br />
Save your modified makefile and close your text editor.<br />
<br />
</li><li> Unpack and Patch meta-doctor. Since we are going to import our Sprint tokens into meta-doctor, we need to build meta-doctor in a stepwise process, and insert the tokens at the proper time. Do NOT simply run 'make DEVICE=pre all-sprint'. This will NOT work. From the command line, and within the meta-doctor folder, run 'make unpack':<br />
<pre>make unpack</pre><br />
After this command has finished, run 'make patch':<br />
<pre>make patch</pre><br />
</li><li> Import tokens into castle.xml and package meta-doctor. We are now going to add your Sprint Pre tokens into meta-doctor and build the customized version of webOS Doctor that will write your Sprint tokens to your Pre Plus and remove the Carrier and Model checks. To do this, open the castle.xml file, which will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webOS/castle.xml. (Or you can just use the search function on your computer, haha). Open castle.xml in your favorite text editor. Locate the tokens section, which will look like this:<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
</Section><br />
</pre><br />
The new section will look like this (thanks jhoff80!):<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="ProdSN" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="WIFIoADDR" action="overwrite" value="x"/><br />
<Val name="BToADDR" action="overwrite" value="x"/><br />
<Val name="PalmSN" action="overwrite" value="x"/><br />
<Val name="PRODoID" action="overwrite" value="x"/><br />
<Val name="PN" action="overwrite" value="x"/><br />
</Section><br />
</pre><br />
Where the X's are located, insert the corresponding token values that you extracted at the beginning of this guide. Leave the quotes in place. Once you have completed this step, save the XML file and close your text editor. Go back to the command line and run 'make pack'<br />
<pre>make pack</pre><br />
Your new webOS doctor is now all packaged up and ready to go, and will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Now that the software is all setup, we are ready to begin the hardware surgery!<br />
</li></ol><br />
<br />
=== Step 3. Remove your Sprint Pre com board===<br />
So this is the part where you can actually damage your device. So, as one last form of warning, I will say, DANGER WILL ROBINSON! If you are not comfortable with the possibility of destroying a perfectly nice Sprint Pre or are not comfortable disassembling tiny electronics, STOP NOW, go out and see Inception or something (great movie!). Otherwise, let's proceed. (Images are being served from Ifixit.net's palm pre teardown page.)<br />
<br />
'''NOTE''': You may find it useful to also look at the dis/reassembly instructions and pictures provided for the [[Sprint Pre 2]]. <br />
<br />
<br />
# Remove the 6 back screws. Remove the back cover of your Sprint Pre and remove the battery. Using a T5 screwdriver, remove the 6 screws. The screw in the upper right corner has a small "Palm" sticker on it, probably to void your warranty if broken<br /> <img width=350>http://guide-images.ifixit.net/igi/bFeIXAZtnVqjBILK.medium</img><br />
# Gently separate the backplate. There are interlocking plastic tabs securing the backplate. you need to pry out a tiny bit and push DOWN towards the keyboard on the four locking tabs. As you do, the keyboard bezel and the keyboard ill seperate from the backplate. The keyboard bezel is VERY THIN. Once you have it started to seperate on both sides, run your plastic wedge or a fingernail around the seperation. To swap JUST the comm board, it is NOT nessessary to pull the volume buttons out, you can leave them in. Now, with the keyboard down a bit, push up on the comm board and it will hinge up towards the top of the phone on its connector cable. The cable unplugs from the flat of the comm board. It does not pull out "parallel" with the cable, it pulls out "perpendicular" to the cable. <br /> <img width=350>http://guide-images.ifixit.net/igi/B2J3e3Tv6oKLJe3Y.medium</img><br />
# Remove the coms board. <br />
#* If you are doing a Sprint to Verizon pre- to Pre+ since both are cdma phones, you do not need to fully separate the backplate from the rest of the phone (which involves disassembling the volume rocker). If you are able to release the bottom section of the Pre's backplate and the 4 side plastic interlockers, you should be able to elevate the backplate enough to get access to the coms board. To remove the coms board, first gently reflect back the small plate covering the GPS connectors, as shown here and disconnect the two gps connectors. <br /> <img width=350>http://guide-images.ifixit.net/igi/qBW1xicfUSWhZ5VB.medium</img><br />
#: Now, simply apply gentle pressure, and the coms board will pop right out: <br /><img width=350>http://guide-images.ifixit.net/igi/2YgNcQN3dAf6idkE.medium</img><br />
#* If you are doing a Sprint to ATT pre- to pre+, you will need to swap the entire back, which requires removing the volume buttons and replacing them. The cdma back and the gsm back have different antenna systems and need to be swapped as a unit. <br />
<br />
'''Coms board removed.''' Note the cable plug where the comm board was attached on the orange ribbon cable. <img>http://guide-images.ifixit.net/igi/eklF6cnfCxUNTTwl.medium</img><br />
<br />
<br />
'''Congratulations!''' You have now removed the Sprint Pre coms board! You are now ready to install it in your Pre Plus. PLEASE NOTE: The Pre is *NOT* an easy device to re-assemble, and although the coms board will be missing, I *highly* recommend practicing the re-assembly of the Sprint Pre a couple times to make sure you are able to get it to fit together nicely and the slider action is good, to ensure when you re-assemble the Pre Plus, it is of the highest quality.<br />
<br />
===Step 4: Swap Sprint Pre coms board into Pre Plus===<br />
So you've made it this far have you, Dr. Frankenstein! Excellent! Now, disassemble your Pre Plus by following the disassembly instructions detailed above. Remove the Pre Plus coms board. Insert your Sprint Pre coms board by pressing it into place, ensuring that the two connectors on the board push into place. Re-connect the two GPS wires on the inside of the case to the coms board. Re-assemble your Pre Plus.<br />
<br />
===Step 5: Re-program your Pre Plus using meta-doctor===<br />
Remember all that time we spent getting meta-doctor setup? Well, now the time has come to make use of it. Put your Pre Plus in recovery mode by holding the volume rocker in the 'up' position and while holding it, press and hold the power button. A USB icon should appear on the Pre Plus' screen. Navigate to your custom meta-doctor located at meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Run the JAR file and doctor your device. <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar <br />
<br />
When that has completed, your phone will reboot and the "first use app" will run. Go ahead and go through the setup process. <br />
* Select your language.<br />
* Accept the license. <br />
* Log in to your Palm profile. <br />
* Step through the silly tutorial. <br />
<br />
Once you have done this, the phone will reboot and you will be at your webOS home screen. <br />
<br />
====Confirm everything worked====<br />
* Note that the carrier should say "Sprint." <br />
* Confirm that our tokens were properly over-written by going to "Device Info" from the launcher. Scroll down and click on "More Info". <br />
** The Carrier should say "Sprint" <br />
** The Model should be "P100EWW". <br />
<br />
If either of these values are wrong (most like Carrier: Verizon or Model: P101EWW), then the tokens did not write correctly, and most likely, you made an error properly rolling castle.xml into meta-doctor. If the values are correct, you are now ready get yourself a standard Sprint install.<br />
<br />
===Step 6: Run regular Sprint webOS Doctor 1.4.5.===<br />
It's going to seem really odd, but now, you get to run the doctor '''again.''' This has two purposes: <br />
<br />
* To get all the stock Sprint apps back, like Sprint Nav and Sprint TV <br />
* To get the Sprint PRL (preffered roaming list). <br />
<br />
So, you need to run the regular old, run of the mill Sprint webOS Doctor. You have one in the meta-doctor/download directory that you renamed a while ago. CD to that folder and run <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar<br />
<br />
Put your phone in recovery mode (Up volume + power) and run the regular Sprint webOS Doctor. If your tokens are wrong, you will get an error saying that your device is not compatible with this version of webOS Doctor. If the info you verified in Step 5 is correct, the webOS Doctor will run without difficulty and you will end up with a stock Sprint install on your Pre Plus. You will be able to note this immediately on the first use app, as there will only be TWO language options (English and Spanish), rather than many. Go through the regular activation AGAIN and it will download your palm profile information and re-install any app store apps you have.<br />
<br />
'''NOTE''': Some people have experienced a problem after they've run the stock 1.4.5 webOS doctor, they discover that many of the applications that they had before were not installed, and no longer appear in the App Catalog. This problem stems from Palm getting confused about what version of OS that's running on the phone. This can be confirmed by logging into your palm profile at http://palm.com/profile. If it says the OS version is 9.9.9, then any apps in the app catalog tied to a version of webOS will not be available to you.<br />
<br />
The solution is to do a "downgrade activation", by first running the 1.4.1.1 version of webOS doctor on the phone. And when that's complete, upgrade to 1.4.5 via an Over The Air upgrade.<br />
<br />
===Step 7: Have a beer! You've earned it. ===<br />
Also, be sure to install Preware and all the other goodies you want!<br />
<br />
Special Thanks: rwhitby (for meta-doctor, Preware); jhoff80 (for castle.xml configuration), ifixit (for teardown images).<br />
<br />
= Baking tokens into the meta-sprint-pre-2.1.0 script =<br />
The following steps will need to be done in order for you to upgrade your Sprint FrankenPre+ to webOS 2.1.0 in the event that your Palm Profile is version 9.9.9 or the normal Sprint script creates a doctor incompatible with your device.<br />
<br />
First, download the 2.1.0 doctor the meta-sprint-pre-2.1.0 will be using to make the script if you have not already done so. You can find the name of this doctor by opening the meta-sprint-pre-2.1.0 file and checking for this line:<br />
<br />
::<pre>W210_FILE="nameofdoctor.jar"</pre><br />
<br />
To download the doctor, follow these commands (the first one creates the download directory if you do not already have one), substituting nameofdoctor.jar with the actual name of the doctor in the meta-sprint-pre-2.1.0 script:<br />
<br />
::<pre>mkdir -p downloads</pre> <br />
::<pre>wget downloads/nameofdoctor.jar http://palm.cdnetworks.net/rom/preplus/p210r0d02212011/eudep210rod/nameofdoctor.jar</pre><br />
:1. Let's unpack the 2.1.0 jar <br />
::<pre>make VERSION=2.1.0 DEVICE=preplus CARRIER=wr unpack</pre><br />
:2. Copy its castle.xml to your ~/meta-doctor directory<br />
::<pre>cp build/preplus-nameofdoctor-wr-2.1.0/webOS/castle.xml .</pre><br />
:3. Modify the '''"tokens"''' Section of '''~/meta-doctor/castle.xml''' to use ''your personal'' "tokens" Section [from the '''castle.xml you emailed yourself''' using the '''''Show Properties''''' app] using the same process as in subsection 3 of [[#Step 2: Setup meta-doctor]] above.<br />
::<pre>nano castle.xml</pre><br />
:: Note, you may perform all file editing steps with another editor of your choice (such as gedit).<br />
:: Add your personal tokens after the "env" Section" (note: no value below should be left as 'x'):<br />
<pre style="margin-left:50px;"><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
</Section><br />
</pre><br />
:4. CTRL+X and save your changes.<br />
:5. Modify the last make statement in meta-sprint-pre-2.1.0 (line 156 as of this writing)<br />
::<pre>nano ./scripts/meta-sprint-pre-2.1.0</pre><br />
:6. Insert "CUSTOM_XML=castle.xml" after "${ARGS} ". It should read:<br />
<pre style="margin-left:50px;"><br />
$make ${ARGS} \<br />
CUSTOM_XML=castle.xml \<br />
EXTRA_ROOTFS_IPKGS="flash flash-mini-adapter flame" \<br />
EXTRA_ROOTFS_TARBALL=${FLASH_TARBALL} clobber-build all || exit</pre><br />
:7. Modify the ${ARGS} section and change CUSTOM_MODEL_LIST and CUSTOM_CARRIER_LIST to read:<br />
::<pre>CUSTOM_MODEL_LIST=P101EWW CUSTOM_CARRIER_LIST=Verizon</pre><br />
:8. CTRL-X and save<br />
:9. Cleanup the stuff you just unpacked<br />
::<pre>make clobber</pre><br />
:10. Execute the meta-sprint script to create your doctor<br />
::<pre>./scripts/meta-sprint-pre-2.1.0</pre><br />
:11. Repeat [[#Step 7: Have a beer! You've earned it.]] above.</div>MrNiceguyhttp://wiki.webos-internals.org/index.php?title=Sprint_Pre_Plus&diff=17283Sprint Pre Plus2011-07-14T04:25:07Z<p>MrNiceguy: /* Baking tokens into the meta-sprint-pre-2.1.0 script */ Edited step 3 to reflect the actual output of the Save Properties app using the Comm Board Swap export</p>
<hr />
<div>This page is derived from the thread at <br />
[http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html http://forums.precentral.net/palm-pre-tips-information-resources/259077-pre-plus-sprint-step-step-conversion-guide.html]<br />
<br />
This guide will allow you to get a Palm Pre Plus working on Sprint, assuming you already have an activated Sprint Pre. Using this guide, you will end up with a Palm Pre Plus activated on Sprint, with an entirely stock software installation. The included stock Sprint applications will work (SprintNav, Sprint TV). Your purchased applications from the app store will be re-downloaded automatically OTA.<br />
<br />
== Requirements ==<br />
# Activated Sprint Pre<br />
# Your Palm profile login information. That's the email and password you activated your Pre with in the first place. You can test if you remember them correctly at [https://ps.palmws.com/palmcsext/console/pages/LoginPage.iface Palm's profile login page].<br />
# Palm Pre Plus- It can be Verizon or AT&T, it doesn't matter. It also doesn't really matter if the ESN is clean or not, I used a brand new Pre Plus I got off Craigslist with a clean ESN, however the ones with bad ESN's tend to be cheaper on Craigslist or Ebay. Buy whatever you can get the best deal on.<br />
# T5 screwdriver (required to disassemble phones)<br />
# Meta-Doctor (get it here Application:MetaDoctor - WebOS Internals)<br />
# The most important requirement: the understanding that if done incorrectly, you can end up with TWO broken phones or malfunctioning phones. The Pre is *NOT* an easy device to disassemble and especially to re-assemble. A moderately high level of confidence and competence with electronics is required to attempt this.<br />
<br />
==Process==<br />
<br />
===Step 1: Extract working Sprint Pre Tokens===<br />
The tokens on your Sprint Pre are located at /tmp/tokens on your device. The values we want to extract are ProdSN, ModemSN, BATToRSP, BATToCH, DMSVRoNONCE, DMSVRoAUTHPW, DMCLoNONCE, DMCLoAUTHPW, DMCLoAUTHNAME, DMCARRIER, DMMODEL, WIFIoADDR, BToADDR, PalmSN, PRODoID, PN. Each token is represented by a file with that exact name, and the value is contained in the file. <br />
<br />
:'''The only supported way to get these tokens is to <span style="color:red">install "Show Properties" using Preware</span> and have the system email you a castle.xml file directly.'''<br />
<br />
It is also a good idea to extract the tokens from the Pre Plus as well. They will not be used at all in this process. However, if you ever wish to return the Pre Plus to it's stock condition, you will need those tokens.<br />
<br />
===Step 2: Setup meta-doctor===<br />
<br />
(Note: If you would like to upgrade your device straight to 2.1.0 and not install 1.4.5, please follow the directions for creating your meta-doctor in the [[#Baking_tokens_into_the_meta-sprint-pre-2.1.0_script]] section.)<br />
<br />
This is actually sort of tricky and the setup process is a little different for each operating system you are running on. I recommend following the directions located here: [[Application:MetaDoctor]]. However, there are a few little things that need to be done to do what we are trying to do. I will summarize the steps that we are taking with meta-doctor. Read these steps first, BEFORE setting up meta-doctor. All the initial icky steps on the meta-doctor setup involve getting the proper UNIX architecture setup to run the shell scripts that comprise meta-doctor (installing git, etc). I will not summarize those steps here (they are well-documented elsewhere and OS-dependent). However, once you have the basic packages installed and in place, do the following things:<br />
<br />
<ol><li> Modify your makefile. The makefile is located in the "meta-doctor" directory and is called "Makefile". Open it in your favorite text editor. We are going to remove the carrier check (since VZ and AT&T carriers will NOT work with the regular Sprint webOS Doctor) and we are going to remove the model check (since there is no such thing as a Pre Plus on Sprint). To do this, remove the "#" symbol next to "REMOVE_MODEL_CHECK = 1" and "REMOVE_CARRIER_CHECK = 1". You will also need to set "DEVICE" to "pre" (no quotes) and "CARRIER" to "sprint" (no quotes)- exactly as below. Your makefile should now look like this (changes noted in bold for legibility):<br />
<pre><br />
##########################<br />
## END OF DOCUMENTATION ##<br />
##########################<br />
<br />
########################################<br />
## START OF AREA FOR END USER CHANGES ##<br />
########################################<br />
<br />
# Uncomment the features that you wish to enable below:<br />
# BYPASS_ACTIVATION = 1<br />
# BYPASS_FIRST_USE_APP = 1<br />
# ENABLE_DEVELOPER_MODE = 1<br />
# DISABLE_UPLOAD_DAEMON = 1<br />
# INCREASE_VAR_SPACE = 1<br />
# ENABLE_USB_NETWORKING = 1<br />
# INSTALL_SSH_AUTH_KEYS = 1<br />
REMOVE_CARRIER_CHECK = 1<br />
REMOVE_MODEL_CHECK = 1<br />
# DISABLE_MODEM_UPDATE = 1<br />
# CHANGE_KEYBOARD_TYPE = z<br />
<br />
# Select "pre", or "pixi".<br />
DEVICE = pre<br />
<br />
# Select "sprint", "bellmo", "telcel", "verizonwireless" or "wr".<br />
CARRIER = sprint<br />
<br />
######################################<br />
## END OF AREA FOR END USER CHANGES ##<br />
######################################<br />
</pre><br />
Save your modified makefile and close your text editor.<br />
<br />
</li><li> Unpack and Patch meta-doctor. Since we are going to import our Sprint tokens into meta-doctor, we need to build meta-doctor in a stepwise process, and insert the tokens at the proper time. Do NOT simply run 'make DEVICE=pre all-sprint'. This will NOT work. From the command line, and within the meta-doctor folder, run 'make unpack':<br />
<pre>make unpack</pre><br />
After this command has finished, run 'make patch':<br />
<pre>make patch</pre><br />
</li><li> Import tokens into castle.xml and package meta-doctor. We are now going to add your Sprint Pre tokens into meta-doctor and build the customized version of webOS Doctor that will write your Sprint tokens to your Pre Plus and remove the Carrier and Model checks. To do this, open the castle.xml file, which will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webOS/castle.xml. (Or you can just use the search function on your computer, haha). Open castle.xml in your favorite text editor. Locate the tokens section, which will look like this:<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
</Section><br />
</pre><br />
The new section will look like this (thanks jhoff80!):<br />
<pre><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="ProdSN" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="WIFIoADDR" action="overwrite" value="x"/><br />
<Val name="BToADDR" action="overwrite" value="x"/><br />
<Val name="PalmSN" action="overwrite" value="x"/><br />
<Val name="PRODoID" action="overwrite" value="x"/><br />
<Val name="PN" action="overwrite" value="x"/><br />
</Section><br />
</pre><br />
Where the X's are located, insert the corresponding token values that you extracted at the beginning of this guide. Leave the quotes in place. Once you have completed this step, save the XML file and close your text editor. Go back to the command line and run 'make pack'<br />
<pre>make pack</pre><br />
Your new webOS doctor is now all packaged up and ready to go, and will be located in meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Now that the software is all setup, we are ready to begin the hardware surgery!<br />
</li></ol><br />
<br />
=== Step 3. Remove your Sprint Pre com board===<br />
So this is the part where you can actually damage your device. So, as one last form of warning, I will say, DANGER WILL ROBINSON! If you are not comfortable with the possibility of destroying a perfectly nice Sprint Pre or are not comfortable disassembling tiny electronics, STOP NOW, go out and see Inception or something (great movie!). Otherwise, let's proceed. (Images are being served from Ifixit.net's palm pre teardown page.)<br />
<br />
'''NOTE''': You may find it useful to also look at the dis/reassembly instructions and pictures provided for the [[Sprint Pre 2]]. <br />
<br />
<br />
# Remove the 6 back screws. Remove the back cover of your Sprint Pre and remove the battery. Using a T5 screwdriver, remove the 6 screws. The screw in the upper right corner has a small "Palm" sticker on it, probably to void your warranty if broken<br /> <img width=350>http://guide-images.ifixit.net/igi/bFeIXAZtnVqjBILK.medium</img><br />
# Gently separate the backplate. There are interlocking plastic tabs securing the backplate. you need to pry out a tiny bit and push DOWN towards the keyboard on the four locking tabs. As you do, the keyboard bezel and the keyboard ill seperate from the backplate. The keyboard bezel is VERY THIN. Once you have it started to seperate on both sides, run your plastic wedge or a fingernail around the seperation. To swap JUST the comm board, it is NOT nessessary to pull the volume buttons out, you can leave them in. Now, with the keyboard down a bit, push up on the comm board and it will hinge up towards the top of the phone on its connector cable. The cable unplugs from the flat of the comm board. It does not pull out "parallel" with the cable, it pulls out "perpendicular" to the cable. <br /> <img width=350>http://guide-images.ifixit.net/igi/B2J3e3Tv6oKLJe3Y.medium</img><br />
# Remove the coms board. <br />
#* If you are doing a Sprint to Verizon pre- to Pre+ since both are cdma phones, you do not need to fully separate the backplate from the rest of the phone (which involves disassembling the volume rocker). If you are able to release the bottom section of the Pre's backplate and the 4 side plastic interlockers, you should be able to elevate the backplate enough to get access to the coms board. To remove the coms board, first gently reflect back the small plate covering the GPS connectors, as shown here and disconnect the two gps connectors. <br /> <img width=350>http://guide-images.ifixit.net/igi/qBW1xicfUSWhZ5VB.medium</img><br />
#: Now, simply apply gentle pressure, and the coms board will pop right out: <br /><img width=350>http://guide-images.ifixit.net/igi/2YgNcQN3dAf6idkE.medium</img><br />
#* If you are doing a Sprint to ATT pre- to pre+, you will need to swap the entire back, which requires removing the volume buttons and replacing them. The cdma back and the gsm back have different antenna systems and need to be swapped as a unit. <br />
<br />
'''Coms board removed.''' Note the cable plug where the comm board was attached on the orange ribbon cable. <img>http://guide-images.ifixit.net/igi/eklF6cnfCxUNTTwl.medium</img><br />
<br />
<br />
'''Congratulations!''' You have now removed the Sprint Pre coms board! You are now ready to install it in your Pre Plus. PLEASE NOTE: The Pre is *NOT* an easy device to re-assemble, and although the coms board will be missing, I *highly* recommend practicing the re-assembly of the Sprint Pre a couple times to make sure you are able to get it to fit together nicely and the slider action is good, to ensure when you re-assemble the Pre Plus, it is of the highest quality.<br />
<br />
===Step 4: Swap Sprint Pre coms board into Pre Plus===<br />
So you've made it this far have you, Dr. Frankenstein! Excellent! Now, disassemble your Pre Plus by following the disassembly instructions detailed above. Remove the Pre Plus coms board. Insert your Sprint Pre coms board by pressing it into place, ensuring that the two connectors on the board push into place. Re-connect the two GPS wires on the inside of the case to the coms board. Re-assemble your Pre Plus.<br />
<br />
===Step 5: Re-program your Pre Plus using meta-doctor===<br />
Remember all that time we spent getting meta-doctor setup? Well, now the time has come to make use of it. Put your Pre Plus in recovery mode by holding the volume rocker in the 'up' position and while holding it, press and hold the power button. A USB icon should appear on the Pre Plus' screen. Navigate to your custom meta-doctor located at meta-doctor/build/pre-p100eww-sprint-1.4.5/webosdoctorp100ewwsprint-1.4.5.jar. Run the JAR file and doctor your device. <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar <br />
<br />
When that has completed, your phone will reboot and the "first use app" will run. Go ahead and go through the setup process. <br />
* Select your language.<br />
* Accept the license. <br />
* Log in to your Palm profile. <br />
* Step through the silly tutorial. <br />
<br />
Once you have done this, the phone will reboot and you will be at your webOS home screen. <br />
<br />
====Confirm everything worked====<br />
* Note that the carrier should say "Sprint." <br />
* Confirm that our tokens were properly over-written by going to "Device Info" from the launcher. Scroll down and click on "More Info". <br />
** The Carrier should say "Sprint" <br />
** The Model should be "P100EWW". <br />
<br />
If either of these values are wrong (most like Carrier: Verizon or Model: P101EWW), then the tokens did not write correctly, and most likely, you made an error properly rolling castle.xml into meta-doctor. If the values are correct, you are now ready get yourself a standard Sprint install.<br />
<br />
===Step 6: Run regular Sprint webOS Doctor 1.4.5.===<br />
It's going to seem really odd, but now, you get to run the doctor '''again.''' This has two purposes: <br />
<br />
* To get all the stock Sprint apps back, like Sprint Nav and Sprint TV <br />
* To get the Sprint PRL (preffered roaming list). <br />
<br />
So, you need to run the regular old, run of the mill Sprint webOS Doctor. You have one in the meta-doctor/download directory that you renamed a while ago. CD to that folder and run <br />
<br />
java -jar webosdoctorp100ewwsprint-1.4.5.jar<br />
<br />
Put your phone in recovery mode (Up volume + power) and run the regular Sprint webOS Doctor. If your tokens are wrong, you will get an error saying that your device is not compatible with this version of webOS Doctor. If the info you verified in Step 5 is correct, the webOS Doctor will run without difficulty and you will end up with a stock Sprint install on your Pre Plus. You will be able to note this immediately on the first use app, as there will only be TWO language options (English and Spanish), rather than many. Go through the regular activation AGAIN and it will download your palm profile information and re-install any app store apps you have.<br />
<br />
'''NOTE''': Some people have experienced a problem after they've run the stock 1.4.5 webOS doctor, they discover that many of the applications that they had before were not installed, and no longer appear in the App Catalog. This problem stems from Palm getting confused about what version of OS that's running on the phone. This can be confirmed by logging into your palm profile at http://palm.com/profile. If it says the OS version is 9.9.9, then any apps in the app catalog tied to a version of webOS will not be available to you.<br />
<br />
The solution is to do a "downgrade activation", by first running the 1.4.1.1 version of webOS doctor on the phone. And when that's complete, upgrade to 1.4.5 via an Over The Air upgrade.<br />
<br />
===Step 7: Have a beer! You've earned it. ===<br />
Also, be sure to install Preware and all the other goodies you want!<br />
<br />
Special Thanks: rwhitby (for meta-doctor, Preware); jhoff80 (for castle.xml configuration), ifixit (for teardown images).<br />
<br />
= Baking tokens into the meta-sprint-pre-2.1.0 script =<br />
The following steps will need to be done in order for you to upgrade your Sprint FrankenPre+ to webOS 2.1.0 in the event that your Palm Profile is version 9.9.9 or the normal Sprint script creates a doctor incompatible with your device.<br />
<br />
First, download the 2.1.0 doctor the meta-sprint-pre-2.1.0 will be using to make the script if you have not already done so. You can find the name of this doctor by opening the meta-sprint-pre-2.1.0 file and checking for this line:<br />
<br />
::<pre>W210_FILE="nameofdoctor.jar"</pre><br />
<br />
To download the doctor, follow these commands (the first one creates the download directory if you do not already have one), substituting nameofdoctor.jar with the actual name of the doctor in the meta-sprint-pre-2.1.0 script:<br />
<br />
::<pre>mkdir -p downloads</pre> <br />
::<pre>wget downloads/nameofdoctor.jar http://palm.cdnetworks.net/rom/preplus/p210r0d02212011/eudep210rod/nameofdoctor.jar</pre><br />
:1. Let's unpack the 2.1.0 jar <br />
::<pre>make VERSION=2.1.0 DEVICE=preplus CARRIER=wr unpack</pre><br />
:2. Copy its castle.xml to your ~/meta-doctor directory<br />
::<pre>cp build/preplus-nameofdoctor-wr-2.1.0/webOS/castle.xml .</pre><br />
:3. Modify the '''"tokens"''' Section of '''~/meta-doctor/castle.xml''' to use ''your personal'' "tokens" Section [from the '''castle.xml you emailed yourself''' using the '''''Show Properties''''' app] using the same process as in subsection 3 of [[#Step 2: Setup meta-doctor]] above.<br />
::<pre>nano castle.xml</pre><br />
:: Note, you may perform all file editing steps with another editor of your choice (such as gedit).<br />
:: Add your personal tokens after the "env" Section" (note: no value below should be left as 'x'):<br />
<pre style="margin-left:50px;"><br />
<Section name="tokens" type="token" size="4KB"><br />
<Val name="installer" value="trenchcoat"/><br />
<Val name="BATToCH" action="overwrite" value="x"/><br />
<Val name="BATToRSP" action="overwrite" value="x"/><br />
<Val name="DMCARRIER" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHNAME" action="overwrite" value="x"/><br />
<Val name="DMCLoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMCLoNONCE" action="overwrite" value="x"/><br />
<Val name="DMMODEL" action="overwrite" value="x"/><br />
<Val name="DMSVRoAUTHPW" action="overwrite" value="x"/><br />
<Val name="DMSVRoNONCE" action="overwrite" value="x"/><br />
<Val name="ModemSN" action="overwrite" value="X"/><br />
</Section><br />
</pre><br />
:4. CTRL+X and save your changes.<br />
:5. Modify the last make statement in meta-sprint-pre-2.1.0 (line 124 as of this writing)<br />
::<pre>nano ./scripts/meta-sprint-pre-2.1.0</pre><br />
:6. Insert "CUSTOM_XML=castle.xml" after "${ARGS} ". It should read:<br />
::<pre>$make ${ARGS} CUSTOM_XML=castle.xml clobber-build all || exit</pre><br />
:7. Modify the ${ARGS} section and change CUSTOM_MODEL_LIST and CUSTOM_CARRIER_LIST to read:<br />
::<pre>CUSTOM_MODEL_LIST=P101EWW CUSTOM_CARRIER_LIST=Verizon</pre><br />
:8. CTRL-X and save<br />
:9. Cleanup the stuff you just unpacked<br />
::<pre>make clobber</pre><br />
:10. Execute the meta-sprint script to create your doctor<br />
::<pre>./scripts/meta-sprint-pre-2.1.0</pre><br />
:11. Repeat [[#Step 7: Have a beer! You've earned it.]] above.</div>MrNiceguy