Sprint PRL Update
Summary
When you upgrade your Pre to webOS 2.1 using the meta-doctor, Sprint users lose the ability to update their PRL (Preferred Roaming List). This guide aids in restoring that capability. It requires that novacomd be installed and running on a computer because the steps require shell access to the Linux command line of your Pre. This guide DOES NOT discuss illegally obtained and unreleased versions of the software required to do this "normally".
NOTE: You absolutely CANNOT use files from another phone's /var/lib/software on your phone. That location contains unique information for YOUR phone. If you restore someone else's files to your phone, it will become THEIR phone and no longer YOURS. Phone number and everything. The only way to fix this situation is to Doctor back to 1.4.5 and start over.
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.
Prerequisites
You must have novacomd installed and functioning on a computer. You can go about this in a couple ways:
1) Get the novacom installer for your OS directly from Palm.
2) Use the Universal Novacom Installer to help do it for you.
Procedure
Step 1
While your Pre is still running webOS 1.4.5, update PRL:
1) Phone --> App-Menu --> Preferences & Accounts --> Update PRL
NOTE: As of April 21st 2011, some people are getting PRL# 01115, and others are getting PRL# 60678. It is unknown why at this time. The 01115 has some data roaming changes in it that boost data rates for some customers in certain areas. Unofficial changelogs can be found here.
After this, check to make sure that you have "prefroamlist" on your phone:
1) Plug your Pre into your computer. DO NOT put it in USB Mode. 2) Run novaterm (will open a Linux shell to your phone). 3) cd /var/lib/software/ModemFiles 4) ls
You should see a file named "prefroamlist". This is your PRL file.
Step 2
Now back up that location to a tarball in /media/internal (the "Flash Drive" portion of your phone):
1) cd /var/lib/software 2) tar -czvf /media/internal/my_1.4.5_prl_backup.tar.gz *
You will now have a file named "my_1.4.5_prl_backup.tar.gz" in the Flash Drive portion. It's highly recommended that you put your phone in USB mode now and copy that file to your computer for safe keeping.
Step 3
After running the Doctor that you created following the Upgrade Guide, you are ready to restore that information:
1) novaterm 2) cd /var/lib/software 3) tar -xvf /media/internal/my_1.4.5_prl_backup.tar.gz 4) Immediately reboot your phone (Orange+Sym+R is the quickest).
Step 4
Verify that YOUR phone is still YOUR phone and check your PRL version:
1) Device Info: The first page shows your phone number at the top. 2) Device Info: Tap "More Info" at the bottom: Verify PRL.
Manually Updating
One way to get an updated PRL file is to have a webOS 1.4.5 device handy. Update the PRL on the 1.4.5 device and DO NOT reboot.
1) Navigate to /var/lib/software/ModemFiles
There should be a file named "prefroamlist". Make a copy.
1) cp /var/lib/software/ModemFiles/prefroamlist /media/internal/
Now it must be renamed and tarred (using 60677 only as an example - it must be named properly)
1) cd /media/internal/ 2) mv prefroamlist Sprint_60677.prl 3) tar -cf prl_update.tar Sprint_60677.prl
Get the .tar file onto the Flash Drive portion of your webOS 2.1 device, then:
1) PmModemUpdater < /media/internal/prl_update.tar -m
It will disconnect the phone from the network and update the PRL. The output is similar to the following:
root@My Pre:/# PmModemUpdater < /media/internal/prl_update.tar $ Modem is powered-on Warning! Please make sure you have a fully charged battery or are connected to an external source before you do your update. Warning! You can potentially trash your modem firmware if system loses power in the middle of updating firmware! Warning! To abort, press CTRL+C. PmModemUpdater Version 5.2.1.8 Nov. 2010 @Palm Inc $ Creating temp file $ Processing file .... (05624/981179198) powerd (stop) running, process 5008 (05624/981575927) powerd (stop) pre-stop, (main) process 5008 (05624/981820067) powerd (stop) stopping, process 5008 (05624/982491454) powerd (stop) killed, process 5008 (05625/56618651) powerd (stop) post-stop (05625/57686766) powerd (stop) waiting $ PowerD Stopped successfully! (05625/150734862) PmWanDaemon (stop) running, process 5065 (05625/151864012) PmWanDaemon (stop) pre-stop, (main) process 5065 (05625/152565917) PmWanDaemon (stop) stopping, process 5065 (05625/153786620) PmWanDaemon (stop) killed, process 5065 (05630/184609374) PmWanDaemon (stop) post-stop (05630/184822997) PmWanDaemon (stop) waiting $ PmWanDaemon Stopped successfully! (05630/274270018) TelephonyInterfaceLayer (stop) running, process 5012 (05630/274636229) TelephonyInterfaceLayer (stop) pre-stop, (main) process 5012 (05630/274880370) TelephonyInterfaceLayer (stop) stopping, process 5012 (05630/311745604) TelephonyInterfaceLayer (stop) killed, process 5012 (05630/311989745) TelephonyInterfaceLayer (stop) post-stop (05630/312142333) TelephonyInterfaceLayer (stop) waiting $ TIL Stopped successfully! {"returnValue":true} Pass-through disabled $ Passthrough Disabled!. $ Acquired exclusive access to port /dev/modemdiag $ Disable handshaking in ROM $ Going for PRI/PRL update...No modem reset... $ Probing modem............. ************************************************* * Modem Firmware Info * ************************************************* * COMP DATE = Nov 04 201019:05:0911/04/2010 * REL DATE = 11/04/2010 * HW VERSION = A20700E1 * MOB MODEL = AC * RADIO TYPE = CDMA * PRL VERSION =60676 * PRI CRC =0x8EF3 * EX BUILD ID = RC1.7(557) ************************************************* <INFO> saving existing tokens $ Successfully configured default charging device $ Finished detecting Modem! $ USB port active for UPDATE! $ No version file found in the package! $ Will Update PRI/PRL files as no firmware version file $ CDMA Carrier Items Update ............... $ PRI Version from Modem is 8961(1.35) $ Updating PRI file to Modem EFS .... $ No PRI File to Update... $ Updating PRL ..... $ PRL Sprint_60677.prl Update Success! $ Enable handshaking in ROM Enable handshaking in ROM $ Please wait while restoring TIL/WAN..... (05632/444924315) powerd (start) waiting (05632/446175536) powerd (start) starting (05632/446999510) powerd (start) pre-start, process 6933 (05632/464455565) powerd (start) spawned, process 6936 (05632/465584716) powerd (start) post-start, (main) process 6936 (05632/466408690) powerd (start) running, process 6936 $ powerd Restored successfully! (05632/505135497) TelephonyInterfaceLayer (start) waiting (05632/506295165) TelephonyInterfaceLayer (start) starting (05632/507058104) TelephonyInterfaceLayer (start) pre-start (05632/507821044) TelephonyInterfaceLayer (start) spawned, process 6940 (05632/508583983) TelephonyInterfaceLayer (start) post-start, (main) process 6940 (05632/509316405) TelephonyInterfaceLayer (start) running, process 6940 $ TIL Restored successfully! (05634/553170165) PmWanDaemon (start) waiting (05634/553994139) PmWanDaemon (start) starting (05634/554268798) PmWanDaemon (start) pre-start (05634/554604491) PmWanDaemon (start) spawned, process 6955 (05634/554940184) PmWanDaemon (start) post-start, (main) process 6955 (05634/555245360) PmWanDaemon (start) running, process 6955 $ PmWanDaemon Restored successfully! $ Your device is ready for use. $ Releasing lock to port /dev/modemdiag root@My Pre:/#
You will see the "Update Success!" line shortly after the "Modem Firmware Info" section. Although it doesn't seem necessary, it would be a good idea to reboot your phone now. After the reboot, verify the PRL Version:
1) Device Info --> More Info 2) At the bottom it will say your PRL version