[One (M9) Android Development] Sneakyghost:
​

This thread is meant for S-OFF phones. People not having their security OFF please refer to HTC RUU methods or “Stock Backup and OTA” method.

Read from top to bottom. No skipping of stuff or you will be confused.

Notice:

​

Files posted in this thread, which are not added to the first 4 posts should be considered source-material for my work. Flashing them means you know what you do. I only accept some limited responsibility for the files i add to the first 4 posts, because that means they flashed fine on my phone or on trusted peoples phones. However, I encourage people to send me files to work with. I am not able to search all over the Internet for source files myself. If you want some NoWipe or FullWipe firmware package added, send me the original untouched HTC base files required.

This thread serves the purpose of providing both Firmware files and reliable information for safe flashing. The main aspect of this thread is information gathering, processing and presentation for you, the user, to learn how to work with firmware and establish a solid base knowledge, so you can act more independently.

Many custom ROM Teams cannot cope with supporting the entire firmware upgrading procedure. This is something the user usually needs to figure out himself. So, I also see my task as a Team Venom member to provide the information necessary to enable you to learn all this. Of course this is not only suitable for Venom ROM’s.. Its pretty general stuff.

The safest way is still HTC’s RUU and OTA system, yet HTC is not providing RUU’s for the international version, so my files are the best option here. Carrier Version RUU’s can be accessed via HTC’s US Support Site. Select your device and then click on “News and Alerts” at the top of your device’s site - usually, there will be a RUU for Dev/Unlocked (617), Sprint (651), AT&T (502) and T-Mobile US (531). RUU’s are superior to other flashing methods because they carry a tested combination of partition images and the method itself is also known to work well. Also, RUU’s do always reassure you that there is a guaranteed and safe way to go back (psychological advantage).

If you happen to get access to an international RUU, share it with Alex, or me please. RUU’s are hosted on androidruu.com by Alex from Androidfilehost.com within a short time after being made available to him. Hit him up on Twitter with a link and ask him to add it or send it to me and i will! I have a direct channel to AFH and can see to it quickly.

I consider this rather important because androidruu.com is only providing a plattform - it is only as good as our community based additions. There is no secret RUU leaker behind it. It has what we have and organizes that in one place and provides an archive to old stuff. So, we are in charge of looking after it.​

Other than that, we are mostly stuck with RUU components, usually OTA packages. OTA’s usually depend on a certain Firmware version to be already installed, OTA’s only update parts - they are “incremental”. If you happen to skip an update, you might not get all partitions updated correctly and end up with incompatible partitions, which might (worst case scenario) lead to a brick. I am trying to circumvent this problem with my FULL ZIP packages - with these you can safely jump from a very old firmware right up to the newest.

There are several methods to flash Firmware. The “SDCard Method” can be considered the fastest and most suitable for people without a PC. However, I mistrust it because I mistrust SDCards (much experience). Then there is the “RUU Method” which I have altered to a “FUU Method” in the past - It is simple and safe. However, it kept people from learning how to use fastboot and I don’t condone that anymore. For ROM support I need users who are capable to deal with Fastboot and ADB. So, this thread will deal with the “Fastboot Method”. The “FUU” can still be had and used from my Batch Tool in Post #4 though. I just won’t fuss around with it much.

ZIP Variants provided here:

​

Full Stock WIPE ZIPs:

Nothing removed

- Everything stock! This type of zip also re-flashes the /data partition with HTC’s DZDATA files (meaning you loose everything on your internal SDCARD). Also replaces the Kernel, Ramdisk, recovery and Splash1 with latest stock images! The /system partition will not be touched. (Else this would be a RUU.zip). It also includes the “Apppreload.img” with all the carrier-bloatware.

Be sure to put a ROM onto your EXTERNAL SD before proceeding with a Full WIPE ZIP! Else you can also ADB push a ROM in recovery mode after fastboot reflashing a recovery. The newer TWRP variants also support a normal MTP connection and might support USB mass storage at a later stage. Phone will NOT boot without ROM reflash after using this!

NoWipe ZIPs:

This package is

modified

. This type of ZIP updates basic Firmware partitions, does not touch the /data partition, leaves kernel, splash and ramdisk (in order to support custom ROM’s modifying ramdisk) alone. The “Apppreload.img is removed, the bloatware partition will remain unchanged (to remove bloat permanently flash Apppreload.img from International/WWE/401). Recovery will be replaced with the current TWRP. Phone will boot normally after using this.

And what you won’t get here (fine print):

Since this is a Firmware Update Thread and not a ROM thread, you do NOT EVER get a ROM (a.k.a “System.img” or plain: “System” here. You understand and agree that you cannot have this from me. You also acknowledge that I cannot be blamed for your non-booting phone due to you not reading or not understanding this.​

I will cover GSM PHONES ONLY - no cdma / sprint firmware except when i wish to do otherwise :D​

Firmware ZIP Flash HowTo

​

Prerequisites:

You need ADB and Fastboot on your PC. To get ADB and Fastboot up and running I strongly suggest you use my “Batch Tool” setup, because it contains an updated htc_fastboot, which is 100% working with the M9 . This is important: the generic Google fastboot from SDK API Level 22 (latest at time of writing) is NOT FULLY COMPATIBLE. Update December 2015: seems there still are problems with Google Fastboot from API Level 24. You’ll still need the htc_fastboot.exe.

The ZIPs provided here are also repackaged, meaning not compatible with HTC Security, meaning you need S-OFF. Like stated at the top already. However, the method itself can be applied to HTC signed zips too, those could then be flashed to S-ON phones when certain conditions are met.

Step-By-Step:

​

1.

If device is booted into Android, reboot into download mode by running:

adb reboot download

NOTICE: adb reboot download is new on the M9 for those who come from earlier HTC devices - zips can be flashed in download mode or RUUMode, both work. The on-screen status report is more detailed in download mode. This making it the preferred flashing mode for now.

1.a

Or else, if your device is in a different state or you just prefer the button method:

Press Power for 15 seconds and hold VolUP at the same time, when the screen and charging LED go dark immediately slide your finger down to VolDown until you see the bootloader screen. Notice: First VolUp, then VolDown as soon as the screen goes dark (and you hear the windows connection sound if your phone is hooked up). Then use the VolUp and VolDown buttons to navigate to “Download Mode” and then press Power to confirm.

2. Now place the Firmware_xx.zip into your adb/fastboot folder (which will be "C:Androidcom" if you use my Batch Tool).

2a.

This is optional - see my notice above:

Type

fastboot oem rebootRUU

3.

Followed by:

fastboot flash zip Firmware_xx.zip

(replace "Firmware_xx.zip" with the name of your zip)

4.

Now check the console output. It should approximately look like this log:

NOTICE: this flash log is taken from a FULL RUU flash on my M9, when you repeat this process, there will be several images missing in your flash, like first and foremost System.img won’t turn up in your log, obviously, since we do not include System. New is also that the checking routine is way more sophisticated and Controller Firmware for e.g. the touch panel or the Infra Red Remote and the like do NOT get flashed if the checks determine that they are already up-to-date. Images that do not get flashed show “BYPASSED”.

Important: When flashing in RUUMode, the flash process halts at around 90% on phone screen! This is normal and a safety precaution! The last few percent is the reboot, which is NOT happening automatically, so you get a chance to check the console output to make sure it is safe to reboot! The bar will only fill up to 100% once you type:

Important: This is not valid for Download Mode flashes - those finish at 100% on phone screen and in console and ask you to hit Power to return to Download Mode screen.

IF you encounter any errors which are not “FAIL90”, have a look into Post #3 or ask in the thread! DO NOT REBOOT THE DEVICE!

5.

fastboot reboot-bootloader

or press Power to return to Download Mode screen - depending on the mode you used to flash the zip.​

Recent additions​

I usually don't provide untested zips, still, you flash at your own risk. Not everything was tested by myself. You're writing to

critical

parts of your phone. If anything goes wrong along the way, your phone might be

bricked

.​

Credits​

Thanks @Herwegan, who has been supporting my thread on the M7 for a good year and sadly decided to withdraw from XDA short.

ly after starting here with the M9. Also i would like to express my deepest gratitude to Team Venom, who aren't only good friends but also let me use their graphical stuff as base for my own stuff. Thank you!

Lately, the biggest props go out to @nkk71 and @captainthrowback because of their fantastic script that makes running bruutveal and ruuveal so much easier. Thank you so much for saving me a ton of time and helping users do their own firmware packages! That is quite an example you set there for the community!

Disclaimer​

You are aware that writing to the security protected partitions increases your risk to lose the device exponentially. You understand and agree that I cannot be held responsible for such or any other damages. The flash process is theoretically safe and tested on various phones once a file has been posted to the first page, however you are the brains behind the wheel and you are solely responsible for the execution of the process. I will not accept any responsibility. The method itself is developed by Google and HTC, I only provide access and information to it.

You understand that you should not do it if you are not willing to accept this risk.​

XDA:DevDB Information

S-OFF Firmware flashing (Fastboot), Tool/Utility for the HTC One (M9)

Contributors

Sneakyghost, nkk71

Version Information

Status: Testing

Stable Release Date: 2016-12-27

Current Beta Version: 4.28.401.3

Beta Release Date: 2017-04-06

Created 2015-04-07

Last Updated 2017-04-06