[DEV][INFO] ReservedOdm, 4G, Unlocking and Downgrading

Search This thread

Lightsword1942

Senior Member
Apr 25, 2010
456
117
I figured it was about time I do a write up about everything we know about ReservedOdm and it's relation to 4G, downgrading and unlocking. For an overview of what ReservedOdm is you can look to this post on the Atrix forum. Essentially ReservedOdm is a one time programmable fuse that is responsible for storing a number of values which relate to Unlock State and OS version.

Now for a few interesting things that we have found out. The unlocked bootloader itself does not seem to care about any values other than the 4 you see at the end of many of the below strings. This appears to be a flag that indicates whether or not the bootloader has gone through the fastboot oem unlock proccess. I will note that merely having the unlocked bootloader flashed does not break 4G on our phones, but having it actually unlocked does.

It would appear that it is possible for ReservedOdm values to be written by both the bootloader and the main OS. This was found out because when people flashed ROM's based on the leaked photon OTA(with bootloader stripped) their phones would have a ReservedOdm value change that would prevent them from flashing any pre-2.3.5 SBF(pudding still work's). It is suspected that the 2.3.5 boot.img is capable of writing these values, since the fuses only changed when using the leaked 2.3.5 boot.img and not with 2.3.5 leak based ROM's that were repacked with an older boot.img.

It would appear that the leaked boot.img does not always change the fuse values, but has happened to some.

The 2.3.5 pudding file that was posted in the unlock thread seems to write a locked 2.3.5 bootloader which prevents both pudding and the unlocked bootloader from being flashed. It has no use and should never bet flashed since all it does is lock phones up.

Since the pudding bootloader seems to be able to be flashed with any ReservedOdm value(but not any bootlaoder), it may still be possible to unlock phones if we can find a way to bypass the bootloader checks on the 2.3.5 bootloaders.

The easiest way to tell if you can unlock is to look at the 3rd non-zero ReservedOdm value. If it is 1 it should be possible to unlock. However if it is 3 it will not be. The 2.3.5 bootloader appears to read this value and will give a sec_exception error if you are trying to flash an older bootloader if the value is 3.

The 2.3.4 SBF's however appear to check the ReservedOdm values and will fail if they are not correct.

I figure I might as well comment on this thread here. From what I can tell this is of no use to us since all the signature checks are respected when you do "fastboot flash rdl.bin". Essentially if you can ramload the rdl you can also flash the pudding file in RSD lite, and if you can't in RSD you also can't here. For electrify users this may be useful under extremely limited circumstances, apparently it can be used to flash pudding from the bootloader of phones shipped with 2.3.5 but not those that have used an OTA. For more info download this.


Recorded Values
Code:
10000000000030001000100004000-photon tried to flash photon 2.3.5 eng? currently unlocked but can't flash normal SBF
10000000000010001000100004000-standard unlocked photon
10000000000010001000100000000-standard locked photon
10000000000010001000100004000-standard unlocked electrify
30000000000030003000100004000-electrify stuck on 2.3.5 previously unlocked bootloader
1000000000003000100004000-electrify stuck on 2.3.5 unlocked bootloader previously installed
20000000000020003000100000000-photon attempted to flash wrong pudding file(2.3.5 testing one)
20000000000030003000100000000-above photon after flashing 2.3.5 electrify SBF
10000000000030003000100004000-photon with 2.3.5 OTA previously unlocked
10000000000030001000100004000-photon with 2.3.5 OTA installed without bootloader(can't downgrade but can unlock)
30000000000030003000100000000 Electrify who performed OTA update to 2.3.5 and now stuck never unlocked
20000000000020001000100004000-Electrify shipped with 2.3.5(unlocked using ramload workaround)
30000000000030002000100000000-Photon with 2.3.5 OTA soak
10000000000010001000100000000-GSM photon on 2.3.5 unknown origin
10000000000010000000100000000-Stock KDDI Photon non-unlocked
10000000000010001000100004000-Unlocked KDDI Photon
20000000000020000000100000000-2.3.5 electrify locked(try modified unlock method from above)

If anyone wants to read their ReservedOdm value simply run from adb:
Code:
adb shell
su
cat /sys/firmware/fuse/ReservedOdm
please post the output if it differs from anything in my list.
 
Last edited:

phince1

Senior Member
Nov 6, 2010
111
2
IOWA
30000000000030003000100000000 Electrify who performed OTA update to 2.3.5 and now stuck with locked bl

---------- Post added at 05:56 PM ---------- Previous post was at 05:50 PM ----------

I would also like to say lightsword, that when i fastboot flash RDL3_unlocked_electrify.smg, my phone blinks, then has a steady motologo with no messages. (Unlike other things i flash, I get an error message) I tried oem unlock next but it doesnt do anything on the phone and dos says the typical message. FYI
 

Lightsword1942

Senior Member
Apr 25, 2010
456
117
30000000000030003000100000000 Electrify who performed OTA update to 2.3.5 and now stuck with locked bl

---------- Post added at 05:56 PM ---------- Previous post was at 05:50 PM ----------

I would also like to say lightsword, that when i fastboot flash RDL3_unlocked_electrify.smg, my phone blinks, then has a steady motologo with no messages. (Unlike other things i flash, I get an error message) I tried oem unlock next but it doesnt do anything on the phone and dos says the typical message. FYI

What SBF was that smg file pulled from? Was it the one I posted?
 

phince1

Senior Member
Nov 6, 2010
111
2
IOWA
I think so, maybe the engineering sbf??? It's somewhere in that long post we were working from...
 

Lokifish Marz

Inactive Recognized Developer
Mar 13, 2011
3,848
3,748
Olympus Mons, Mars
martian-imperium.com
Hope this helps;
Previously unlocked Photon
flashed 198_6 SBF
flashed 2.3.5 leak, minus ap20bl.img
unlocked using derpunlock
flashed CWM5 recovery

Baseband is now N_01.28.10R
ODM matches the following:
10000000000010001000100004000-standard unlocked photon
 

Lightsword1942

Senior Member
Apr 25, 2010
456
117
Hope this helps;
Previously unlocked Photon
flashed 198_6 SBF
flashed 2.3.5 leak, minus ap20bl.img
unlocked using derpunlock
flashed CWM5 recovery

Baseband is now N_01.28.10R
ODM matches the following:
10000000000010001000100004000-standard unlocked photon

Do you know if the 2.3.5 leak you flashed has the original leaked boot.img?
 

Lokifish Marz

Inactive Recognized Developer
Mar 13, 2011
3,848
3,748
Olympus Mons, Mars
martian-imperium.com
Do you know if the 2.3.5 leak you flashed has the original leaked boot.img?

All I did to the original leak was remove the AP20 bootloader and any script lines referencing it. I just remembered that I have since flashed joker's 1.3 kernel but other than that there have been no changes that should affect ODM data.
 
Last edited:

Lightsword1942

Senior Member
Apr 25, 2010
456
117
All I did to the original leak was remove the AP20 bootloader and any script lines referencing it. I just remembered that I have since flashed joker's 1.3 kernel but other than that there have been no changes that should affect ODM data.

I had a look at the files and the leaked boot.img does seem to be present in both. Maybe it only writes the value under certain conditions.
 

phince1

Senior Member
Nov 6, 2010
111
2
IOWA
So no idea on overwriting the bootloader?

Sent from my Motorola Electrify using Xparent Blue Tapatalk 2
 

phince1

Senior Member
Nov 6, 2010
111
2
IOWA
So u think we can bypass the fastboot errors by flashing in bootstrap? Sounds good but hopefully someone can help u complie the sbf into a bootstrap zip...

Sent from my Motorola Electrify using Xparent Blue Tapatalk 2
 

Lightsword1942

Senior Member
Apr 25, 2010
456
117
So u think we can bypass the fastboot errors by flashing in bootstrap? Sounds good but hopefully someone can help u complie the sbf into a bootstrap zip...

Sent from my Motorola Electrify using Xparent Blue Tapatalk 2

I think it might be possible, however I can't really say for sure, just an idea really.
 

moparfreak426

R.I.P.
Mar 22, 2012
6,743
1,197
East/Middle TN
I think it might be possible, however I can't really say for sure, just an idea really.

someone help me get eclipse and sdk working and i will do my best to learn Al i can to help.. .. total noob but very determined to learn! i want unlocked bootloader after2.3.5 update just like everyone else so i can try the flavors of ice cream available. ..... oh and mine is
10000000000030002000100000000
11-0’s. 3-0's,3-0's, 8-0's

so i may have unlocked bootloader or.....?

Sent from my Motorola Electrify using XDA
 

moparfreak426

R.I.P.
Mar 22, 2012
6,743
1,197
East/Middle TN

Lightsword1942

Senior Member
Apr 25, 2010
456
117
This is a hell of a shot in the dark but if someone wants to try the Japanese photon system and see if wimax works message me on IRC.

someone help me get eclipse and sdk working and i will do my best to learn Al i can to help.. .. total noob but very determined to learn! i want unlocked bootloader after2.3.5 update just like everyone else so i can try the flavors of ice cream available. ..... oh and mine is
10000000000030002000100000000
11-0’s. 3-0's,3-0's, 8-0's

so i may have unlocked bootloader or.....?

You can try flashing the unlocked bootloader, but I'm pretty sure you are stuck for now.

I'm sure you have seen this, but I thought I would share: http://www.eternityproject.eu/topic/49-bootloader-bypass-kexec-for-motorola-razr/#entry342

Might give you more ideas, if nothing else.

Definitely a possibility, but we would need someone who knows how to implement it(not me).

i registered on that site but think i entered wrong E-mail:( oh well. .... can someone please help me with eclipse& android sdk problem? ! i really wanna start helping people abs doing something special!

Ask they cyanogenmod people how to compile. This probably will not be of much use for unlocking though.

Don't know if this is worth anything for your endevor, but this is mine after unlock. Running CNA (based on joker's CM9)

10000000000010001000100004000

My MoPho's in the kitchen sink!!

Yours looks normal, just don't install any leaks :p
 

moparfreak426

R.I.P.
Mar 22, 2012
6,743
1,197
East/Middle TN
This is a hell of a shot in the dark but if someone wants to try the Japanese photon system and see if wimax works message me on IRC.



You can try flashing the unlocked bootloader, but I'm pretty sure you are stuck for now.



Definitely a possibility, but we would need someone who knows how to implement it(not me).



Ask they cyanogenmod people how to compile. This probably will not be of much use for unlocking though.



Yours looks normal, just don't install any leaks :p

im stuck:(

Sent from my Motorola Electrify using XDA
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    I figured it was about time I do a write up about everything we know about ReservedOdm and it's relation to 4G, downgrading and unlocking. For an overview of what ReservedOdm is you can look to this post on the Atrix forum. Essentially ReservedOdm is a one time programmable fuse that is responsible for storing a number of values which relate to Unlock State and OS version.

    Now for a few interesting things that we have found out. The unlocked bootloader itself does not seem to care about any values other than the 4 you see at the end of many of the below strings. This appears to be a flag that indicates whether or not the bootloader has gone through the fastboot oem unlock proccess. I will note that merely having the unlocked bootloader flashed does not break 4G on our phones, but having it actually unlocked does.

    It would appear that it is possible for ReservedOdm values to be written by both the bootloader and the main OS. This was found out because when people flashed ROM's based on the leaked photon OTA(with bootloader stripped) their phones would have a ReservedOdm value change that would prevent them from flashing any pre-2.3.5 SBF(pudding still work's). It is suspected that the 2.3.5 boot.img is capable of writing these values, since the fuses only changed when using the leaked 2.3.5 boot.img and not with 2.3.5 leak based ROM's that were repacked with an older boot.img.

    It would appear that the leaked boot.img does not always change the fuse values, but has happened to some.

    The 2.3.5 pudding file that was posted in the unlock thread seems to write a locked 2.3.5 bootloader which prevents both pudding and the unlocked bootloader from being flashed. It has no use and should never bet flashed since all it does is lock phones up.

    Since the pudding bootloader seems to be able to be flashed with any ReservedOdm value(but not any bootlaoder), it may still be possible to unlock phones if we can find a way to bypass the bootloader checks on the 2.3.5 bootloaders.

    The easiest way to tell if you can unlock is to look at the 3rd non-zero ReservedOdm value. If it is 1 it should be possible to unlock. However if it is 3 it will not be. The 2.3.5 bootloader appears to read this value and will give a sec_exception error if you are trying to flash an older bootloader if the value is 3.

    The 2.3.4 SBF's however appear to check the ReservedOdm values and will fail if they are not correct.

    I figure I might as well comment on this thread here. From what I can tell this is of no use to us since all the signature checks are respected when you do "fastboot flash rdl.bin". Essentially if you can ramload the rdl you can also flash the pudding file in RSD lite, and if you can't in RSD you also can't here. For electrify users this may be useful under extremely limited circumstances, apparently it can be used to flash pudding from the bootloader of phones shipped with 2.3.5 but not those that have used an OTA. For more info download this.


    Recorded Values
    Code:
    10000000000030001000100004000-photon tried to flash photon 2.3.5 eng? currently unlocked but can't flash normal SBF
    10000000000010001000100004000-standard unlocked photon
    10000000000010001000100000000-standard locked photon
    10000000000010001000100004000-standard unlocked electrify
    30000000000030003000100004000-electrify stuck on 2.3.5 previously unlocked bootloader
    1000000000003000100004000-electrify stuck on 2.3.5 unlocked bootloader previously installed
    20000000000020003000100000000-photon attempted to flash wrong pudding file(2.3.5 testing one)
    20000000000030003000100000000-above photon after flashing 2.3.5 electrify SBF
    10000000000030003000100004000-photon with 2.3.5 OTA previously unlocked
    10000000000030001000100004000-photon with 2.3.5 OTA installed without bootloader(can't downgrade but can unlock)
    30000000000030003000100000000 Electrify who performed OTA update to 2.3.5 and now stuck never unlocked
    20000000000020001000100004000-Electrify shipped with 2.3.5(unlocked using ramload workaround)
    30000000000030002000100000000-Photon with 2.3.5 OTA soak
    10000000000010001000100000000-GSM photon on 2.3.5 unknown origin
    10000000000010000000100000000-Stock KDDI Photon non-unlocked
    10000000000010001000100004000-Unlocked KDDI Photon
    20000000000020000000100000000-2.3.5 electrify locked(try modified unlock method from above)

    If anyone wants to read their ReservedOdm value simply run from adb:
    Code:
    adb shell
    su
    cat /sys/firmware/fuse/ReservedOdm
    please post the output if it differs from anything in my list.
    2
    Could you please tell something more to this bootloader? It's looking very risky this way. Where does it come from? It's hex edited? Or?

    I just pulled it from the pudding sbf. I then changed it to match the update-script that is used when performing an ota. Have not hex edited the image at all. I agree it is risky, but if someone wants to try that is stuck on 2.3.5 I'm making it available.
    2
    update failed, same error on boot - something like: hardware pre build code core/system/moto ota.c 162 secured version failed

    recovery log:

    -- Installing: SDINTERNAL:download/45-1.2.5_bootloader_test.zip
    Finding update package...
    I:Update location: SDINTERNAL:download/45-1.2.5_bootloader_test.zip
    Opening update package...
    I:Update file path: /emmc/download/45-1.2.5_bootloader_test.zip
    Installing update...
    I:Trying update-binary.
    installing motoflash extensions
    installing Etna updater extensions
    installing NV updater extensions
    updating AP20 bootloader ...
    wrote nvmotota partition from /tmp/ap20bl.img
    already in normal mode
    Unable to find any TCMD interfaces
    script aborted: assert failed: motorola.update_nv("0006002F0000000000000009142100010000000107")
    Updating NV_IMEISV_SVN_I
    assert failed: motorola.update_nv("0006002F0000000000000009142100010000000107")
    E:Error in /emmc/download/45-1.2.5_bootloader_test.zip
    (Status 7)
    Installation aborted.

    Ok, new test. MD5 B9C4E5AE641E165AB0A837383322540F
    1
    New test. MD5 576EFF67CC165F1B5523F0A81B212265

    flashed successfully
    "ota.c 162 secured version failed" error on boot.

    pudding unlock failed - sec_exception error

    Error:
    hardware/tegra/prebuild/make/ ../../core /system/moto/ota.c 162 secured version failed

    update fail

    powering on bp

    cold-booting linux
    1
    One more thing, that is probably important, when I am hacking rsd lite, to flash full sbf with radio, I need to overwrite cg42.smg (bootloader) and cg3.smg (cdt.bin). If cg3.smg is missing, bootloader unlock fails, while flashing full sbf. Maybe it's the same situation here, you cannot overwrite bootloader without cdt.bin?