HTC Delivering Ads Straight to Sense Home

HTC’s 2015 has been a year marked by a desperate search for revenue.The HTC One M9 … more

Galaxy S6 & Edge get €100 Price Cut—New Models Incoming

Samsung has dropped the price of both the Galaxy S6 and S6 Edge by … more

How To Port Fully Featured Sony Xperia Z4 Camera

Xperia Z4’s hardware may not impress, but its software is definitely … more

Experimental TWRP Available For Moto G 2015

XDA Senior Member squid2 has posted experimental builds of TWRP for the Moto G … more

[GUIDE] Downgrade G2 (2.3.X) & DZ (2.3.X) & mT4g (2.3.4) & DHD w/ S-ON to Stock Froyo

112 posts
Thanks Meter: 329
By Setherio, Senior Member on 21st July 2011, 10:36 AM
Post Reply Subscribe to Thread Email Thread
This guide is written for anyone who has "Stock Gingerbread" and wants to downgrade their phone which originally had "Stock Froyo". The following is a list of phone models this guide is intended for and that are known to work:

Working Phone Models:
  • G2 (Vision)
  • Desire Z (Vision)
  • myTouch 4G (Glacier)
  • Desire HD (Ace)

It should also be noted, this guide WILL NOT work with the following:
Special Notes

Table of Contents
  1. Introduction
    1. Gaining Temp Root
    2. Changing Version Number to Allow Downgrade and Gaining SuperCID with a Goldcard
    3. Temp-Rooting to Backup (*Optional*)
    4. Downgrading
      1. Manual Downgrade
      2. Fastboot Downgrade
  2. Sources
  3. Troubleshooting
  4. Change Log
  5. Attachments

I) Introduction
This guide is written with the assumption that the user has previously used "adb". If you are unfamiliar with "adb" or do not even know what "adb" is, download the Android SDK (found at There are a couple guides to help you get started setting up the Android SDK and understanding ADB. If you have not installed the Android SDK or you are unfamiliar with ADB, please take some time and read a couple guides to get a basic understanding of it.

I - 1) Gaining Temp Root
  1. Download the attached files, unzip them, and place the files in your platform-tools folder. To elaborate, place the fre3vo file inside of the file in your platform-tools folder and the misc_version file inside the file in your platform-tools folder.
  2. Make sure you have your sdcard inserted in your phone, and you are NOT in USB Storage Mode, and your sdcard is NOT FULL.
  3. Run the following command to verify the exploit has access to what it needs. (Only the first line is the command. The second line should be the result returned if all goes well.)
    > adb shell cat /dev/msm_rotator
    /dev/msm_rotator: invalid length
  4. If you received the same message, you're good to continue on. If not… refer to the troubleshooting section of the guide before you continue.
  5. Run the following commands from your platform-tools directory.
    > adb push fre3vo /data/local/tmp
    > adb shell
    $ chmod 777 /data/local/tmp/fre3vo
    $ /data/local/tmp/fre3vo -debug -start FAA90000 -end FFFFFFFF
  6. After you enter that command, you should see something similar to the last few lines in the following displayed.
    (It may take a minute or two. From what I can tell, this appears to be the quickest method as the exploit seems to be found in the latter regions.)
    Buffer offset:      00000000
    Buffer size:        8192
    Scanning region fb7b0000...
    Scanning region fb8a0000...
    Scanning region fb990000...
    Scanning region fba90000...
    Potential exploit area found at address fbb4d600:a00.
    Exploiting device...
    1. If the exploit works, you will be kicked out of ADB shell, proceed to Step #8.
    2. If the above does not work, and fails, you can try the following, and hopefully one will work, try the following (you must reboot your phone before you try another set):
      $ /data/local/tmp/fre3vo -debug -start 10000000 -end 1FFFFFFF
      $ /data/local/tmp/fre3vo -debug -start 20000000 -end 2FFFFFFF
      $ /data/local/tmp/fre3vo -debug -start 30000000 -end 3FFFFFFF
      $ /data/local/tmp/fre3vo -debug -start F0000000 -end FFFFFFFF
      $ /data/local/tmp/fre3vo -debug -start E0000000 -end EFFFFFFF
  7. If you did get kicked out of adb shell, open it again. You should now see # instead of $, thus granting you temp root. Go ahead and exit out of shell to proceed to the next stage.
    > adb shell
    # exit

I - 2) Changing Version Number to Allow Downgrade and Gaining SuperCID with a Goldcard
  1. If you followed the first portion of this, you should of unzipped ad in the platform-tools directory.
    If you haven't done that yet, do that now and then run the following commands from your platform-tools directory.
  2. Code:
    > adb push misc_version /data/local/tmp/misc_version
    > adb push flashgc /data/local/tmp/flashgc
    > adb shell chmod 777 /data/local/tmp/*
    > adb shell
    # cd /data/local/tmp
    # ./misc_version -s
    --set_version set. VERSION will be changed to:
    Patching and backing up partition 17...
    # ./flashgc
    *Note: If you get the following error, please make sure your sdcard is inserted in your phone and is NOT mounted to your computer (ie: make sure you are NOT in USB Storage Mode). This is a fairly common error and/or oversight many people tend to miss. Please double check this before continuing.
    Error opening backup file.
  3. Code:
    # sync
  4. Double check and make sure everything looks good so far by running the following command (still in adb shell).
    # dd if=/dev/block/mmcblk0p17 bs=1 skip=160 count=10 records in
    10+0 records out
    10 bytes transferred in 0.001 secs (10000 bytes/sec)

I - 3) Temp-Rooting to Backup
If you have nothing to back up or don't care to back anything up, proceed to the next section.
Credit goes to Nipqer from #g2root for providing me with this method.
  1. Download the attached file:
  2. Extract the contents to your platform-tools directory.
  3. Run the following commands in command prompt while in platform-tools directory:
    > adb push su /data/local/tmp/
    > adb push busybox /data/local/tmp/
    > adb push /data/local/tmp/
    > adb install SuperUser.apk
    > adb shell chmod 755 /data/local/tmp/
    > adb shell /data/local/tmp/
  4. Download a backing up application such as...
    1. Titanium Backup
    2. MyBackup Root
  5. Make a backup!

I - 4) Downgrading
I - 4a) Manual Downgrade
  1. Rename the downloaded rom to it's proper update name:
    (Please note, the filenames MUST be all uppercase except for the extension, and if file extensions are hidden, do not include ".zip"):
    • G2: ""
    • Desire Z: ""
    • myTouch 4G: ""
    • Desire HD: ""

  2. Place the zip file in the root of your sdcard.
  3. Reboot your phone into bootloader by typing the following command:
    > adb reboot bootloader 
  4. After your phone has entered bootloader, press the power button. It will then scan for the associated rom file and ask you to update by pressing a key.
  5. Press the key it requests to perform the update.
    Your phone will reboot once or twice - this is completely normal.
    This process will take roughly 5-10 minutes so make sure your phone is plugged in, either to an outlet or your computer.
  6. Once the process is finished, it will ask you to reboot by pressing a key. Press the associated key and it will reboot into the Stock Froyo rom!
  7. After booting into Android 2.2, DO NOT update the OTA that is around 70MB. That is the update to Gingerbread. There is one update that will come before that, that is a lot smaller in size, which is the WiFi-Calling update - that update is okay to install.

I - 4b) Fastboot Downgrade
  1. Rename the downloaded stock rom "" (if extensions are hidden, rename it "StockRom").
  2. Place the downloaded stock rom zip file in your platform-tools directory.
  3. Download the attached file In the zip archive there are three folders, "windows", "mac", and "linux".
  4. Extract the file from the associated with your operating system and place it in platform-tools directory.
  5. In command prompt, type the following command to reboot into bootloader:
    > adb reboot bootloader
  6. Make sure your device is recognized by typing the following command.
    > fastboot devices
  7. If you device is recognized, it should return a serial/model number.
  8. Code:
    > fastboot oem rebootRUU
  9. Your phone should now reboot into a black screen with a gray/silver "HTC" logo on it.
  10. Next we flash the Stock Rom. This may take a few minutes as it transfers the file to the phone then attemps to update (downgrade).
    > fastboot flash zip
  11. In rare cases the flash stops and the user gets a warning to repeat the flash immediately - no panic, just run the "fastboot flash zip" (only this command, not the rebootRUU one) again and it will work.
  12. When it finishes, wait a minute or two (just in case) then reboot your phone by typing:
    > fastboot reboot
  13. After booting into Android 2.2, DO NOT update the OTA that is around 70MB. That is the update to Gingerbread. There is one update that will come before that, that is a lot smaller in size, which is the WiFi-Calling update - that update is okay to install.

II) Sources:
  1. #g2root:
  2. Using fre3vo:
  3. [GUIDE] ADB Workshop and Guide for everyone
  4. [HOW-TO] ADB for Dummies(How-To Learner's Guide)
  5. How To Set Up ADB/USB Drivers for Android Devices
  6. [ROM]Ace Test & Stock ROMS [RE-UPLOADED]
  7. Instructions for flashgc
  8. Temp-Root Backup Post by Nipqer
  9. [GUIDE] How to get root/flash custom roms with HTCDEV unlock
  10. flashgc by skorgon
  11. Various Chats I've had with individuals.

If anyone needs further help and would prefer messaging me, feel free.
III) Troubleshooting
Originally Posted by Cimer

[...] If [the downgrade] does not work, Right click your Command prompt, Select All, Right click again. Then go to, paste there, Scroll down, name it and hit submit. After that post the link here and we'll take a look at it.

EVERYONE: If you want a faster diagnostic please do this in advance and other people can see your mistakes.

You can also join the IRC channel #g2root on and ask questions in there. If you are unfamiliar with IRC, you can go to and pick an alias, for channel type in #g2root and enter the reCAPTCHA and connect.

I wanted to give credit to specific individuals whom have helped write this guide, provided important feedback to further improve this guide, and/or in any other way further improved this guide. I think these invidiuals should be recognized, as if it were not for them, this would wouldn't be as elaborate, dynamic, and informative as it is. So a special thanks to, Cimer, strawmetal petarpLab, iDylan1357, asharma5290, guhl, pierre_ja, and skorgon from #g2root. And I would also like to recognize and give a major thanks to Nipqer whom offers a lot of support with constant responses helping assist those whom ask for help both in this thread as well as on IRC. And he is always making sure I keep this as updated as it can be.

IV) Change Log
  • 2013/06/14
    • Update links to -Nipqer
  • 2012/11/11
    • Made some minor changes (grammar, spelling, layout/format).
    • Added links to guides which fix the issue with Desire HD (Ace) w/ Sense 3.x
  • 2012/05/22
    • Changed "fastboot" attachment to have 3 folders ("windows","linux",and "mac") each with "fastboot" in it instead of having "fastboot-linux", "fastboot-mac", and "fastboot-windows.exe".
    • Changed fastboot portion of guide to reflect change to attachment for easier usability.
  • 2012/04/21
    • Updated strawmetal's PDF document for G2/Desire Z Downgrade.
    • Added link to strawmetal's tools used in his PDF Guide.
  • 2012/03/07
    • Added a PDF file that strawmetal was kind enough to make for Vision users.
    • Added links to attached files in the guide where I reference them.
  • 2012/02/03
    • Changed link to the Stock Vision (G2) Rom and added mirrors.
    • Changed link to the Stock Vision (Desire Z) Rom and added mirrors.
    • Added mirrors to the Stock Glacier (myTouch 4G) Rom.
    • Changed link to the Stock Ace (Desire HD) Rom and added mirrors.
  • 2012/02/03
    • Added a guide to help individuals whom have used the "official" unlocker method.
  • 2012/02/03
    • Fixed link for the G2, Desire Z, and Desire HD (thanks to repast & cmstlist.
  • 2012/04/13
    • Possible exploit found for Desire HD updated to latest OTA update (which patched our current method).
  • 2012/01/28
    • Fixed link for myTouch 4G as megaupload has been taken down. Also added mirrors for myTouch 4G Stock Rom.
  • 2011/12/20
    • Clearified which phone models this guide is intended for as well as noting that the Doubleshot does not work.
    • Made note that a recent OTA patch for the Ace, giving it Sense 3.x, has patched this method and this method will no longer work on Ace models which have Sense 3.x
  • 2011/12/17
    • Added new goldcard generator and simplified the guide.
  • 2011/10/27
    • Changed the download link for the Desire HD.
    • Added MD5 checksums next to the rooms.
  • 2011/10/26
    • Re-added the manual downgrade method due to people having issues with the fastboot method.
  • 2011/10/23
    • Fixed a slightly error in code during the temp-root backup section. Had "adb install install Superuser.apk", replaced it with "adb install Superuser.apk"
  • 2011/10/22
    • Added a method to be able to backup data prior to downgrading! (thanks to Nipqer from #g2root)
  • 2011/10/20
  • 2011/08/26
    • Changed modified version number for each device to 1.00.000 as it is more universal and works for each one.
    • Made it more clear to extract the attached files and place them in the platform-tools directory for use.
  • 2011/08/06
    • Added a couple links to ADB guide.
  • 2011/08/05
    • Added myTouch 4G
    • Added link to an "adb" guide.
    • Changed title from "[GUIDE] Downgrade G2 2.13.531.8 (2.3.3 T-Mobile Rom w/ S-ON) & DZ 2.3.3 w/ S-ON" to "[GUIDE] Downgrade G2 (2.3.3) & DZ (2.3.3) & mT4g (2.3.4) w/ S-ON to Stock Froyo"

V) Attached Files
Last edited by Setherio; 13th June 2013 at 08:22 PM. Reason: Added a "Change Log" to keep track of past and future updates. --- Revised the intro to adb portion and added a couple links
The Following 238 Users Say Thank You to Setherio For This Useful Post: [ View ]
21st July 2011, 10:47 AM |#2  
evilcuber's Avatar
Senior Member
Flag Toronto
Thanks Meter: 679
Donate to Me
Wow first guide. Nice! I hope this helps people who have 2.3.3 so they can stop asking how to downgrade

Sent from my HTC Vision using XDA App
The Following User Says Thank You to evilcuber For This Useful Post: [ View ]
21st July 2011, 11:22 AM |#3  
mejorguille's Avatar
Senior Member
Flag Florida
Thanks Meter: 42
Sweet, now I can finally get my phone replaced. Accidentally blew out my LED and was scared of asking for a new one for fear of being unable to root. Thanks for the peace of mind I'll be using this in a few days
21st July 2011, 04:59 PM |#4  
Thanks Meter: 0
Just some suggestions to avoid confusion when you run the command
 adb shell cat /dev/msm_rotator
you should get the return of
/dev/msm_rotator: invalid length
you do not need to enter in this line.

Also after entering
/data/local/tmp/fre3vo -debug -start FAA90000 -end FFFFFFFF
or one like it and it fails (It should not) you need to reboot the phone between these attempts.

Thanks for writing the guide! We just posted the log lol

Late side note: I've recently read an article on how root exploits are not credited to their original inventors. Just letting everyone know that agrabren should be credited as well for his work with Fr3v0, and his willingness to help during the process
Last edited by Cimer; 31st December 2011 at 08:37 PM.
The Following 3 Users Say Thank You to For This Useful Post: [ View ]
21st July 2011, 05:19 PM |#5  
Setherio's Avatar
OP Senior Member
Thanks Meter: 329
Thanks for the tips Cimer, I edited the post, hopefully that clarifies it a bit more.

I've been a quiet browser here on XDA for quite a while but I believe that was actually the first post I made =3 It took me a while to try to get it formatted... fluently / tried to make it easy to read and follow.

And hey, if it wasn't for you all posting the logs from #g2root, I would of never gotten my G2 back to being rooted. I think I had like 8 different pages open when I was doing it, reading the chat log, reviewing the pastebin data, et cetera. But it worked, after searching every day, the trick has been found.

On a side note, I picked the range "-start FAA90000 -end FFFFFFFF" because it appears that the exploit is most likely within that range. It was for yours "FBB47C00:1400", mine was "FBB4D600:A00", and a friend of mine was also an FBB*.
The Following 4 Users Say Thank You to Setherio For This Useful Post: [ View ]
21st July 2011, 06:12 PM |#6  
Senior Member
Flag Milan
Thanks Meter: 11
Does it work for the european desire Z ?
21st July 2011, 06:19 PM |#7  
Setherio's Avatar
OP Senior Member
Thanks Meter: 329
Originally Posted by ilbeppez

Does it work for the european desire Z ?

Personally, I have no idea. I don't imagine it would hurt the phone any if you tried. I know you would have to change the version number (when using misc_version) to a different number, one that would be equivalent to the stock rom that came with the phone. As for the exploit itself, I don't see any harm it could do to try (though I'm no expert). Just be sure to reboot your phone after each attempt of using fre3vo.
The Following 3 Users Say Thank You to Setherio For This Useful Post: [ View ]
21st July 2011, 06:41 PM |#8  
Thanks Meter: 0
Originally Posted by ilbeppez

Does it work for the european desire Z ?

Give me a second, Guhl made a post about this...

Should explain things for Desire Z users.
Last edited by Cimer; 21st July 2011 at 06:45 PM.
21st July 2011, 07:11 PM |#9  
Senior Member
Flag Milan
Thanks Meter: 11
Originally Posted by Cimer

Give me a second, Guhl made a post about this...

Should explain things for Desire Z users.

21st July 2011, 09:19 PM |#10  
vybzkartel's Avatar
Senior Member
Flag Coral Springs
Thanks Meter: 7
Thank you. I have been searching for this.
The Following User Says Thank You to vybzkartel For This Useful Post: [ View ]
22nd July 2011, 02:25 PM |#11  
Senior Member
Thanks Meter: 58
Setherio, please divide a section for 2.3.3 DZ owners. the appropriate for them is (md5 2ff42897cd27e0db425a2cf36c8bd078)
the mics_version command is: /data/local/tmp/misc_version -s 1.33.405.5
the push command is: adb push /sdcard/
Last edited by petarpLab; 22nd July 2011 at 03:22 PM.
The Following 3 Users Say Thank You to petarpLab For This Useful Post: [ View ]

Read More
Post Reply Subscribe to Thread

downgrade fastboot
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes