[One (M7) Android Development] vomer:
Welcome to VomerGuides: [M7 Edition]

Have an M8? There's a guide for that!

Hey folks!

Many of you will find this post similar to the ARHD posts I have made.

Based on several suggestions and PM's - I decided to make a separate thread in the hope that this will stop some repeated questions asked in multiple threads.

Following this guide will allow you to (in this sequence):

- Achieve S-OFF using revone

- Change your CID to SuperCID (allowing you to bypass regional ROM restrictions)

- Upgrade to the latest firmware (UL edition) without loosing any data on your SD card

- Install the latest TWRP recovery

Donations:

I do not believe that I should be charging for information sharing. However, having the physical hardware helps me improve this content and support you better as I do require hardware to test/work on for all my content and it's not always possible for me to find someone to borrow devices from.

If you would like to support my work donate to me via:

Thank you :)

Disclaimer & Copyrights:

I test everything before I share these guides - thus I know they work as intended. However, please proceed at your own risk as I do not take any liability for your devices.

Please do not copy contents of this guide without explicit permission from me. I like to maintain a set standard and quality of the information I share.

Please refrain from posting mirrors as I like to track downloads - I primarily use AndroidFileHost and they mirror files on multiple servers automatically.

Windows Users: It's a good idea to install the HTC drivers on your pc: http://d-h.st/4LL or use this toolkit to install the drivers.

READING & FOLLOWING EACH STEP IS KEY TO SUCCESS.

SECTION 0: SYSTEM PREPARATION:

First we need to get you ADB and fastboot

Windows Users

, download this file and extract the folder called "adb" to your C: drive. Your path should look like this:

C:\adb\

Also, you will need to open a command prompt window using this method:

Go to the C:\adb\ folder - hold down SHIFT key and RIGHT-CLICK and select "Open command window here".

Mac/Linux users

install ADB & fastboot using: Download

1. Extract the downloaded zip to your desktop

2. Open Terminal and type in:

su
cd Desktop/Android/ (note: Android is the directory extracted from zip file)

3. Now type

./ADB-Install-Mac.sh

Note: By using the method above, your adb and fastboot files are stored at this location on your Mac: /usr/bin/

SECTION 1: S-OFF & SUPERCID

Downloads Required:

- revone (hboot 1.44)

- rumrunner (hboot 1.5x)

Note: If you are running a 4.4 based ROM and do not want to downgrade to a lower version to use revone or rumrunner - try this tool to S-OFF

Note: revone (used for s-off) has been reported to work best with 4.2.2 roms. Please install a 4.2.2 ROM before attempting S-OFF.

Note: If you are using rumrunner - please follow the instructions to s-off provided on the rumrunner link above. Steps below are for revone only.

Note: Read these useful tips before attempting S-OFF

Mac/Linux users

: Save this file to your Desktop

Windows users

: Save this file to the C:/adb/ folder

Also, before continuing - make sure you have USB Debugging enabled on your phone (Settings -> Developer Options -> USB Debugging)

If you do not see "Developer Options", Go to Settings > About phone > Software > More > click on build number 10 times. This should enable that section.

Part 1

1. Push revone to your device:

Mac/Linux: adb push /Users/vomer/Desktop/revone /data/local/tmp/
Windows: adb push C:/adb/revone /data/local/tmp/

2. Open adb shell by writing:

adb shell
su

3. Write in the shell:

cd /data/local/tmp

4. Then write this:

chmod 755 revone

5. Next, write the following command:

./revone -P

6. Revone reported that I needed to reboot and try again. So I wrote :

reboot

[COLOR=Red][B]Note:[/B][/COLOR]
[B]Stuck with error: -1?[/B]

When initiating a reboot after "./revone -P" please press and hold the power button for 15 seconds.

To start the entire process from scratch please power off the device and wait 30 seconds, turn it on and continue to ."/revone -P".

7. Close your Command Prompt/Terminal window. Open it again and type:

adb shell
su

8. Write (to change directory in the phone):

cd /data/local/tmp

8a. Write the following command:

./revone -P (it will now say success and ask to reboot phone - do it by typing: reboot)

8b. Once rebooted - repeat steps 7 & 8

9. To get S-OFF & unlock, write the following command:

./revone -s 0 -u

10. revone will report success. Exit the shell:

exit (or just close terminal and open a new one)

11. Reboot into bootloader:

adb reboot bootloader

12. Check if the bootloader screen show's you as S-OFF (it should be in the in the first line under the "pink" highlighted text)

13. Reboot the phone

14. Start the adb shell, again:

adb shell

15. Change to the folder where revone is stored by typing:

cd /data/local/tmp

16. Request revone to reset tampered flag by typing:

./revone -t

17. Exit the adb shell by writing: exit (or just close terminal and open a new one)

18. Reboot to the bootloader by writing:

adb reboot bootloader

19. Phone should now be S-OFF and tampered flag should be gone :svetius:

Now stay at this bootloader screen with your phone plugged in to the PC - and follow the steps in Part 2 below.

Part 2

Now lets get you SuperCID:

1. Open terminal/command prompt and type (copy paste command below or make sure there a eight 1's):

fastboot oem writecid 11111111

2. Reboot phone into bootloader mode (by typing: adb reboot bootloader) and verify CID#. It should look similar to this:

SECTION 2: FIRMWARE UPGRADE

FIRMWARE FAQ:

Q: Do I need S-OFF for firmware flashing?

A: YES!

Q: Do I NEED to update my firmware?

A: NO! But doing so ensures optimal phone performance.

Q: Does it matter when I flash the firmware (before or after new ROM install)

A: NO!

Q: Will updating the firmware erase my SD card or Apps?

A: NO! The firmware files provided in this guide take care of this for you so none of those get erased.

Q: If I only flash the ROM, will I get updated to the latest firmware?

A: NO!

Q: Can I install a U edition firmware on a UL edition phone?

A: YES, but you might loose the ability to connect to LTE or have some other incompatibilities.

FIRMWARE FLASHING:

Firmware Downloads (SD card will not be wiped using these files):

4.2.2 Base Firmwares:

-

2.17.401.1

: http://d-h.st/PJv (Rename to firmware.zip after downloading)

-

2.24.401.1

: http://d-h.st/WO9 (Rename to firmware.zip after downloading)

-

2.24.401.8

: http://d-h.st/qPT (Rename to firmware.zip after downloading) *LATEST*

4.3 Base Firmwares:

-

3.06.1700.10

: http://d-h.st/maA (Rename to firmware.zip after downloading)

-

3.09.401.1

: http://d-h.st/PSE (Rename to firmware.zip after downloading)

-

3.17.401.2

: http://d-h.st/bgE (Rename to firmware.zip after downloading)

-

3.22.1540.1

: http://d-h.st/LLO (Rename to firmware.zip after downloading)

-

3.57.401.500

: http://d-h.st/z6g (Rename to firmware.zip after downloading)

-

3.62.401.1

: http://d-h.st/in6 (Rename to firmware.zip after downloading) *LATEST*

4.4 Base

- 4.06.1540.2 (Rename to firmware.zip after downloading)

- 4.06.1540.3 (Rename to firmware.zip after downloading)

- 4.19.401.8 (Rename to firmware.zip after downloading)

- 4.19.401.9 (Rename to firmware.zip after downloading)

- 4.19.401.11 (Rename to firmware.zip after downloading)

- 5.11.1540.9 (Rename to firmware.zip after downloading)

- 5.11.401.10 (Rename to firmware.zip after downloading)

- 6.06.401.1 (Rename to firmware.zip after downloading)

- 6.09.401.5 (Rename to firmware.zip after downloading)

- 6.09.401.10 (Rename to firmware.zip after downloading) *LATEST*

-----

Windows users, you need to do these steps first:

- move the file you downloaded and renamed (firmware.zip) to the C:\adb\ folder.

- next, in the C:\adb\ folder hold down SHIFT key and RIGHT-CLICK and select "Open command window here".

-----

First, plug in phone to PC and type this in terminal/command prompt:

adb reboot bootloader

-----

Let's start by checking current system details. Type:

fastboot getvar all

(bootloader) version: 0.5
(bootloader) version-bootloader: 1.44.0000 [COLOR=Red][B]< This is your bootloader version[/B][/COLOR]
(bootloader) version-baseband: 4A.16.3250.24 [COLOR=Red][B]< This is your radio version[/B][/COLOR]
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main: 1.29.666.17 [COLOR=Red][B]< This is your firmware version[/B][/COLOR]
(bootloader) version-misc: PVT SHIP S-OFF
(bootloader) serialno: <you don't need to know my serial#>
(bootloader) imei: <you don't need to know my IMEI>
(bootloader) meid: 00000000000000
(bootloader) product: m7_ul
(bootloader) platform: HBOOT-8064
(bootloader) modelid: PN0712000
(bootloader) cidnum: 11111111 [COLOR=Red][B]< This is your CID[/B][/COLOR]
(bootloader) battery-status: good
(bootloader) battery-voltage: 4077mV
(bootloader) partition-layout: Generic
(bootloader) security: off
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT

Now type:

fastboot reboot-bootloader

After that, type:

fastboot oem rebootRUU

Note: You should see a silver HTC logo come up on your phone after executing this command.
Note: if this command freezes, just disconnect the USB cable and hold the power and volume down buttons until the device reboots. Then, repeat the steps above again.

Finally:

fastboot flash zip /Users/vomer/Desktop/firmware.zip

Windows users: your command will look something like this: fastboot flash zip C:\adb\firmware.zip

Got this:

sending 'zip' (71868 KB)...
OKAY [ 4.936s]
writing 'zip'...
(bootloader) zip header checking...
(bootloader) zip info parsing...
(bootloader) checking model ID...
(bootloader) checking custom ID...
(bootloader) start image[hboot] unzipping for pre-update check...
(bootloader) start image[hboot] flushing...
(bootloader) [RUU]WP,hboot,0
(bootloader) [RUU]WP,hboot,99
(bootloader) [RUU]WP,hboot,100
(bootloader) ...... Successful
FAILED (remote: 90 hboot pre-update! please flush image again immediately)
finished. total time: 6.410s

Repeated same command:

fastboot flash zip /Users/vomer/Desktop/firmware.zip

Got this:

sending 'zip' (71868 KB)...
OKAY [ 4.884s]
writing 'zip'...
(bootloader) zip header checking...
(bootloader) zip info parsing...
(bootloader) checking model ID...
(bootloader) checking custom ID...
(bootloader) start image[adsp] unzipping & flushing...
(bootloader) [RUU]WP,adsp,0
(bootloader) [RUU]WP,adsp,100
(bootloader) ...... Successful
(bootloader) start image[cir] unzipping & flushing...
(bootloader) ...... Successful
(bootloader) start image[rpm] unzipping & flushing...
(bootloader) [RUU]WP,rpm,0
(bootloader) [RUU]WP,rpm,100
(bootloader) ...... Successful
(bootloader) start image[sbl1-1] unzipping & flushing...
(bootloader) signature checking...
(bootloader) verified fail
(bootloader) ..... Bypassed
(bootloader) start image[sbl1-2] unzipping & flushing...
(bootloader) signature checking...
(bootloader) verified fail
(bootloader) ..... Bypassed
(bootloader) start image[sbl1-3] unzipping & flushing...
(bootloader) signature checking...
(bootloader) [RUU]WP,sbl1-3,0
(bootloader) [RUU]WP,sbl1-3,100
(bootloader) ...... Successful
(bootloader) start image[sbl2] unzipping & flushing...
(bootloader) [RUU]WP,sbl2,0
(bootloader) [RUU]WP,sbl2,100
(bootloader) ...... Successful
(bootloader) start image[sbl3] unzipping & flushing...
(bootloader) [RUU]WP,sbl3,0
(bootloader) [RUU]WP,sbl3,100
(bootloader) ...... Successful
(bootloader) start image[tp] unzipping & flushing...
(bootloader) ...... Successful
(bootloader) start image[tz] unzipping & flushing...
(bootloader) [RUU]WP,tz,0
(bootloader) [RUU]WP,tz,100
(bootloader) ...... Successful
(bootloader) start image[radio] unzipping & flushing...
(bootloader) [RUU]WP,radio,0
(bootloader) [RUU]WP,radio,26
(bootloader) [RUU]WP,radio,53
(bootloader) [RUU]WP,radio,79
(bootloader) [RUU]WP,radio,100
(bootloader) ...... Successful
OKAY [ 39.601s]
finished. total time: 44.485s

Note: On my phone's screen the green bar did not go to 100% of the bar ... but everything seemed ok so I moved on.

Last Step:

fastboot reboot

Then I went back to the bootloader mode (after the phone reboots successfully):

adb reboot bootloader

Checked if the update worked:

fastboot getvar all

(bootloader) version: 0.5
(bootloader) version-bootloader: 1.54.0000 [COLOR=Red][B]< Looks New![/B][/COLOR]
(bootloader) version-baseband: 4A.17.3250.14 [COLOR=Red][B]< Looks New![/B][/COLOR]
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main: 2.24.401.1 [COLOR=Red][B]< Looks New![/B][/COLOR]
(bootloader) version-misc: PVT SHIP S-OFF
(bootloader) serialno: you don't need to know my serial#
(bootloader) imei: you don't need to know my IMEI#
(bootloader) meid: 00000000000000
(bootloader) product: m7_ul
(bootloader) platform: HBOOT-8064
(bootloader) modelid: PN0712000
(bootloader) cidnum: 11111111 [COLOR=Red][B]< Oh Look! I'm Superman :) [/B][/COLOR]
(bootloader) battery-status: good
(bootloader) battery-voltage: 4331mV
(bootloader) partition-layout: Generic
(bootloader) security: off
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT
(bootloader) commitno-bootloader: dirty-d16dc66985
(bootloader) hbootpreupdate: 11
(bootloader) gencheckpt: 0
all: Done!
finished. total time: 0.061s

SECTION 3: RECOVERY

Note: I personally prefer TWRP - so my guide below points to using TWRP.

If you like CWM, you can follow the same steps but with the latest CWM file.

----

Get latest TWRP: http://techerrata.com/browse/twrp2/m7ul

With your phone plugged into your PC, type in:

adb reboot bootloader

Once in bootloader mode, type:

Mac/Linux: fastboot flash recovery /Users/vomer/Desktop/openrecovery-twrp-2.6.1.0-m7.img
Windows: fastboot flash recovery C:\adb\openrecovery-twrp-2.6.1.0-m7.img

Then:

fastboot reboot

You are now the the latest version of TWRP.

----

That's it! Enjoy your new found freedom ;)