[2017.10.08] Fastboot flashing and Firmware [Latest: Unlocked 2.51.617.21]

Search This thread

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Post_Header_Sneakyghost_FIRMWARE.png

FIRST THINGS FIRST:
  • This is for GSM PHONES which have been set S-OFF - no CDMA (Sprint & Verizon) here! S-ON people: Please refer to HTC RUU methods or "Stock Backup and OTA" method. (not provided here).
  • Read from top to bottom. No skipping of stuff or you will be confused.
  • I cannot accept any liability and/or responsibility for these firmware packs. I am not able to go through the time consuming process of testing each pack, hence community members are called to test these on their own. I am gladly accepting constructive feedback.

Purpose of this thread:
  • Suitable methods for flashing firmware when S-OFF.
  • Error handling strategies - collection of known errors and their meanings (Post 3).
  • Reliable background information for safe flashing (Post 5 mainly).
  • Providing FULL, non-incremental firmware files (Post 2) to update coming from ANY version (applies to my FullStock as well as NoWipe packs!).
  • Providing a simple ADB environment with a basic batch script (Post 4)


Flashing methods:
  • The safest way is still HTCs RUU and OTA method. US RUUs can be accessed via HTC's US Support Site. Jump to your device, then click "View" and scroll down for the download-link. The page has Dev/Unlocked (617), Sprint (651), AT&T (502) and T-Mobile US (531) covered. RUU's are superior to other flashing methods because they carry lab tested combinations of partition images and the method itself is also known to work well (plus the psychological advantage).
    Other than HTC's original OTA's which are "incremental", My packages are always FULL packages (applies to my NoWipe as well! It can also be considered a FULL update as opposed to incremental) - with these you can safely jump from a very old firmware right up to the newest. Following this original RUU / OTA method, come the methods most suitable for my packs:
  • My preferred method is the "Fastboot method", which needs a PC or Mac or Linux computer. I will be detailing how to fastboot flash firmware further down.
  • The "SDCard Method" can be considered the fastest and most suitable for people without a PC. I will be detailing how to SDCard flash firmware further down.

An explainer to the ZIP variants provided here:
  • Full Stock WIPE ZIPs:
    NOTICE: FullStock zips currently permanently break the phones ability to receive HTC stock OTA's - to restore your OTA functionality, refer to post #5 for more information!
    Only System removed (and encryption broken) - Everything else 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, 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 (WWE has no bloat in there!).
    Be sure to put a ROM onto your EXTERNAL SD before proceeding with a Full WIPE ZIP! If you forgot to put a zip on your sdcard: you can reflash TWRP with Fastboot (use my batch tool) and then choose between ADB file push, MTP transfer or even USB mass storage transfer mode. Last but not least you can take out the sdcard and use a card-reader with your computer. Phone will NOT boot without ROM reflash after using this!
  • NoWipe ZIPs:
    These packages are 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 already existing bloat permanently flash apppreload.img from International/WWE/401, it is an empty image). Recovery will be replaced with the current TWRP. Phone should in most cases 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. You may find stock system backups here


How to flash firmware.zip's using fastboot

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 HTC 10 . This is important: the generic Google fastboot from SDK API Level 24 (latest at time of writing) is NOT FULLY COMPATIBLE.

The method outlined here does apply to my zips as well as HTC signed zips. The difference is, that for my zips, S-OFF is mandatory, while HTC signed zips can under certain conditions also be flashed to S-ON phones, however, different prerequisites and risks apply there. I will not cover HTC signed zips here as they are fundamentally different in some aspects while the flashing method remains the same.

Note: use "htc_fastboot" with my batch tool. If you use another ADB/Fastboot set, it will probably be Google Fastboot and then the commands should be starting with "fastboot".


Step-By-Step:
1. If device is booted into Android, reboot into download mode by running:
Code:
adb reboot download

NOTICE: adb reboot download is new since 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:
In Android: Press and hold Power and VolDown at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power, keep holding VolDown a little longer.
During Boot and sometimes when booted into Recovery: Press and hold Power, VolDown and VolUp at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power and VolUp, keep holding VolDown a little longer.

When in download mode, use the VolUp and VolDown buttons to navigate up and down and use Power to confirm.

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

3. Followed by:
Code:
htc_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 NoWipe (not all images included) flash on my HTC 10. New is also (compared to M7, M8) that the checking routine is way more sophisticated and Controller Firmware for e.g. the touch panel or the Infra Red Remote (One Series only, not available on the HTC10) 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", which is NOT an error.

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Android\com>htc_fastboot flash zip rom.zip
htc_fastboot v3.0.9.2 (2015-05-29)
target reported max download size of 800000000 bytes
sending 'zip' (85525 KB)...
OKAY [ 4.307s]
writing 'zip'...
(bootloader) HOSD CL#738269
(bootloader) GPT is up-to-dated. [17408]
(bootloader) Perform pre-update
(bootloader) start@32
(bootloader) aboot_signed.img@100%
(bootloader) adsp.img@BYPASS
(bootloader) apdp-8996-1.img@BYPASS
(bootloader) cache.img@BYPASS
(bootloader) cmnlib32.img@100%
(bootloader) cmnlib64.img@100%
(bootloader) cota.img@BYPASS
(bootloader) cs_CY8C.img@BYPASS
(bootloader) devcfg-8996-1.img@100%
(bootloader) dsp.img@BYPASS
(bootloader) fsc.img@BYPASS
(bootloader) hosd_signed.img@100%
(bootloader) hyp-8996-1.img@100%
(bootloader) keymaster.img@100%
(bootloader) lksecapp.img@100%
(bootloader) modemst1.img@BYPASS
(bootloader) modemst2.img@BYPASS
(bootloader) pg2fs_ship_signkey.img@BYPASS
(bootloader) pmic-8996-1.img@100%
(bootloader) rcdata.img@BYPASS
(bootloader) recovery.img@BYPASS
(bootloader) rfg_3.img@BYPASS
(bootloader) rpm-8996-1.img@100%
(bootloader) sensor_hub.img@BYPASS
(bootloader) slpi.img@BYPASS
(bootloader) tp_SYN3708.img@BYPASS
(bootloader) tz-8996-1.img@100%
(bootloader) usb_typec.img@BYPASS
(bootloader) usb_typec_otp.img@BYPASS
(bootloader) venus.img@BYPASS
(bootloader) xbl-8996-1.img@100%
(bootloader) radio.img@BYPASS
FAILED (remote: 90 hboot pre-update! please flush image again immediately )
finished. total time: 6.004s
htc_fastboot finished. total time: 6.110s

C:\Android\com>htc_fastboot flash zip rom.zip
htc_fastboot v3.0.9.2 (2015-05-29)
target reported max download size of 800000000 bytes
sending 'zip' (85525 KB)...
OKAY [ 5.312s]
writing 'zip'...
(bootloader) HOSD CL#738269
(bootloader) GPT is up-to-dated. [17408]
(bootloader) start@32
(bootloader) aboot_signed.img@100%
(bootloader) adsp.img@100%
(bootloader) apdp-8996-1.img@100%
(bootloader) cache.img@100%
(bootloader) cmnlib32.img@100%
(bootloader) cmnlib64.img@100%
(bootloader) cota.img@100%
(bootloader) devcfg-8996-1.img@100%
(bootloader) dsp.img@100%
(bootloader) fsc.img@100%
(bootloader) cs_CY8C.img@BYPASS
(bootloader) hosd_signed.img@100%
(bootloader) hyp-8996-1.img@100%
(bootloader) keymaster.img@100%
(bootloader) lksecapp.img@100%
(bootloader) modemst1.img@100%
(bootloader) modemst2.img@100%
(bootloader) pg2fs_ship_signkey.img@100%
(bootloader) pmic-8996-1.img@100%
(bootloader) rcdata.img@100%
(bootloader) recovery.img@100%
(bootloader) rfg_3.img@100%
(bootloader) rpm-8996-1.img@100%
(bootloader) slpi.img@100%
(bootloader) tz-8996-1.img@100%
(bootloader) venus.img@100%
(bootloader) xbl-8996-1.img@100%
(bootloader) radio.img@100%
(bootloader) sensor_hub.img@BYPASS
(bootloader) tp_SYN3708.img@BYPASS
(bootloader) usb_typec.img@BYPASS
(bootloader) usb_typec_otp.img@BYPASS
(bootloader) Update zip file OK
(bootloader) end@Done
OKAY [ 15.235s]
finished. total time: 20.547s
htc_fastboot finished. total time: 25.326s

C:\Android\com>


Important: Should you decide to flash in RUUMode (instead of Download Mode like suggested further up), 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:
Code:
htc_fastboot  reboot
Important: Download Mode flashes 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 until you have an idea what happened!

5a.
Code:
htc_fastboot reboot-bootloader
or press Power to return to Download Mode screen - depending on the mode you used to flash the zip. In Download Mode and Bootloader you can go to either regular reboot or shut-down the device via button navigation.

5b. Optional:
Code:
htc_fastboot reboot
to just reboot the phone to Android.​



How to flash firmware using SDCard Method
Prerequisites:
  • Compatible SDCard, should be formatted with FAT32 for older firmware, newer firmware can also handle ExtFS formatted cards.
  • A firmware.zip you would like to flash, taken from Post #2 (Downloads)
  • Phone charged up at least 30% (will fail with low power warning if lower than 30%)

Step-By-Step:
1. Rename your firmware.zip to exactly "2PS6IMG.zip" - make sure you enable "show file extensions" in Windows Explorer, if you rename it on your PC. Else you might end up with a "2PS6IMG.zip.zip" which won't flash.

2. Copy your "2PS6IMG.zip" over to the root of your SDCard. Use a cardreader, or MTP protocol in Android or Recovery, or USB Mass Storage protocol in Recovery, or ADB push the file in Android or Recovery - many methods available.

3. Now, if device is booted into Android, reboot into download mode by running:
Code:
adb reboot download

3.a Or else, if your device is in a different state or you just prefer the button method:
In Android: Press and hold Power and VolDown at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power, keep holding VolDown a little longer.
During Boot and sometimes when booted into Recovery: Press and hold Power, VolDown and VolUp at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power and VolUp, keep holding VolDown a little longer.

4. Once Download Mode starts, it will "see" the 2PS6IMG.zip and ask you (yellow text at bottom of screen) if you want to flash the firmware. Press VolUp to confirm and proceed with the flash, or press VolDown to cancel and continue into Download Mode UI.


5. Now check the screen while it flashes. It should stop at "end UI updating. Press Power to continue" - the phone will now shut off! To turn it back on, press and briefly hold power again.
 
Last edited:

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Downloads

Post_Header_Sneakyghost_DOWNLOADS.png
Recent additions
Please remember: you're writing to boot-critical parts of your phone. If anything goes wrong along the way, your phone might be bricked.
  • PMEWL_2.51.617.21_Unlocked_FullStock
  • PMEWL_2.51.617.21_Unlocked_TWRP3110_NoWipe
  • PMEWL_2.51.531.21_Unlocked_FullStock
  • PMEWL_2.51.531.21_Unlocked_TWRP3110_NoWipe
  • PMEWL_2.51.617.11_Unlocked_FullStock
  • PMEWL_2.51.617.11_Unlocked_TWRP3110_NoWipe
  • PMEWL_2.51.617.1_Unlocked_FullStock
  • PMEWL_2.51.617.1_Unlocked_TWRP3110_NoWipe
  • PMEWL_2.50.617.2_Unlocked_FullStock
  • PMEWL_2.50.617.2_Unlocked_NoWipe_TWRP3110
  • PMEUHL_2.48.841.3_TELSTRA_FullStock
  • PMEUHL_2.48.841.3_TELSTRA_NoWipe_TWRP3110
  • PMEUHL_2.41.401.41_WWE_FullStock
  • PMEUHL_2.41.401.41_WWE_TWRP3110_NoWipe
  • PMEUL_2.41.531.44_TMUS_FullStock
  • PMEUL_2.41.531.44_TMUS_NoWipe_TWRP3110
  • PMEWL_2.46.617.2_Unlocked_FullStock
  • PMEWL_2.46.617.2_Unlocked_TWRP3101_NoWipe
  • PMEUHL_2.41.401.4_WWE_FullStock
  • PMEUHL_2.41.401.4_WWE_TWRP3030_NoWipe
  • PMEWL_2.41.617.3_Unlocked_FullStock
  • PMEWL_2.41.617.3_Unlocked_TWRP3030_NoWipe
  • PMEUHL_1.92.709.1_Asia-TW_FullStock
  • PMEUHL_1.92.709.1_Asia-TW_TWRP3030_NoWipe
  • PMEUHL_1.98.709.5_R_Asia-TW_FullStock
  • PMEUHL_1.98.709.5_R_Asia-TW_TWRP3030_NoWipe
  • PMEUHL_2.41.709.3_Asia-TW_FullStock
  • PMEUHL_2.41.709.3_Asia-TW_NoWipe_TWRP3030
  • PMEUL_2.37.531.5_TMUS_FullStock
  • PMEUL_2.37.531.5_TMUS_NoWipe_TWRP3030
  • PMEUHL_2.28.401.9_WWE_TWRP3027_NoWipe
  • PMEUHL_2.28.401.6_WWE_TWRP3027_NoWipe
  • PMEWL_2.28.617.8_Unlocked_TWRP3027_NoWipe
  • PMEUHL_2.28.401.9_WWE_FullStock
  • PMEUHL_2.28.401.6_WWE_FullStock
  • PMEWL_2.28.617.8_Unlocked_FullStock

Download

Notice:

  • The WWE/401 versions are usually tested by me before release. US Unlocked / 617 is usually tested by at least someone from Venom Beta. Other zips will be flagged completely untested when applicable. Please keep a lookout for my "Notes" in the release posts so you know whether or not a specific zip was tested!
  • REQUESTS: If you want some NoWipe or FullWipe firmware package added, send me the original untouched HTC base files required, either on thread (preferred) or via PM.

Credits

I have long lost track of my firmware sources. I am sorry i cannot name you guys all personally. The most common source would be @LlabTooFeR, @djluisbento, @AndroidFileHost (androidruu.com) HTCDev and some occasional random sources that come and go.
I would also 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 @Captain_Throwback
because of their fantastic script that makes running Unruu, 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!
And last but not least: without the work of Team SunShine, firmware flashing like this wouldn’t be possible! Not to be forgotten!
If you find your stuff here and want to be included in the credits please contact me. I am very grateful for everyone busy providing dumps and direct leaks.


Disclaimer

You are aware that writing to security protected, boot-critical 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 well tested, however you are the brains behind the wheel and you are solely responsible for the execution of the process. I will not accept any liability. The method itself is developed by Google and HTC, I only provide access and information to it and I am trying my best to make it understandable and simple. Do not use this if you have difficulties understanding what this is!

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

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Error handling on the HTC10

Post_Header_Sneakyghost_ERROR.png

NOTICE: I am looking for contributions (Got an error number not on list nor not fitting description? Post it with the full output of your command window).

If it says "FAILED" do NOT immediately reboot the device If you reboot with a FAIL your device could brick! If no flash is being accepted you have to find out what is causing the malfunction before rebooting your phone. Keep it alive while trying to figure out the error. It might be your cable, your USB ports (don’t use hubs! Always direct-mainboard connections), it might be USB 3.0 or even USB 3.1 causing this, it might be bad configuration of your ADB and Fastboot...
The least dangerous FAILED messages are listed below and are safe to reboot (below this section you find CRITICAL errors, please observe):

Safe to reboot / Flash didn't happen Errors (if you encounter one of them, you can just reboot. Nothing changed):


- 7 RU_CID_FAIL: Obvious, isn’t it? Check that you have SuperCID or that the file you want to flash has matching CID’s in its android-info.txt.
- 10 RU_MODELID_FAIL (MID in android-info.txt does not match phone’s MID)
- 12 signature fail - phone expects a HTC signature and finds none or a wrong one.
- 22 RU_HEADER_ERROR (usually something wrong with your zip)
- 23 parsing image fail (means something wrong with the image in the zip)
- 24 android-info fail (means something wrong with android-info.txt in the zip)
- 32 header error (means the zip couldn't be read and unzipped properly) (seems same as error 22!)
- 33 Error is not yet clear - will be updated when more evidence. Occurs when an image cannot be written to NAND. This is a BAD fail! It -might- indicate hardware failure, and if it cannot be fixed by several re-flashes, it likely is hardware indeed...
- 35 FAILED (remote: 35 RU_PARTITION_NOT_SUPPORT <PartitionName>) - means you can’t flash a plain image in Download Mode - needs to be done in Bootloader mode.
- 41 Wrong Model ID (means its not the right device)
- 42 Wrong Customer ID (wrong CID means you gotta swap CID first as explained below)
- 90 pre-update FAIL (means it only flashed aboot and you have to run the process again immediately to flash all other partitions). The newer htc_fastboot.exe now auto-reboots on Error 90! If it tries to boot to your Android System, force it back into download mode - the flashing process will continue again by itself. If it doesn't auto-commence, restart the flashing process as in Step 3.
- 99 UNKNOWN usually indicates you are S-ON, sometimes other Security related issues.
- 130 wrong model ID (seems its the same as 41, just that it shows in the RUU as 130.
- 155 seems to indicate different things. It can mean: 1.) You need to relock bootloader (If S-ON); 2.) You cannot run the RUU because the software versions of ROM, Firmware and RUU don’t match.
- 170 Check USB - RUU won’t run because of not working ADB.
- 171 USB Error - lately happens all the time when the RUU reboots the phone to Download - it is for some reason losing connection and making a RUU flash virtually impossible at this time. There is an incompatibility between USB 3/3.1 and Fastboot/ADB, as well as an issue with Windows Device Detection on the newer Windows 10 builds.​

In fact, if it aborts before the "(bootloader) start image[hboot] unzipping & flushing..." line it actually didn't write anything and you can probably just reboot. If you see it flashing stuff though (the stages after that line) and then it stops with a FAILED, chances are a little higher that something is now broken. In that case do NOT reboot but do as i said above.


For Error “7 RU_CID_FAIL” do:
- Make your phone have SuperCID (htc_fastboot oem writecid 11111111)
- Or: edit android-info.txt inside the zip to have your phone’s CID in its list, follow instructions in post #5

For Error “10 RU_MODELID_FAIL” do:
- check that the Model ID in android-info.txt matches your phone’s Model ID.
Typically, making your phone “SuperCID” makes it ignore CID and MID mismatches alike. However, lately we have noticed HTC has changed that behavior. MID mismatches are not ignored by SuperCID anymore. You will need to unzip my firmware package, change the MID in there to your MID and rezip it. Or, alternatively, change your phone’s MID, which is a bit trickier.
To un- and re-zip, please refer to Post #5 of this thread for more information!)

For Error 12 “signature fail" do:
- might indicate that a signed firmware package is required. This would only happen with S-ON phones though.

For Error 22 "RU_HEADER_ERROR" do:
- verify that you followed my zipping instructions exactly. If a correct zip is given (e.g. you get this error with one of my zips as well), we will need further information to work out what happened. This means a complete log and step-by-step post of what you did. Best just copy and paste the full console window contents so we can take a look.

For Error 23 "parsing image fail" do:
- change image names in the zip to stock image names like “hboot.img" or “radio.img" or whatever failed there....

For Error 24 "android-info fail" do:
- check that your ZIP isn’t some HTC OTA or anything thats got no android-info.txt - those cannot be flashed with “htc_fastboot flash zip nameof.zip” command.
- check that your zip has a good MD5 and is not broken, check android-info.txt etc...

For Error 32 "header error" do:
- Make sure there is only one . (dot) in the filename, before the extension. Fastboot reads anything after the first dot it sees as the extension. If that is not zip, it fails.
- See Error 22.

For Error 33 "Update fail" do:
- Try other flashing modes, such as "SDCard method" or direct bootloader-flashing (only available for images named in "partition-info" file inside the firmware zip) if Fastboot Method fails.
- If all modes keep failing, validate image integrity with someone else who was able to flash successfully (MD5 Hash Sum compare).
- [UPDATE] Re-try to flash the image again and again, even for days. Maybe power it down completely for a night, then try again. It might eventually flash again. If you notice stuff in your phone failing again after it was actually fixed (like Sensors again not working if it was Sensor_Hub.img that didnt properly flash initially, like if the symptoms come back after you fixed the flash), you might have a hardware damage rather than a broken software.
- Send it in for warranty! Should we find a "soft" solution, I will update this piece of info.

For Error 42 "Wrong Customer ID" and: 41 "Wrong Model ID" do:
Code:
htc_fastboot getvar all
Read that output, take note of your CID and MID and then edit the "android-info.txt" in your firmware.zip accordingly (For Wrong MID change the MID in the text, for wrong CID add your CID to the text).

Alternative method for MID and CID errors:
go SuperCID. Do:
Code:
htc_fastboot oem writecid 11111111
You can change back to any desired CID after a successful firmware flash. Notice: this command only works on S-OFF phones (which you have already of course or else you wouldn't be here).

For “pre-update FAIL 90 ..." do:
- Let the phone reboot itself into Download Mode. If it doesn't boot to download mode, force it back there (From Android with adb reboot download or with the button method, see "step 1").
- If the flash does not auto-resume, run the same flash command again which you just ran (press arrow up on your keyboard to get to the previous command in console)


For “Error 99 UNKNOWN" do:
- Check with other zip’s if they work!
- Check if your S-OFF is correct
- You are S-ON? Then almost definetely this means the ZIP is not signed - get an unmodified zip!

For “Error 130 wrong model ID" do:
- Please refer to Error Code 41/42.

For “Error 155 relock bootloader" do:
- Since my thread works only with S-OFF phones anyway, this error can be read as: you need to S-OFF first!
- Error 155 can mean that you need SuperCID. On a few occasions this was shown when the RUU refused to run because of a wrong region lock.
- Error 155 also sometimes occurs when a RUU was launched from within Android. When encountering a RUU error 155 with the process stalling after the rebootRUU (stuck at black screen with silver HTC logo), please just restart the RUU and leave the phone in that mode, or reboot the phone, then reboot to bootloader, then do “htc_fastboot oem rebootRUU” and then launch the RUU again.
- run the fastboot command “htc_fastboot oem lock" - only applies to S-ON phones that want to update the firmware with a stock OTA package (not offered on this thread!!). Stock OTA files sometimes need a locked bootloader.

For “Error 170 Check USB" do:
- Sometimes shown when running a RUU. Indicates issues with drivers. One way to solve is to run the ARUWizard with the phone already in Fastboot mode. Else you will have to re-install HTC Sync manager. Also, avoid USB 3 ports (the blue ones) - they have a complete new driver stack and that still doesn't always as expected.

For “Error 171 USB" do:
- Nowadays almost always shown when running a RUU. Indicates issues with drivers and/or Windows 10. Fixing strategy: first install or re-install "HTC Sync" - if that fails, you might need to fix your Windows 10 manually. Instructions can be found starting here - from that linked thread meant for Windows 8/8.1 you will (on Windows 10) only need the attached reg-file probably, and a reboot.


NOT safe to reboot / Flash (partly) happened Errors (if you encounter one of them, DON’T reboot):

- 152 Image Error - Phone Screen shows a little triangle beside a full green bar​

For “Error 152 Image Error" do:
- Error 152 is quite rare, have seen it only once with a friend’s phone and it aborted the flash nearly at the end. The flash was started by the FUU. We could resolve the matter by NOT rebooting the phone and flashing the zip again through a manual fastboot flash as outlined further up.​
 
Last edited:

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Post_Header_Sneakyghost_BATCH.png

The Batch Tool - a thing i am using for myself since 2012 and which i am sharing just because i have it. It is neither good nor special, but its the way i work and people who follow the instructions here might find it easier to use the same setup as we do.
It also has the "FUU" method included - details on that method will be added at a later stage. We do not consider the FUU a good option to flash Firmware anymore because we realized that getting away from ADB and Fastboot with toolkits makes troubleshooting harder at a later stage - people relying entirely on toolkits and tools will mostly not understand what is happening and helping there is much harder.

Since everything i do basically works out of the C:\Android\com path, all my zipped-up stuff extracts to that location. The FUU and the Task-Batch-Script both work from that location. This is simply to enable easier and faster creation of new zip’s if they all use the same base structure.
If you prefer to work from a different location. you can specify a different path in the installer. However, the batch scripts do not adjust automatically, which means if you use another path, you might need to open up the scripts in an editor and adjust some paths manually.


Preview:
TNnMNV9fhjOdwNBxcVmZSH86pNdGK7K8mz-1mDciD7W00MoNlpJ95MOm5qEgOnFa_6g5FkTosxGlvFm7wJf2IDoyZBm2b3bnSPyTOKKBLLOZ7UCkMK26yeo3wtCCShFYLl-4BVXY8UQ0ZIbgnD6yalaF3OEOCTG5MdM4uvKmuH7zOsdCjjikC6vbOP_WaHGmO0uliygwAg3tq2kKsTtYqnQXrabcKhdWlkTfhYgkhWgeXIKQr7W5HhWbT7CLbQGhZesrNmm6HDuryzsRTTggjPrxevooS4u0hw4JCX_tVJsh2vkfR8RZnscIrMOdOlarnpN6j4eNXLBdHnISUf7N2eg9AJio63K38_6TWwct2rC1Vk-3JzU2Ujy0NaV8iKOShnrKA96iP3AA7EmlBBJ-waGXebBG1AXWtaTIAwM2Lshr5mN1BwFsbfMYTr1Aq1mpbMjFpU3QUtcOl6JWViBre8-fRAl-5fLJ3NvPmHH63QPXsfNZVaSJbT4pYStzqNuuVRZtLwNadkx_LamADlCLHixDNSvs9JN4Lly7jTDCsZPOmkTta8tgf1EU1IqoR9aHcaQX3xzz3mMY24gUnP4WFgxsePto2Ju3NtudLtzDwBM=w728-h677-no


DOWNLOAD
MD5: 240ddf273ab211e9fdc65c684b828d75​

The installer is just a simple WinRAR self extracting archive - there is NOTHING BAD in there i swear! Open it with WinRAR 5 and look inside. You will see if you don't trust me.

Changelog:


  • 1.4.2
  • Updated partition images (stock and custom recoveries)
    1.4.1
  • Updated partition images (stock and custom recoveries)

  • 1.4.0
  • Updated partition images and flashing for HTC10
  • Updated Splash Screen converter for new res and location
  • Updated raw dump (DD) script for GSM model (No Sprint, No VZW!)
  • Updated ADB and its api with the version from US Unlocked 1.53.617.5 RUU.
  • Removed kernel flashing option and replaced with Insecure ADB patched kernel option.
Previous versions (HTC One M9/8/7):

  • 1.3.1
  • Updated TWRP to 3.0.2-
    1.3.0
  • Updated stock recovery to 3.35.401.12 and TWRP to 3.0.0-2
    1.2.9
  • Updated ARUWizard to 3.0.4.2015 from HTC’s One M8 DevEd Marshmallow RUU.
  • Swapped out stock recovery for 3.35.401.10 (WWE Marshmallow release).
    1.2.8
  • Splash1 converter works now. Flashing Splash1 now needs a reboot to Bootloader - it's not working in Download Mode! (limited DD support on the M9 and general flashing system changes).
  • Swapped out recoveries for newer versions.
  • Finally added the complete file set from RUU 3.0.1.2015 - the newest M9 RUU. ADB and Fastboot are identical to the previous version from Llabtoofer though.
  • Screenrecord removed - can’t be bothered figuring out why it doesn’t work anymore. Probably SELinux and general Android 5.x security like with the screenshot function. Not really needed either. There are other solutions.
    1.2.7
  • Swapped out recoveries for newer versions.
  • Swapped out ADB and Fastboot for a newer pack (thanks @LlabTooFeR) - now this Tool is fully M9 compatible and even flashes large RUU.zips.
    1.2.6
  • Changed everything to M9 files and methods. I HOPE I didn't oversee anything. Please test carefully!
  • Added stock_recovery_1.32.401.8.img
  • Added TWRP Recovery 2.8.6.0 fixed version from Captain_Throwback SOURCE Post #2 Beta version
  • Added original HIMA Splash1 - S-OFF phones only!
    1.2.5
  • Added TWRP Recovery 2.8.5.2 from Captain_Throwback (All M8 devices)
  • Fixed Recovery Screenshot option (20)
    1.2.4
  • Added newer RUU structure (2.0.16.2014 - from 4.16.1540.8 Dev Edition RUU)
  • Added Stock Recovery 4.16.401.10.img (WWE)
  • Changed the License and SFX texts again (Installer) - never happy with it.
    1.2.3
  • Fixed some serious crap nobody reported. I just found out myself.
  • Added Stock Recovery 4.16.1540.8 (sorry still don't have the WWE recovery, but i guess they are identical)
  • Added TWRP 2.8.4.0 from the M8 tree of Dees_Troy.
    1.2.2
  • Added Stock Recovery 3.28.401.7
    1.2.1
  • Added Microsoft's vcredist_x86_2008_SP1.exe to the installer because the ARUWizard is build on the x86 Visual Studio 2008 runtime. This resolves the "side-by-side configuration" error.
  • Added 3.28.401.6 stock recovery and splash
  • Added newer RUU structure (doesn't do any difference though, just keeping it up to date)
  • Added TWRP 2.8.0.3 (it still has slight issues with MTP which will be fixed soon but for now, this is good enough)
  • Changed a few lines in the script (minor, cosmetical stuff)
  • Updated the INFO PDF (option 24)

Known Issues:

  • [20] Screenshot (Res: FullHD, PxFormat: RGB8888), check \dump\ Folder - Not adjusted! Won't work!
  • [21] Screenrecord (drops file to /dump folder) STOP recording with CTRL+C - Not adjusted! Won't work!
 
Last edited:

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
9BRL8Q4Jolu57Qlq4mofkZczEv09wfFxe9q8DdhqrXnRJulc5lJjL1P-3EOnb9s42E_o9sNhYaiovgrmH-9K8wpvCZXHM5Kr_vF6YsAt_VrBS49MJktSE7Jy1RRYdi-0Z_3LwCffCy58s_CcvIuwzC7lY5FcMvU6TCqDXjglsY86E3WbZYiPf2fl88L7pjbymYSwfooMc3Jfv_SQKPiJO5y2sawiPd4GVGAS0T_2F8GmSN0by6eOrT9gKkyGpz58uHX1AQkCs4EI88CEP2DyHYT5JsIXVHg_NAt8Vy4Om_kj8-yyV07bNIUgh-cxNIZ9Lz_1-9cvzqpxN5R6e8UnrKodn5pK5asy_Ua9_gCpBUOhF7wSuXyzpErRCuEGzuC5lKpOYN106kPbQl1_8bVzEepy_CLAI9foYrGgNwtIlniYSAGJO-IabZviLy2MsHQwLVJUVpIvK_H4FgbESG7bvAkwbuVyWQImvOjQ7na-8ndqplJcTaB7dTNtEtLVU1drcVqLgfm4eDnP1ETPPRUxsN5hePCYSg8vxselroqTo5ykYYb2r_EMhuhhzLCBatO0NiquaS3cFpHVRqyC3pNEYqAA83pw9KfEQZuZz1UkLER6SQaZPYC1=w850-h155-no

FullStockWipe and HTC OTA's a.k.a "Verity"

What's the problem?
The way the new security works, a FullStock zip will break your OTA capability in almost all scenarios. The only scenario where that would NOT happen is if you have, before you flash the zip, already the corresponding untouched, hash-sum matching stock system image flashed. Nobody using custom ROM's has that. So, what happens is this:
- FullStock.zip flashes stock kernel which has verity enabled and checks partition integrity upon boot.
- After flashing, you reboot. The kernel kicks in (around when bootanimation would start). The kernel checks the /system partition if it is the correct one.
- The kernel finds it is not the correct system and reports a fail-status, sets this as persistent information, and will force a reboot
- At reboot, (and every reboot after) the Bootloader picks up the fail status and pass it on to the kernel, which in turn will pass it on to the system.
- Now, Android thinks, System is messed up and will not allow you to download and apply an OTA.

From now on, every boot, even if you flash a clean stock system, the aboot will tell the rest of the guys working inside your phone: hey, this thing has been messed with, it cannot be updated anymore!

Fixing strategies:
1.) To restore OTA function fast and easy: run a RUU.
2.) If there is no RUU for your specific model, you could convert to another model which has a RUU.
3.) Then there is a third, theoretical way I have not yet tested: obtain an untouched system image that fits your FullStock (same version), flash that in fastboot (it can be a raw dump or a TWRP systemimage backup of the correct system) and then flash the corresponding FullStock again. That should, like a RUU, restore OTA functionality too.
4.) Also very simple: grab the HTC OTA file which you find in /data/data/com.htc.updater somewhere if you can download. If not, find it on XDA from someone else who got it. Then put it on your sdcard, have stock recovery flash it from SDCard (no detailed guide here but its the same since years, there are tons of guides on how to manually flash a HTC OTA out there. Use Google).
5.) Remove boot.img from my FullStock zip before you flash. Your custom ROM of choice will put a hacked kernel into your phone again anyway...

However, at time of writing this, I know @nkk71 is investigating other, simpler methods to restore the correct state.

So, if you absolutely depend on HTC's OTA's, best would be to just not flash/boot a stock kernel ever while a custom system is installed.​

Flash Process Output (applies mostly to older phones, the newer HOSD driven output is much more detailed)
There are a few steps in the flash process which are not really straightforward but i can maybe explain some of them here:

sending 'zip' means: fastboot is sending zip over to client (here referred to as remote)
OKAY [ 2.839s] means status of sending was good. Transfer succeeded.
writing 'zip'... means the zip is being written to some location on the phone from the /temp location.
(bootloader) zip header checking... means the zip header is being checked for validity, see if it's a real zip file and check for HTC's signature, which often resides in the header part.
(bootloader) zip info parsing... means most likely a check on the file hashes in the zip (integrity check - if the zip is borked, it will fail here)
(bootloader) checking model ID... The bootloader checks if the android-info.txt contains the right MID. If it fails here you gotta swap out your model ID in the android-info.txt file or write another MID to your phone.
(bootloader) checking custom ID... The bootloader checks if the android-info.txt contains the right CID. If it fails here you gotta swap out your Customer ID in the android-info.txt file or write another CID, possibly SuperCID, to your phone.
(bootloader) start image[hboot] unzipping for pre-update check... means the bootloader is now unzipping the [hboot] image. This line will be repeated before every image that is to be flashed.
(bootloader) start image[hboot] flushing... means the bootloader is now beginning to flash the [hboot] image.
(bootloader) [RUU]WP,hboot,0
(bootloader) [RUU]WP,hboot,99
(bootloader) [RUU]WP,hboot,100 these three lines read [RUU] for what mode fastboot is in, WP for Write Partition for what is currently being done in RUUmode, hboot is the name of the currently flashed partition, number xx is a percent stage of the write process.
(bootloader) ...... Successful means the final status is successful.

Now, before the [RUU]WP,hboot,xx line we often see another line reading [RUU]UZ,radio,50 for example. That reads RUUmode is currently unzipping the Radio.img and at stage 50 percent. UZ means UNZIP.

If you see something like this:
(bootloader) start image[sbl1-1] unzipping & flushing...
(bootloader) [RUU]UZ,sbl1-1,0
(bootloader) [RUU]UZ,sbl1-1,100
(bootloader) signature checking... means it is checking the signature of the partition if it matches the expexted signature stored in the hboot.
(bootloader) verified fail means the signature in the image did not meet expectations.
(bootloader) ..... Bypassed means the image got skipped because its got the wrong signature.

This has to be interpreted like this: there are multiple SBL images, to be exact: type 1 has 3 variants and type 2 has only one variant. Of type 1 (SBL1-x), two get skipped, one gets flashed (see my log above), of type two (SBLx) both get flashed. I believe, SBL 2 and 3 are device independent, but SBL1 has three variants, of which only one fits the current device. So, depending on the device you have, you will see either SBL1-1, SBL1-2 or SBL1-3 being flashed and the other two subtypes being skipped (bypassed).
The same goes for the "dzdata" images in the firmware package. They come in two or three size flavors (16, 32 and 64 GB) and resemble the file structure of the /data partition. Depending on your device and model, only the one with the right size gets flashed, the others skipped.

Important to understand: nearly all FAILED messages that do NOT occur while [RUU]WP (write partition) should be considered harmless. Only a FAIL during a write operation will most likely result in a damaged partition. All other fails will probably leave the original partition intact and thus the device can be rebooted. So far my understanding.

General hints for RUUmode / Download Mode zips
- Opening a zip is best done with 7zip as WinRAR and other zipping tools have lead to flash fails in the past.
- Choose low compression, higher compressions often fail. Pick "save" or "normal" to be safe, anything higher could cause the unzip in Bootloader to fail.
- Adding and Removing images is not a problem. The naming of the partition images seems flexible, yet if you encounter an Error 23: parsing image fail you need to rename the relevant image to something stock as not all names seem to be recognizable. The Hboot/Aboot determines the right partition from the header inside the image.
- Additional Dots in zip file names are known to have caused issues for a few people.
- Spaces in names are a no-go!
- Custom Recoveries can be added to those zips as well as custom kernels. In fact, if your phone is S-OFF, you can pretty much add anything and name it e.g. recovery.img and it will be flashed. You gotta be very very careful, as this is an easy way to break your phone. Make sure not to mess around with modified images!
- With S-ON, those zips only flash if everything is totally stock, from the android-info.txt being right up to all images being the correct versions for that update package and all having the right signatures. Reads: no custom messing with firmware zips for S-ON phones. In fact: apart from HTC OTA firmware.zip's and RUU's, nothing will flash with S-ON at all...

General hints for android-info.txt
- Use an Editor that doesn't mess up linebreaks like Windows Notepad does. Use Notepad++
- MID's can be added one per line. Also supports wildcards i think e.g.: 71******, but i'm not sure.
- CID's can easily be added or removed- one per line, definitely supports wildcards (used by HTC in DevEd phone)
- Mainver line: should hold the version of the used set of firmware images. Example how to format the version: 2.24.401.1 (2= Base version always increases by 1 with each Android base version rise, 24= Build version from HTC, 401= Regional/Customer identifier, 1= Revision of the HTC Build). This line is being written to the /misc Partition and is meant to reflect the whole phones software version - it is not meant to only describe the firmware part or the ROM part alone. HTC has intended the Version to always represent the whole thing, firmware version matching the ROM version. therefore, it would be wise to always run matching firmware and ROM versions, except where explicitly recommended otherwise. Mismatches can cause anything from no issues over radio problems up to semi-bricks.
- hboot pre-update line: usually says "3" but i have seen different numbers. I think they determine if hboot-preflash is required (when you get Error 90 - please flush image again immediately this is when the hboot/aboot needs to be flashed separately first and then the rest. If you encounter this, you need to run the flash command you just did, again.
- btype:1 not clear. [Item subject to change]
- aareport:1 Since HTC hboots/aboots, boot and recovery images come as "hboot_signedbyaa / aboot_signedbyaa / boot_signedbyaa and recovery_signedbyaa i would read this as "aa" representing htc ("hboot signed by aa"). It could possibly mean check on the signature in hboot/aboot/boot/recovery - all of those also come in unsigned flavors - in HTC OTA's, those are usually without the _signedbyaa but in the RUU, they are carrying a signature). So, aareport: 1 can just mean check on signature yes or no.
- Delcache means erase cache when rebooting. Simple. Some firmwares seem to need it, some don't. Line is not present in every android-info.txt. If you mess with a zip that contains the line, leave it active. This is also not referring to the Android OS cache partition. It refers to the separate Kernel and Recovery Cache. Sometimes, not deleting Kernel or Recovery Cache after flashing those leads to malfunctions. If the Kernel is launching and there is an older conflicting copy cached, the phone won't boot past Kernel stage (before the bootanimation starts), if Recovery is conflicting with a cached copy (usually after flashing a new/different recovery), it will lead to the recovery not booting or malfunction (like aborting an ongoing ROM flash or not being able to execute other functions).

RUUmode:
is the mode used for RUU flashes by HTC. It allows a few more things than the normal fastboot. You recognize it by looking at the phone's screen. It will be black, showing only a silver HTC logo and if a command is being active, a green progress bar. New M9 RUUMode now shows a percentage counter below the bar.

Download Mode:
New flashing mode, introduced 2015 with the HTC One M9, due to changing to a different, aboot-based bootloader structure, HTC also introduced the use of an HOSD partition containing sort of a micro-linux with extended fastboot-capabilities. It provides much more logging output and can be considered the better flashing environment now. When flashing my firmware.zips, I recommend using Download Mode over RUUMode, as it gives you much more feedback. The ARUWizard (a.k.a RUU or FUU) might still expect RUUMode for flashing, but when manually flashing or also when using SDCard method, Download Mode will work best.

Bootloader Mode:
You can also directly flash most firmware partition images with the by-name method, and that works only when booted to Bootloader (the white screen with colored text lines). In this mode, you can for example flash stuff like this: htc_fastboot flash recovery recovery.img or htc_fastboot flash adsp adsp.img - almost all image files can be flashed separately without HOSD or RUUMode in bootloader.
On the HTC10 this has become a critical function when recovering from flashing frankenbuild-firmware. After the Android N transition for example, a combination of old keymaster.img with new Android N firmware would lead to broken Download Mode and broken RUUMode, hence disabling all flashing methods. Using this direct image flashing method, you can recover your phone in such a situation. Inside the firmware.zips will be a file called partition_info - you can open that with a text editor like NotePad++ and see all the flashing names for the partition and this way figure out how to reflash every single partition manually.
NOTICE: do not flash aboot_signed.img this way! The only image that should not be flashed directly over itself when booted into bootloader!

Recovery flash risk:
Some of you might have heard of, or are thinking about flashing firmware using recovery.
Although it is perfectly possible to write firmware images to the NAND chip using the DD method in recovery (either with a script or by using ADB shell dd) it is highly recommended that no developer employs this method (except if it's the only way to rescue a damaged device, e.g it only boots to recovery or something like that). This suggestion can be limited to boot critical files (SBL images, Aboot, HOSD, Keymaster for instance), but I prefer to see this as a general good practice thing. The reason behind this is, that DD has no inbuilt write verification. If there is just one single bit that does not get written correctly, DD won't notice and won't correct it. With some bad luck, you end up with a brick this way.

JTAG with a RIFF Box
Every device of these days has so-called jtag test-points. Basically, these are points on the mainboards, where a direct connection to the main chip can be established and then that chip can be read and written to with an external device. Sometimes, these testpoints are hidden (like they are normal contacts of the chip) and no direct visible gold points on the board. It always takes a while after a device is released until the jtag layout is fully discovered but once that is done, companies like multi-com.pl start manufacturing small boards with pins that can be pressed onto the mainboard, so no soldering to the device is required. Once such a board exists, the mainboard can be hooked to the RIFF box which can rewrite a dead chip from the outside.
As long as there is no such small board (called a "JIG") the phone can still be revived but it is necessary to solder hair-thin wires to the test-points. That is perfectly possible, Tecardo can do such a thing, but its not very good for the board and cannot be done very often. At some point the solder points will degrade so much that the board is garbage then.
In case you really brick your device, you can contact Tecardo here: http://xdaforums.com/showthread.php?t=2116062

MID and CID
MID = Model Identification. It serves the purpose of identifying the Model of the phone. There usually are several different ones. The ModelID in android-info.txt is CaSeSenSiTivE!
Some limited Data is here: https://docs.google.com/spreadsheet...ShfYNFAfSe-imhhqtVfeMPVDA/edit#gid=1606643937
CID = Customer ID and describes, for which customer HTC made this phone. HTC has a few own CID's for its regional stores. Then certain carriers decide to have their own CID. Some carriers even have their own Model ID's.
So, while the MID more like describes the hardware, the CID basically just describes the software set that comes delivered with it. Both get checked on when flashing in RUUmode. How to trick this system? Fairly easy. Just add your respective MID or CID to the android-info.txt file inside the ZIP or make your phone SuperCID (My Batch Tool can do that automatically - but remember: all this only works on S-OFF phones).

S-OFF:
S-OFF refers to the NAND's security lock. S is for security and OFF means the security is switched off. The factory state HTC's phones ship with is ON, except for the userdata partition, which of course is always unlocked.
The key for that lock is the most heavily guarded secret in HTC's software vaults. It cannot be extracted, bought or otherwise obtained from them. There is no official way to unlock the NAND partitions (approximately similar to what Apple fans do when they jailbreak their products, although technically not quite as similar). While the HTC Dev Unlock (available through htcdev.com) just unlocks 3 partitions (Boot, Recovery, System), the S-OFF hack we use unlocks all partitions, thus enabling the flashing of custom, modified or other devices firmware. This is what you want for this thread and you can get it from the famous reverse engineers Jcase and Beaups over at: http://theroot.ninja/ or alternatively purchase a Java Card and learn how to work it, from chinese sellers on Alibaba, sometimes Ebay. Then there is a way to do it with an XTC Clip. But SunShine S-OFF is by far the safest and fairest method. You will only be charged if it works and the guys over at sunshine are really helpful.


A more detailed look at how S-OFF works
[Subject to change - not a definite explanation, just how I think it works]
In the phone's Firmware is a component that checks if certain partitions have a digital signature from HTC and deny write access if the signature is wrong or missing. The checking component is known to be the Security, which can be set to OFF. Then we say the phone is
S-OFF.
System, recovery and boot do not get signature checked at all once you unlocked your phone on htcdev.com. The other partitions however do get checked as long as Security flag is set to ON. Partition 3 is where the Security flag is located and maybe also the checking routine that checks the other partions digital signatures,
The S-ON state is resembled by a 3 in the fastboot command to switch security on. It is: fastboot oem writesecurflag 3. You do NOT want to do that while any custom firmware is running. Only after a full RUU that removes any modifications.
Why? For some partitions like the splash screen, it might not lead to a brick if you set security to ON while a custom splash is installed (then failing the signature check), as this partition is not vital for the boot process, it might just be skipped and give you an error message (I have never tried obviously). Other partitions however, boot critical partitions like Hboot/Aboot.... You guys have to understand that altering any of these partitions can be deadly to your phone if you happen to leave them altered when switching security back on.

Determining your Firmware Version
I believe there is some wrong info circulating the HTC Fora. People keep saying when running fastboot getvar all it will report the Firmware Version in the line Version-Main. This is not always true though. Fastboot getvar all or alternatively getvar mainver pulls a version it finds in the MISC partition and relies on that to be correctly updated. Source
So how does that version string get updated? It is being taken from the android-info.txt file in any firmware zip that you flashed. The last zip you flashed determines what will be reported by the getvar function. So if you mess around with Firmware.zips and RUU's a lot, chances are, that the version reported there is not equivalent to what you are already running. Often the android-info.txt has version entries not appropriate for the actual zip contents, for compatibility reasons, because it wasn't done properly or whatever. My zips usually have the correct MainVer though.

The "Firmware" as a concept like we use it on XDA does not exist in HTC's terms. HTC does NOT differentiate between the /System Partition (what we know as "the ROM") and the other 36 partitions. Hence, if you run getvar all or getvar mainver on a stock phone, it will report correctly. It does not go looking for a fictitious place where it would find a separate "Firmware" version. That place it is looking at is the Misc Partition and that's correct as long as you haven't messed with lots of different Firmware zips... So, if you happen to run a hybrid system with a ROM from one base and the other partition images from another base or multiple bases (like hboot from 1.27, radio from 4.06 and ROM from 3.62) the getvar function will report as "Version-Main" what it finds in /misc/, precisely the last zip you flashed determines the string put there.

Example: you flashed a radio with a RUUmode zip from Base X.YY but the android-info.txt is maybe still an old one because the dude who made the zip, just dropped the new radio into an old existing zip, the getvar function will later report that old version as your mainver.

To check your firmware: boot to bootloader and look at the combination of hboot version and radio version - if you didn't flash those separate, the combination will let you know what base you are on (each OTA and RUU has the radioversion in its name).
Finding out your firmware is a game of guesses and knowing what you did to your device and where you are coming from.

If totally lost, best thing is to reflash some clean stock package to be sure you are on the same level with all partitions.

Long story short: you better know what you do because finding out your firmware is going to be difficult if you don't.

Red Text removal
Back in 2012/13 with the HTC One M7, I wrote a guide on how to modify Hboots/Aboots so that they won't show the red warning text on the bootsplash (here). The following years I mentioned in many many posts, why this is a dangerous idea to do. During the course of the past years, I then came to the conclusion that it was exceptionally stupid of me to provide these instructions in the first place. Many people bricked their phones while using a modified bootloader, mostly when going back to S-ON and then forgetting to replace the modified bootloader with a stock signed bootloader first. The device won't boot anymore if that happens. It will be dead. The NoRed aboots are quite a considerable risk and justify in no way the split second of boottime without red text. I strongly advise against using them.
Also, I do not want any discussion, promotion etc. of NoRed Aboots in my thread.

Further reading

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!​
 
Last edited:

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
I updated the batch tool in Post #4 - everything appears to be working for me, except Screenrecord and Screenshot - still need to fix those.

[UPDATE]
Still fighting with encryption. It breaks with my NoWipe I made for testing. Trying to figure out how to make a NoWipe. Sorry for the wait. Unfortunately I am lazy and not in the loop anymore with all this. So much to catch up with and figure out a-new...

[UPDATE 2]
Ok there is a first NoWipe version for WWE in the sheet. I tested this while Viper was fully installed and setup and the phone rebooted into Viper fine with the way the zip is now set up. It --should-- theoretically work. No guarantee though. Make sure you have a TWRP backup before using this!
FullStock: after the FullStock zip, everything is broken. You will NOT be able to just boot after you had a custom ROM installed. Not even with a factory reset in stock recovery. It will just NOT boot. You will need to reflash the ROM. I say this since 3 years in my firmware threads but this time its for real. On past devices, sometimes a factory reset allowed to boot a buggy ROM (missing data stuff) at least but this time, no dice.
Furthermore, if you run this scenario: FullStock and a restore of a TWRP Backup afterwards, you will get an error in TWRP saying it wasn't able to mount the /carrier partition, but otherwise restore fine. Once you boot up, you will be greeted with the "New SIM" dialogue and run through the provisioning again. This is normal because the FullStock zip has the switch "eraseonflash:1" set and that erases carrier and leaves it without file system. Hence TWRP can't mount it. On boot, it will be reformatted but be empty. That's why the reprovisioning when you restore an already set up backup.


[UPDATE 3]
As it happens, I re-tested the NoWipe and up came the "New SIM - please reboot" dialogue after flashing NoWipe and booting.
Dunno why /carrier gets messed up on NoWipe. The command in android-info wasn't even set. Bit of a mystery. But since its not a big deal I am not gonna stress about this. Just don't report it. I know already.


[UPDATE 4]
Oh and just for the fun of it - we had a little debate over at Team Venom's home chat, on how to forcibly reboot the HTC 10 and someone called out: "Video or it didn't happen!" when I said its just Power+VolDown and it will reboot....


[UPDATE 5]
After much back and forth with all those involved with this, I have decided to remove the "FullStock" option.
This is in respect of latest changes to Android Security.
It appears now, that a valid and clean strategy for erasing the entire phone would be to run a RUU from HTC.

I am aware that other then the US carriers, the global customers have no official way to obtain RUU's. So to some extent, HTC and Google have closed yet another alternative path to achieve certain things.

To me, this feels like giving up a little bit, but on the other hand, we can also applaud Google for implementing better device security and HTC for accepting this.

So, during the coming weeks, I will re-think my approach and rewrite parts of this Guide to reflect this change. For now, please heed the warnings regarding verity. If you absolutely need a full stock wipe zip, you can flash the existing but remove boot.img before you do. Or find the corresponding stock systemimage and flash that before using the FullStock.

Thanks for understanding.
 
Last edited:

nkk71

Inactive Recognized Developer / Contributor
May 26, 2010
8,741
7,571
53
Beirut
I dont like videos :cyclops:
latest



but nice to have you back :good::good:

even Blarp agrees :p
latest
 

-4ndr01d-

Senior Member
Mar 28, 2012
497
54
so has anyone flashed a splash screenyet? I'm wanting to rid myself of this bright white screen on startup

anyone have an inverted stock splash screen that they have flashed :D
 
  • Like
Reactions: sdamark

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
so has anyone flashed a splash screenyet? I'm wanting to rid myself of this bright white screen on startup

anyone have an inverted stock splash screen that they have flashed :D
Well flashing works. Watch my video. You can see my splash in action.
Although I figured the pulling part, to secure your stock splash, doesn't properly work in Android yet.
Not a biggy since its fine in recovery mode and also there's a 100% working option to restore the stock htc splash from an image which comes with my tool. So the pull function is pretty much redundant.

How to get an inverted HTC stock splash? Actually, I still have a few minutes before work. I'll quickly boot my PC and make you one, since its an easy Photoshop task that just takes a few minutes.

[EDIT]
Here it is. See attachment.

Contents: BMP file of stock HTC splash inverted - for use with my Splash Converter batch in the tool. Furthermore, I added the Splash1.nb0 file as well so you can skip the script and directly do: "htc_fastboot flash sp1 Splash1.nb0" (please do "adb reboot bootloader" before to flash from bootloader, it won't work in Download Mode).

mw3JMF_ATN6lErYTLpwtFCu31FwmGcNrujR4yHJc5RKvXp-hIZ7JIl-uaNfOKut5S3Ly6BJUhsClitDt8mlH_TcJw8l-g7EfiSY3nlu6PHV81GpSwEfv3wo_v6rdJvu3ZLAPZQ_qNvQQl8bCcjDNvur1O9Tx2PHSotM5AsX-LnNH-v9Fq_bXx_2--nW3fnjoLXSpOWJZhc6VoKbd96Dw29f3BL-uWMDBrK0d0yxqxH6rpAo-k4ESv8v4JFbKfnYNtQFhENAJEVYSyM8hZWAJOduks0La_VmyhRhnxNi6uYbV36stb2NdZwPHZYFPq6_pq822cJ417REDv6JaGGh3mSkXAujLAWxI9YM0AQzLoe6q6J1DuAZc6tjgSd3AZFzwsJVS3QgeIU074zzYpaTbca_iyic-t3G6TLG8bHOKR9eN_SKNIMfuEeuGqf8e5vHm-Ul8qbQUfjyQZ7a4wdWwTbEY6OJz0RRoU40jrB9ejQycnUr-d_SLE_Gdb_aFFDvDwpOF4e-lOv9j1h1Kx66It2KiQitA_bZP_T9y42AiQU20bmBoK2GFDVkARpOCG5sHGgLTkV_Ar18KY0yxiFerR_ErI48mW-pM=w577-h1025-no
 

Attachments

  • StockSplashHTC_Inverted_1440x2560.zip
    58.8 KB · Views: 127
Last edited:

-4ndr01d-

Senior Member
Mar 28, 2012
497
54
How to get an inverted HTC stock splash? Actually, I still have a few minutes before work. I'll quickly boot my PC and make you one, since its an easy Photoshop task that just takes a few minutes.

Here it is. See attachment.

Thanks I'll give a try when I get back to a PC. Just got to work myself and gathering all the necessary information so I don't mess this up.

EDIT: my screen is already like the picture you posted except HTC is in green. If all it is is inverting white screen to black and black letters to white, I can handle that by photoshoppin the splash1.bmp in the zip. will I need to do something with the nb0 file as well?
 
Last edited:

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Thanks I'll give a try when I get back to a PC. Just got to work myself and gathering all the necessary information so I don't mess this up.

EDIT: my screen is already like the picture you posted except HTC is in green. If all it is is inverting white screen to black and black letters to white, I can handle that by photoshoppin the splash1.bmp in the zip. will I need to do something with the nb0 file as well?
Why is your stock splash white? The new HTC10 splash is black with white letters. At least on the phones we dealt with in Venom beta.
You don't need to manipulate the splash1.nb0 -that's the file that gets flashed eventually. My script makes it. Just create a bmp image in Photoshop, drop it in the /dump folder and run my script. That's it. Oh and absolutely mind the resolution. 1440x2560. Anything else won't work.
guys a no-red firmware is there available?
thanks
Nope. Not gonna happen.

And just in case anyone else is gonna ask: I'm sick and tired of it. I'll add it to the first posts why I won't do it anymore before I'm gonna explode again.
I'm explaining the reasons since 2 years straight at least once a week.
 
  • Like
Reactions: Black-FR

cobrax2

Senior Member
Aug 17, 2007
996
126
Nope. Not gonna happen.

And just in case anyone else is gonna ask: I'm sick and tired of it. I'll add it to the first posts why I won't do it anymore before I'm gonna explode again.
I'm explaining the reasons since 2 years straight at least once a week.

lol, sorry
so are you adding it to the first post or what?
thanks
 

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
lol, sorry
so are you adding it to the first post or what?
thanks
[emoji23] yeah I'm adding info to the post on why there won't be no-red edits from me and hopefully nobody else.

But as XDA goes, user safety will always come after personal fame, so if I say not a good idea, somebody else will think it's a very good idea.

So my bet is, you'll get your no red edit. Somewhere. Not here though.

Secret hint: precise info on how to edit hboot/aboot can still be found in my M7 firmware thread from 2013.
 
  • Like
Reactions: Black-FR

Top Liked Posts

  • There are no posts matching your filters.
  • 104
    Post_Header_Sneakyghost_FIRMWARE.png

    FIRST THINGS FIRST:
    • This is for GSM PHONES which have been set S-OFF - no CDMA (Sprint & Verizon) here! S-ON people: Please refer to HTC RUU methods or "Stock Backup and OTA" method. (not provided here).
    • Read from top to bottom. No skipping of stuff or you will be confused.
    • I cannot accept any liability and/or responsibility for these firmware packs. I am not able to go through the time consuming process of testing each pack, hence community members are called to test these on their own. I am gladly accepting constructive feedback.

    Purpose of this thread:
    • Suitable methods for flashing firmware when S-OFF.
    • Error handling strategies - collection of known errors and their meanings (Post 3).
    • Reliable background information for safe flashing (Post 5 mainly).
    • Providing FULL, non-incremental firmware files (Post 2) to update coming from ANY version (applies to my FullStock as well as NoWipe packs!).
    • Providing a simple ADB environment with a basic batch script (Post 4)


    Flashing methods:
    • The safest way is still HTCs RUU and OTA method. US RUUs can be accessed via HTC's US Support Site. Jump to your device, then click "View" and scroll down for the download-link. The page has Dev/Unlocked (617), Sprint (651), AT&T (502) and T-Mobile US (531) covered. RUU's are superior to other flashing methods because they carry lab tested combinations of partition images and the method itself is also known to work well (plus the psychological advantage).
      Other than HTC's original OTA's which are "incremental", My packages are always FULL packages (applies to my NoWipe as well! It can also be considered a FULL update as opposed to incremental) - with these you can safely jump from a very old firmware right up to the newest. Following this original RUU / OTA method, come the methods most suitable for my packs:
    • My preferred method is the "Fastboot method", which needs a PC or Mac or Linux computer. I will be detailing how to fastboot flash firmware further down.
    • The "SDCard Method" can be considered the fastest and most suitable for people without a PC. I will be detailing how to SDCard flash firmware further down.

    An explainer to the ZIP variants provided here:
    • Full Stock WIPE ZIPs:
      NOTICE: FullStock zips currently permanently break the phones ability to receive HTC stock OTA's - to restore your OTA functionality, refer to post #5 for more information!
      Only System removed (and encryption broken) - Everything else 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, 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 (WWE has no bloat in there!).
      Be sure to put a ROM onto your EXTERNAL SD before proceeding with a Full WIPE ZIP! If you forgot to put a zip on your sdcard: you can reflash TWRP with Fastboot (use my batch tool) and then choose between ADB file push, MTP transfer or even USB mass storage transfer mode. Last but not least you can take out the sdcard and use a card-reader with your computer. Phone will NOT boot without ROM reflash after using this!
    • NoWipe ZIPs:
      These packages are 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 already existing bloat permanently flash apppreload.img from International/WWE/401, it is an empty image). Recovery will be replaced with the current TWRP. Phone should in most cases 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. You may find stock system backups here


    How to flash firmware.zip's using fastboot

    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 HTC 10 . This is important: the generic Google fastboot from SDK API Level 24 (latest at time of writing) is NOT FULLY COMPATIBLE.

    The method outlined here does apply to my zips as well as HTC signed zips. The difference is, that for my zips, S-OFF is mandatory, while HTC signed zips can under certain conditions also be flashed to S-ON phones, however, different prerequisites and risks apply there. I will not cover HTC signed zips here as they are fundamentally different in some aspects while the flashing method remains the same.

    Note: use "htc_fastboot" with my batch tool. If you use another ADB/Fastboot set, it will probably be Google Fastboot and then the commands should be starting with "fastboot".


    Step-By-Step:
    1. If device is booted into Android, reboot into download mode by running:
    Code:
    adb reboot download

    NOTICE: adb reboot download is new since 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:
    In Android: Press and hold Power and VolDown at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power, keep holding VolDown a little longer.
    During Boot and sometimes when booted into Recovery: Press and hold Power, VolDown and VolUp at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power and VolUp, keep holding VolDown a little longer.

    When in download mode, use the VolUp and VolDown buttons to navigate up and down and use Power to confirm.

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

    3. Followed by:
    Code:
    htc_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 NoWipe (not all images included) flash on my HTC 10. New is also (compared to M7, M8) that the checking routine is way more sophisticated and Controller Firmware for e.g. the touch panel or the Infra Red Remote (One Series only, not available on the HTC10) 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", which is NOT an error.

    Microsoft Windows [Version 10.0.10586]
    (c) 2015 Microsoft Corporation. Alle Rechte vorbehalten.

    C:\Android\com>htc_fastboot flash zip rom.zip
    htc_fastboot v3.0.9.2 (2015-05-29)
    target reported max download size of 800000000 bytes
    sending 'zip' (85525 KB)...
    OKAY [ 4.307s]
    writing 'zip'...
    (bootloader) HOSD CL#738269
    (bootloader) GPT is up-to-dated. [17408]
    (bootloader) Perform pre-update
    (bootloader) start@32
    (bootloader) aboot_signed.img@100%
    (bootloader) adsp.img@BYPASS
    (bootloader) apdp-8996-1.img@BYPASS
    (bootloader) cache.img@BYPASS
    (bootloader) cmnlib32.img@100%
    (bootloader) cmnlib64.img@100%
    (bootloader) cota.img@BYPASS
    (bootloader) cs_CY8C.img@BYPASS
    (bootloader) devcfg-8996-1.img@100%
    (bootloader) dsp.img@BYPASS
    (bootloader) fsc.img@BYPASS
    (bootloader) hosd_signed.img@100%
    (bootloader) hyp-8996-1.img@100%
    (bootloader) keymaster.img@100%
    (bootloader) lksecapp.img@100%
    (bootloader) modemst1.img@BYPASS
    (bootloader) modemst2.img@BYPASS
    (bootloader) pg2fs_ship_signkey.img@BYPASS
    (bootloader) pmic-8996-1.img@100%
    (bootloader) rcdata.img@BYPASS
    (bootloader) recovery.img@BYPASS
    (bootloader) rfg_3.img@BYPASS
    (bootloader) rpm-8996-1.img@100%
    (bootloader) sensor_hub.img@BYPASS
    (bootloader) slpi.img@BYPASS
    (bootloader) tp_SYN3708.img@BYPASS
    (bootloader) tz-8996-1.img@100%
    (bootloader) usb_typec.img@BYPASS
    (bootloader) usb_typec_otp.img@BYPASS
    (bootloader) venus.img@BYPASS
    (bootloader) xbl-8996-1.img@100%
    (bootloader) radio.img@BYPASS
    FAILED (remote: 90 hboot pre-update! please flush image again immediately )
    finished. total time: 6.004s
    htc_fastboot finished. total time: 6.110s

    C:\Android\com>htc_fastboot flash zip rom.zip
    htc_fastboot v3.0.9.2 (2015-05-29)
    target reported max download size of 800000000 bytes
    sending 'zip' (85525 KB)...
    OKAY [ 5.312s]
    writing 'zip'...
    (bootloader) HOSD CL#738269
    (bootloader) GPT is up-to-dated. [17408]
    (bootloader) start@32
    (bootloader) aboot_signed.img@100%
    (bootloader) adsp.img@100%
    (bootloader) apdp-8996-1.img@100%
    (bootloader) cache.img@100%
    (bootloader) cmnlib32.img@100%
    (bootloader) cmnlib64.img@100%
    (bootloader) cota.img@100%
    (bootloader) devcfg-8996-1.img@100%
    (bootloader) dsp.img@100%
    (bootloader) fsc.img@100%
    (bootloader) cs_CY8C.img@BYPASS
    (bootloader) hosd_signed.img@100%
    (bootloader) hyp-8996-1.img@100%
    (bootloader) keymaster.img@100%
    (bootloader) lksecapp.img@100%
    (bootloader) modemst1.img@100%
    (bootloader) modemst2.img@100%
    (bootloader) pg2fs_ship_signkey.img@100%
    (bootloader) pmic-8996-1.img@100%
    (bootloader) rcdata.img@100%
    (bootloader) recovery.img@100%
    (bootloader) rfg_3.img@100%
    (bootloader) rpm-8996-1.img@100%
    (bootloader) slpi.img@100%
    (bootloader) tz-8996-1.img@100%
    (bootloader) venus.img@100%
    (bootloader) xbl-8996-1.img@100%
    (bootloader) radio.img@100%
    (bootloader) sensor_hub.img@BYPASS
    (bootloader) tp_SYN3708.img@BYPASS
    (bootloader) usb_typec.img@BYPASS
    (bootloader) usb_typec_otp.img@BYPASS
    (bootloader) Update zip file OK
    (bootloader) end@Done
    OKAY [ 15.235s]
    finished. total time: 20.547s
    htc_fastboot finished. total time: 25.326s

    C:\Android\com>


    Important: Should you decide to flash in RUUMode (instead of Download Mode like suggested further up), 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:
    Code:
    htc_fastboot  reboot
    Important: Download Mode flashes 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 until you have an idea what happened!

    5a.
    Code:
    htc_fastboot reboot-bootloader
    or press Power to return to Download Mode screen - depending on the mode you used to flash the zip. In Download Mode and Bootloader you can go to either regular reboot or shut-down the device via button navigation.

    5b. Optional:
    Code:
    htc_fastboot reboot
    to just reboot the phone to Android.​



    How to flash firmware using SDCard Method
    Prerequisites:
    • Compatible SDCard, should be formatted with FAT32 for older firmware, newer firmware can also handle ExtFS formatted cards.
    • A firmware.zip you would like to flash, taken from Post #2 (Downloads)
    • Phone charged up at least 30% (will fail with low power warning if lower than 30%)

    Step-By-Step:
    1. Rename your firmware.zip to exactly "2PS6IMG.zip" - make sure you enable "show file extensions" in Windows Explorer, if you rename it on your PC. Else you might end up with a "2PS6IMG.zip.zip" which won't flash.

    2. Copy your "2PS6IMG.zip" over to the root of your SDCard. Use a cardreader, or MTP protocol in Android or Recovery, or USB Mass Storage protocol in Recovery, or ADB push the file in Android or Recovery - many methods available.

    3. Now, if device is booted into Android, reboot into download mode by running:
    Code:
    adb reboot download

    3.a Or else, if your device is in a different state or you just prefer the button method:
    In Android: Press and hold Power and VolDown at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power, keep holding VolDown a little longer.
    During Boot and sometimes when booted into Recovery: Press and hold Power, VolDown and VolUp at the same time for approx. 15 seconds, when the screen and charging LED go dark immediately let go of power and VolUp, keep holding VolDown a little longer.

    4. Once Download Mode starts, it will "see" the 2PS6IMG.zip and ask you (yellow text at bottom of screen) if you want to flash the firmware. Press VolUp to confirm and proceed with the flash, or press VolDown to cancel and continue into Download Mode UI.


    5. Now check the screen while it flashes. It should stop at "end UI updating. Press Power to continue" - the phone will now shut off! To turn it back on, press and briefly hold power again.
    47
    Downloads

    Post_Header_Sneakyghost_DOWNLOADS.png
    Recent additions
    Please remember: you're writing to boot-critical parts of your phone. If anything goes wrong along the way, your phone might be bricked.
    • PMEWL_2.51.617.21_Unlocked_FullStock
    • PMEWL_2.51.617.21_Unlocked_TWRP3110_NoWipe
    • PMEWL_2.51.531.21_Unlocked_FullStock
    • PMEWL_2.51.531.21_Unlocked_TWRP3110_NoWipe
    • PMEWL_2.51.617.11_Unlocked_FullStock
    • PMEWL_2.51.617.11_Unlocked_TWRP3110_NoWipe
    • PMEWL_2.51.617.1_Unlocked_FullStock
    • PMEWL_2.51.617.1_Unlocked_TWRP3110_NoWipe
    • PMEWL_2.50.617.2_Unlocked_FullStock
    • PMEWL_2.50.617.2_Unlocked_NoWipe_TWRP3110
    • PMEUHL_2.48.841.3_TELSTRA_FullStock
    • PMEUHL_2.48.841.3_TELSTRA_NoWipe_TWRP3110
    • PMEUHL_2.41.401.41_WWE_FullStock
    • PMEUHL_2.41.401.41_WWE_TWRP3110_NoWipe
    • PMEUL_2.41.531.44_TMUS_FullStock
    • PMEUL_2.41.531.44_TMUS_NoWipe_TWRP3110
    • PMEWL_2.46.617.2_Unlocked_FullStock
    • PMEWL_2.46.617.2_Unlocked_TWRP3101_NoWipe
    • PMEUHL_2.41.401.4_WWE_FullStock
    • PMEUHL_2.41.401.4_WWE_TWRP3030_NoWipe
    • PMEWL_2.41.617.3_Unlocked_FullStock
    • PMEWL_2.41.617.3_Unlocked_TWRP3030_NoWipe
    • PMEUHL_1.92.709.1_Asia-TW_FullStock
    • PMEUHL_1.92.709.1_Asia-TW_TWRP3030_NoWipe
    • PMEUHL_1.98.709.5_R_Asia-TW_FullStock
    • PMEUHL_1.98.709.5_R_Asia-TW_TWRP3030_NoWipe
    • PMEUHL_2.41.709.3_Asia-TW_FullStock
    • PMEUHL_2.41.709.3_Asia-TW_NoWipe_TWRP3030
    • PMEUL_2.37.531.5_TMUS_FullStock
    • PMEUL_2.37.531.5_TMUS_NoWipe_TWRP3030
    • PMEUHL_2.28.401.9_WWE_TWRP3027_NoWipe
    • PMEUHL_2.28.401.6_WWE_TWRP3027_NoWipe
    • PMEWL_2.28.617.8_Unlocked_TWRP3027_NoWipe
    • PMEUHL_2.28.401.9_WWE_FullStock
    • PMEUHL_2.28.401.6_WWE_FullStock
    • PMEWL_2.28.617.8_Unlocked_FullStock

    Download

    Notice:

    • The WWE/401 versions are usually tested by me before release. US Unlocked / 617 is usually tested by at least someone from Venom Beta. Other zips will be flagged completely untested when applicable. Please keep a lookout for my "Notes" in the release posts so you know whether or not a specific zip was tested!
    • REQUESTS: If you want some NoWipe or FullWipe firmware package added, send me the original untouched HTC base files required, either on thread (preferred) or via PM.

    Credits

    I have long lost track of my firmware sources. I am sorry i cannot name you guys all personally. The most common source would be @LlabTooFeR, @djluisbento, @AndroidFileHost (androidruu.com) HTCDev and some occasional random sources that come and go.
    I would also 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 @Captain_Throwback
    because of their fantastic script that makes running Unruu, 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!
    And last but not least: without the work of Team SunShine, firmware flashing like this wouldn’t be possible! Not to be forgotten!
    If you find your stuff here and want to be included in the credits please contact me. I am very grateful for everyone busy providing dumps and direct leaks.


    Disclaimer

    You are aware that writing to security protected, boot-critical 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 well tested, however you are the brains behind the wheel and you are solely responsible for the execution of the process. I will not accept any liability. The method itself is developed by Google and HTC, I only provide access and information to it and I am trying my best to make it understandable and simple. Do not use this if you have difficulties understanding what this is!

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

    The Batch Tool - a thing i am using for myself since 2012 and which i am sharing just because i have it. It is neither good nor special, but its the way i work and people who follow the instructions here might find it easier to use the same setup as we do.
    It also has the "FUU" method included - details on that method will be added at a later stage. We do not consider the FUU a good option to flash Firmware anymore because we realized that getting away from ADB and Fastboot with toolkits makes troubleshooting harder at a later stage - people relying entirely on toolkits and tools will mostly not understand what is happening and helping there is much harder.

    Since everything i do basically works out of the C:\Android\com path, all my zipped-up stuff extracts to that location. The FUU and the Task-Batch-Script both work from that location. This is simply to enable easier and faster creation of new zip’s if they all use the same base structure.
    If you prefer to work from a different location. you can specify a different path in the installer. However, the batch scripts do not adjust automatically, which means if you use another path, you might need to open up the scripts in an editor and adjust some paths manually.


    Preview:
    TNnMNV9fhjOdwNBxcVmZSH86pNdGK7K8mz-1mDciD7W00MoNlpJ95MOm5qEgOnFa_6g5FkTosxGlvFm7wJf2IDoyZBm2b3bnSPyTOKKBLLOZ7UCkMK26yeo3wtCCShFYLl-4BVXY8UQ0ZIbgnD6yalaF3OEOCTG5MdM4uvKmuH7zOsdCjjikC6vbOP_WaHGmO0uliygwAg3tq2kKsTtYqnQXrabcKhdWlkTfhYgkhWgeXIKQr7W5HhWbT7CLbQGhZesrNmm6HDuryzsRTTggjPrxevooS4u0hw4JCX_tVJsh2vkfR8RZnscIrMOdOlarnpN6j4eNXLBdHnISUf7N2eg9AJio63K38_6TWwct2rC1Vk-3JzU2Ujy0NaV8iKOShnrKA96iP3AA7EmlBBJ-waGXebBG1AXWtaTIAwM2Lshr5mN1BwFsbfMYTr1Aq1mpbMjFpU3QUtcOl6JWViBre8-fRAl-5fLJ3NvPmHH63QPXsfNZVaSJbT4pYStzqNuuVRZtLwNadkx_LamADlCLHixDNSvs9JN4Lly7jTDCsZPOmkTta8tgf1EU1IqoR9aHcaQX3xzz3mMY24gUnP4WFgxsePto2Ju3NtudLtzDwBM=w728-h677-no


    DOWNLOAD
    MD5: 240ddf273ab211e9fdc65c684b828d75​

    The installer is just a simple WinRAR self extracting archive - there is NOTHING BAD in there i swear! Open it with WinRAR 5 and look inside. You will see if you don't trust me.

    Changelog:


    • 1.4.2
    • Updated partition images (stock and custom recoveries)
      1.4.1
    • Updated partition images (stock and custom recoveries)

    • 1.4.0
    • Updated partition images and flashing for HTC10
    • Updated Splash Screen converter for new res and location
    • Updated raw dump (DD) script for GSM model (No Sprint, No VZW!)
    • Updated ADB and its api with the version from US Unlocked 1.53.617.5 RUU.
    • Removed kernel flashing option and replaced with Insecure ADB patched kernel option.
    Previous versions (HTC One M9/8/7):

    • 1.3.1
    • Updated TWRP to 3.0.2-
      1.3.0
    • Updated stock recovery to 3.35.401.12 and TWRP to 3.0.0-2
      1.2.9
    • Updated ARUWizard to 3.0.4.2015 from HTC’s One M8 DevEd Marshmallow RUU.
    • Swapped out stock recovery for 3.35.401.10 (WWE Marshmallow release).
      1.2.8
    • Splash1 converter works now. Flashing Splash1 now needs a reboot to Bootloader - it's not working in Download Mode! (limited DD support on the M9 and general flashing system changes).
    • Swapped out recoveries for newer versions.
    • Finally added the complete file set from RUU 3.0.1.2015 - the newest M9 RUU. ADB and Fastboot are identical to the previous version from Llabtoofer though.
    • Screenrecord removed - can’t be bothered figuring out why it doesn’t work anymore. Probably SELinux and general Android 5.x security like with the screenshot function. Not really needed either. There are other solutions.
      1.2.7
    • Swapped out recoveries for newer versions.
    • Swapped out ADB and Fastboot for a newer pack (thanks @LlabTooFeR) - now this Tool is fully M9 compatible and even flashes large RUU.zips.
      1.2.6
    • Changed everything to M9 files and methods. I HOPE I didn't oversee anything. Please test carefully!
    • Added stock_recovery_1.32.401.8.img
    • Added TWRP Recovery 2.8.6.0 fixed version from Captain_Throwback SOURCE Post #2 Beta version
    • Added original HIMA Splash1 - S-OFF phones only!
      1.2.5
    • Added TWRP Recovery 2.8.5.2 from Captain_Throwback (All M8 devices)
    • Fixed Recovery Screenshot option (20)
      1.2.4
    • Added newer RUU structure (2.0.16.2014 - from 4.16.1540.8 Dev Edition RUU)
    • Added Stock Recovery 4.16.401.10.img (WWE)
    • Changed the License and SFX texts again (Installer) - never happy with it.
      1.2.3
    • Fixed some serious crap nobody reported. I just found out myself.
    • Added Stock Recovery 4.16.1540.8 (sorry still don't have the WWE recovery, but i guess they are identical)
    • Added TWRP 2.8.4.0 from the M8 tree of Dees_Troy.
      1.2.2
    • Added Stock Recovery 3.28.401.7
      1.2.1
    • Added Microsoft's vcredist_x86_2008_SP1.exe to the installer because the ARUWizard is build on the x86 Visual Studio 2008 runtime. This resolves the "side-by-side configuration" error.
    • Added 3.28.401.6 stock recovery and splash
    • Added newer RUU structure (doesn't do any difference though, just keeping it up to date)
    • Added TWRP 2.8.0.3 (it still has slight issues with MTP which will be fixed soon but for now, this is good enough)
    • Changed a few lines in the script (minor, cosmetical stuff)
    • Updated the INFO PDF (option 24)

    Known Issues:

    • [20] Screenshot (Res: FullHD, PxFormat: RGB8888), check \dump\ Folder - Not adjusted! Won't work!
    • [21] Screenrecord (drops file to /dump folder) STOP recording with CTRL+C - Not adjusted! Won't work!
    31
    Wwe oreo 3.16.401.2 firmware

    Recent Firmware Additions from santod040
    (SneakyGhost is not responsible for the files in this post, nor did he ask that I post them. He did however give me permission to post them here)
    Downloads are currently located directly in this post and are not indexed in the OP.


    WARNINGS:

    1. All new files are untested by me personally but are verified to be working.
      You understand that you are choosing to flash these files at your own risk and nobody is to blame if something should go wrong.
      Please see notes below.

    2. This firmware is for OREO ONLY
      Once you update to Oreo, you will no longer have a baseband if you try to return to Nougat.
      No RUU will fix it.
      Only upon returning to Oreo will you have a baseband again!
      YOU HAVE BEEN WARNED


    NOTES:
    I have provided 3 different zips for the Oreo WWE 3.16.401.2 firmware
    Please pay attention to the details and choose the proper package for your situation.

    CREDITS: All the HTC Legends out there ;)

    Other stuff
    1. This stuff, that stuff, and some more stuff....


    ENJOY! :good:
    31
    Rcent additions: 2.41.401.3

    Take a Look at my Profile Flag, then you will See that my native language is german.

    But What was wrong with my comment?


    Gesendet von iPhone mit Tapatalk

    Man I'll send @j to the 4n your way. He lives just around your corner. He'll teach you XDA nettiquette. He knows Kung Fu.

    Recent Additions

    • PMEUHL_2.41.401.3_WWE_FullStock
    • PMEUHL_2.41.401.3_WWE_TWRP3030_NoWipe

    WARNINGS:

    1. NoWipe tested. Working. See my log.
      Code:
      sending 'zip' (91393 KB)...
      OKAY [  3.967s]
      writing 'zip'...
      (bootloader) HOSD CL#857212
      (bootloader) GPT (gpt_main_32g.img) is up-to-dated. [17408]
      (bootloader) WARN Skip partition_info due to unmatched partition name
      (bootloader) get 32 images from zip(zip_type=3)
      (bootloader) start@32
      (bootloader) aboot_signed.img@100%
      (bootloader) adsp.img@100%
      (bootloader) apdp-8996-1.img@100%
      (bootloader) cache.img@29%
      (bootloader) cache.img@58%
      (bootloader) cache.img@88%
      (bootloader) cache.img@100%
      (bootloader) cmnlib32.img@100%
      (bootloader) cmnlib64.img@100%
      (bootloader) cota.img@100%
      (bootloader) devcfg-8996-1.img@100%
      (bootloader) dsp.img@100%
      (bootloader) fsc.img@100%
      (bootloader) cs_CY8C.img@BYPASS
      (bootloader) hosd_signed.img@100%
      (bootloader) hyp-8996-1.img@100%
      (bootloader) keymaster.img@100%
      (bootloader) lksecapp.img@100%
      (bootloader) modemst1.img@100%
      (bootloader) modemst2.img@100%
      (bootloader) pg2fs_ship_signkey.img@100%
      (bootloader) pmic-8996-1.img@100%
      (bootloader) rcdata.img@100%
      (bootloader) recovery.img@100%
      (bootloader) rfg_3.img@100%
      (bootloader) rpm-8996-1.img@100%
      (bootloader) slpi.img@100%
      (bootloader) tz-8996-1.img@100%
      (bootloader) venus.img@100%
      (bootloader) xbl-8996-1.img@100%
      (bootloader) radio.img@100%
      (bootloader) sensor_hub.img@BYPASS
      (bootloader) tp_SYN3708.img@BYPASS
      (bootloader) usb_typec_otp.img@BYPASS
      (bootloader) usb_typec_otp_ad.img@BYPASS
      (bootloader) Update zip file OK
      (bootloader) end@Done
      OKAY [ 19.052s]
      finished. total time: 23.019s
      htc_fastboot finished. total time: 23.136s
      
      C:\Android\com>
    2. FullStock tested. Working. Thank you @ivicask (I nearly shat myself. Too funny. Next time before flashing something, ask what it does :laugh:)
    3. Might cause another reboot after first boot and a "new SIM inserted" message. This is normal!

    NOTES:
    • Dunno... nuffin?

    CREDITS: Dunno? Guess the usual suspect... And sorry mate for not checking in with you first. I made a mistake. Apologies. Will be more observant next time.

    Other stuff
    1. I'll update this tomorrow... **yaaaaawn!**... or not.