Tanjay Unable to Update after Rolling Back to R1 Code
I ran across this issue awhile back. I had a Tanjay running version 1.0.522.101. I updated it to the R2 software, version 3.5.6907.0. I then logged into the phone with a user homed on an R1 pool. Because I had the R1 Update Server deployed, the phone rolled back to the R1 software, version 1.0.522.101. After that, I was unable to get the phone to update to the newer version again.
I tried taking a look at the logs from the phone, but opening the log file in Notepad, just gets you the following:
What you need to do is use the Readlog tool to generate a readable version of the file. From the MSDN article on Readlog:
Readlog (Readlog.exe) is a command-line tool that performs a conversion of the kernel tracker output, generated in CELog (.clg) format, into text (.txt) format.
After converting the file, you can now open it in Notepad:
At the bottom of the file is the following:
F i r m w a r e V e r s i o n : 1 . 2 3
P l a t f o r m V e r s i o n : 1 . 0 . 5 2 2 . 1 0
L a s t U p d a t e : N / A
L a s t U p d a t e R e q u e s t : 0 4 / 2 4 / 2 0 0 9 1 0 : 3 9
L a s t U p d a t e S t a t u s : ( 0 x 0 / 2 0 0 )
A c t i v e R e g i o n : 2
R e g i o n 1 I n f o : R e g i o n 1 : V e r : 3 . 5 . 6 9 0 7 . 0
R e g i o n 2 I n f o : R e g i o n 1 : V e r : 1 . 0 . 5 2 2 . 1 0 1
As you can see, both versions of the firmware are in memory, but Region 2 is the active region. Unfortunately there's no easy way to switch between regions. One workaround that I've used is to push out a newer QFE that updates the phone to a later version than what is in Region 1, but there may not always be a newer version available.
Another workaround that was proposed by Zsolt Milos, a Support Engineer in Germany, was to edit the following:
- In the rtcconfig database, open the MSFT_SIPDeviceUpdateRules table and select the instance that corresponds to the type of phone that you have.
- Edit the ApprovedVersion from 3.5.6907.0 to 3.5.6907.1
- Rename the following folder:
\\<SERVER>\<ShareName>\DeviceUpdates\UCPhone\<Vendor>\
<Model>\<Revision>\ENU\3.56907.0\
to
\\<SERVER>\<ShareName>\DeviceUpdates\UCPhone\<Vendor>\
<Model>\<Revision>\ENU\3.56907.1\
The phone should now update to 3.5.6907.0 again.