[One (M8) Android Development] enewman17:
M8 Google Play Edition RUU and Flashable Stock ROM

March 16th 2016 - Android 6.0 - Build

MRA58K.H11

- Firmware version

5.07.1700.11

​

*Disclaimers*​

There is always a chance things may go wrong. As always, you take responsibility for what you do with your device, you should know what your getting yourself into. If you don't, STOP! Please do not flash this! You need to READ, READ, READ the OP and these forums until you feel confident enough to do so.

Directions for flashing the ROM or RUU are laid out step by step. Read them! If you read them there should be no issues and you will have a good day. If you don't and decide to skip over things then you will have a bad day. I'm sorry but do not report your issues if you cannot be bothered to read and follow directions. Experience, knowledge and common sense is required.

Special Notes

1. The RUU is meant for restoring GPe devices and for those who want to "convert" their device to GPe. *Must be S-Off

2. Before using the RUU to "convert" your device to GPe, I suggest you try the flashable ROM first. *Flashable Stock ROM is S-ON compatible.

Remember, you DO NOT need to use or "convert" to any GPe firmware to boot the Flashable Stock ROM

.

Prerequisites for flashing RUU's and firmware

1. Must have knowledge of adb and fastboot plus a working setup on your PC, Linux or Mac.

Note: Mac and Linux users, the fastboot and adb commands presented in the instructions below must include ./ so it would be ./fastboot or ./adb but you already knew that.

If you have issues with fastboot that came in the Android sdk try this version. PC HTC fastboot, Mac HTC fastboot, Linux HTC fastboot.

2. HTC drivers installed. HTC sync should be uninstalled or make sure it doesn't launch when your phone is connected.

3. A microSD card

4. Must be S-Off

GPe RUU

*Know your skill level, don't do this if don't understand what your doing.

*Anytime you flash an RUU it will wipe /data /cache & internal storage.

*GPe device or not, the RUU is not signed with HTC's special keys so you must be S-Off.

*About using the RUU to convert to GPe*

*GSM Devices Only! Verizon and Sprint / CDMA devices are not compatible. Dual SIM M8's are also not compatible.

*Converting to GPe, you must be S-Off.

*Converting to GPe will partition your /system to 1 gig. The Sense partition is 2.62 gig, you will have to convert back to flash Sense ROMs again.

*When receiving OTA updates it is likely they will fail if you are rooted or have made any other /system alterations. When the script verifies the /system, /bin/app_process32 is checked. Root and Xposed both modify this file.

Changing the CID

All these CID and MID's will be accepted for the update. While the updater script will flash using supercid 11111111 the firmware will fail because these are the only CID and MID's that are in the android-info.txt

modelid: 0P6B10000
modelid: 0P6B12000
modelid: 0P6B13000
modelid: 0P6B11000
modelid: 0P6B15000
modelid: 0P6B16000
modelid: 0P6B17000
cidnum: GOOGL001

Make note of your original CID and MID. If your MID isn't listed in that list then you probably don't have a GSM device. If your device is indeed a GSM device you should not have to change your MID. If you have a GSM device you may choose to change the MID to match the Google version so you know OTA's don't fail but so far it's not necessary since HTC has been nice enough to include all the GSM MID's in the android-info.txt in the firmware part of the update and updater scripts.

If your MID is one of the following please stop and do not use the RUU, you have a CDMA device and this RUU is not compatible.

Verizon 0P6B20000

Sprint 0P6B70000

Europe M8 Dual sim 0P6B64000 <--- It is a GSM device but still not compatible.

How to check:

adb shell or terminal emulator: getprop ro.boot.cid in 6.0 use getprop ro.cid and getprop ro.boot.mid or getprop ro.mid

In fastboot: fastboot getvar all

Changing the CID

1. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

*Alternatively, Power off device then Hold Power and Volume Down, select fastboot, plug phone into PC

2. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

3. fastboot oem writecid GOOGL001 "press enter"

4. fastboot reboot-bootloader "press enter"

Changing the MID refer to this thread. Google MID is 0P6B17000 http://xdaforums.com/showthread.php?t=2708581

Flashing the RUU

1. If you can, flash it via fastboot method.

2. If you can't use fastboot then try the Ext. SD card method. For Marshmallow rename the file 0p6bdiag.

3. If you followed the steps below and your still stuck in an infinite loop try flashing TWRP or Philz and do a factory reset from there, it has worked for others.

Method 1

*ADB / Fastboot*

First, make sure you have the path to adb and fastboot setup in your system environment variables

When you open a command prompt, open it in the folder the zip is in. Hold shift, Left Mouse click, open command prompt here.

1. Rename the RUU.zip to something short and easy like RUU.zip

2. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

3. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

4. fastboot flash zip RUU.zip "press enter"

*You will get the following message: FAILED (remote: 90 hboot pre-update! please flush image again immediately)

*RUU mode will reboot,

*Now run the same command again,

5. fastboot flash zip RUU.zip "press enter"

6. fastboot reboot-bootloader "press enter"

7. Select hboot, Do a factory reset in recovery. To enter the recovery menu when greeted by the Android with an exclamation, Hold Power button and click Volume UP.

8. Done, reboot system

Method 2

*External / mircoSD card*

1. Rename the RUU.zip to "0p6bimg" or "0p6bdiag" Note: the name is not case sensitive

2. Place the zip in the root of your external SD card

3. Power off the phone

4. Boot into Hboot (hold volume down as you power on the device)

5. The zip will automatically load and ask you if you would like to proceed

6. Select "Yes"

7. Wait, the zip will load the hboot first, it will then reboot and continue

8. Reboot then remove your sdcard. Hold Power and Volume UP until it reboots then Hold Power and Volume down until you get back to hboot.

9. Do a factory reset in recovery. To enter the recovery menu when greeted by the Android with an exclamation, Hold Power button and click Volume UP.

10. Done, reboot system

Root

Systemless Root Simply flash the newest SuperSU in a custom recovery.

Important! Update to TWRP 3 Official TWRP image download

Stable: http://xdaforums.com/showthread.php?t=1538053

Beta: http://xdaforums.com/apps/supersu/2014-09-02-supersu-v2-05-t2868133

Download

AFH Repository

DevDB

Graffixnyc Repository

Do Not Disturb, Priority Mode Starred Contact Fix

Flashable Stock GPe ROMs

Update to TWRP 3 Official TWRP image download

Special notes:

[*] Builds now use AROMA installer with Stock, Traditional Root and Systemless Root installs.

[*] Nothing special it's a stock ROM, flash it in a custom recovery like any other ROM out there.

[*] S-ON compatible

Install: using TWRP 3

1. Perform a data / factory reset if coming from a different ROM *If your updating this ROM no wipe is necessary.

2. Flash ROM.

3. Reboot and Enjoy!

4. First boot will take 5 to 10 minutes, on average I've noticed it takes about 7.

Download

AFH Repository

DevDB

Graffixnyc Repository

Verizon Port

Sprint Port

Firmware

What is firmware you ask. By most peoples definition here on XDA it would be any other software that does not pertain to the OS and kernel. Usually there are two essential pieces of software that are needed to run the device and OS. The first is working drivers, in Android it would be the kernel and modules which is the software that lets your OS talk to the hardware. The second is firmware, which is a small piece of code that is flashed directly to the device for it to function correctly. Firmware is a way of programming the hardware inside the device itself.

*Must be S-Off to flash these firmware files. The firmware.zips are not signed with HTC's special keys so they will fail if your S-On. They are modified in a sense as they do not contain a boot.img or recovery.img anymore, this is why they are not signed. Now you can flash them over any OS without having to restore your boot.img and recovery. Stock recoveries are available as a separate flash.

*If the GPe ROM booted and your not having any major issues I suggest you leave your firmware alone.... but if you choose to you can flash the GPe firmware without hboot (hboot is the booloader). This will give you the benifits of the GPe firmware while retaining your Sense partition of 2.62gig, plus your internal storage won't get wiped in this process. Then if you decide to flash a Sense ROM later you don't have to go through the hassle of converting back. Sense ROMs work perfectly fine with the GPe firmware without hboot, but if you want to get back to your carriers original firmware its a simple matter of flashing a firmware zip.

Flashing instructions

Method 1

*External / mircoSD card*

1. Rename the firmware zip to "0p6bimg" or "0p6bdiag" Note: the name is not case sensitive

2. Place the zip in the root of your external SD card

3. Power off the phone

4. Boot into Hboot (hold volume down as you power on the device)

5. The zip will automatically load and ask you if you would like to proceed

6. Select "Yes"

7. Wait, the zip will load the hboot first, it will then reboot and continue

8. Make sure to delete or rename the Op6bimg.zip on your external sdcard when your finished

Method 2

*ADB / Fastboot*

First, make sure you have the path to adb and fastboot setup in your system environment variables

When you open a command prompt, open it in the folder the zip is in. Hold shift, Left Mouse click, open command prompt here.

1. Rename the firmware.zip to something short and easy like firmware.zip

2. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

3. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

4. fastboot flash zip firmware.zip "press enter"

*You will get the following message: FAILED (remote: 90 hboot pre-update! please flush image again immediately)

*RUU mode will reboot,

*Now run the same command again,

5. fastboot flash zip firmware.zip "press enter"

6. fastboot reboot-bootloader "press enter"

Latest firmware zips, GPe and Sense

AFH Repository

Return to Sense after conversion

This is not a support thread for how to return to sense. Do not report issues or ask for help here.

1. Refer to Changing the CID below and change it to super CID 11111111

2. Download this firmware package. http://www.androidfilehost.com/?fid=23329332407589439

If it doesn't end up working for you use a different firmware zip. All the packages available in the firmware section have everything you need except you will need to download the corresponding recovery zip as well. Either flash the recovery file separately after the firmware zip or simply extract the recovery.img from the zip and add it to the firmware zip before proceeding. If you need a zip utility I use 7zip

3. It's recommended you use fastboot method as described in step 4, but you can flash the firmware zips with the sd card method if you prefer, once your done proceed to step 10.

4. Rename the firmware.zip to something short and easy like firmware.zip

5. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

*Alternatively, Power off device then Hold Power and Volume Down, select fastboot, plug phone into PC

6. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

7. fastboot flash zip firmware.zip "press enter"

*You will get the following message: FAILED (remote: 90 hboot pre-update! please flush image again immediately)

*RUU mode will reboot,

*Now run the same command again,

8. fastboot flash zip firmware.zip "press enter"

9. Done. fastboot reboot-bootloader "press enter"

10. Do a factory reset in recovery. If you boot into recovery and the menu doesn't appear and your greeted by a "red triangle with an exclamation" hold volume up and click power, if that doesn't work reverse the button combo.

11. Reboot back into the bootloader

12. Flash TWRP, Fastboot method: fastboot flash recovery twrp-3.0.0-1-m8.img or Ext. SD card method. If the current TWRP doesn't boot for you use 2.7.0.2

13. Boot into TWRP

14. Perform a full factory reset

15. *Important: Reboot recovery

16. Install a Sense ROM or use an RUU.exe

17. Flash an updated firmware package, the one you downloaded in step 2 is really old. If you flashed an RUU then there is no need to perform this step.

Original thread..

Sense RUU's.

Changing the CID

Your CID and MID must match the RUU you want to flash. Chances are you never messed with the MID but if you did you should probably change it back. Refer to this thread if you did change your MID. http://xdaforums.com/showthread.php?t=2708581

How to check:

adb shell or terminal emulator: getprop ro.boot.cid and getprop ro.boot.mid

In fastboot: fastboot getvar all

Not sure what your CID & MID was originally? Here is a list.

If you don't remember try using Super CID 11111111

CID	MID	Carrier

CWS__001	0P6B12000	AT&T
T-MOB010	0P6B13000	T-Mobile
GOOGL001	0P6B17000	Google Play Edition
BS_US001	0P6B12000	Developer edition
BS_US002	0P6B13000	Developer edition
HTC__023	0P6B11000	Australia
HTC__032	0P6B10000	Europe
HTC__001	0P6B10000
HTC__J15	0P6B10000
HTC__E11	0P6B10000
HTC__203	0P6B10000
HTC__102	0P6B10000
HTC__405	0P6B10000
HTC__Y13	0P6B10000
HTC__A07	0P6B10000
HTC__304	0P6B10000
HTC__016	0P6B10000
HTC__M27	0P6B10000
HTC__K18	0P6B10000
HTC__002	0P6B10000
HTC__A48 0P6B10000

1. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

*Alternatively, Power off device then Hold Power and Volume Down, select fastboot, plug phone into PC

2. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

3. fastboot oem writecid XXXXXXXX "press enter" replace xxxxxxxx with a cidnum

4. fastboot reboot-bootloader "press enter"

Flashing the RUU

First option and the one you should use. RUU.exe from HTC. Simply run the RUU from your PC to return to stock.

http://www.htc.com/us/support/rom-downloads.html

UK and international users. 4.16.401.10 RUU.exe

https://www.androidfilehost.com/?fid=24052804347849198

---------------------------------------------------------------------------------------------------

Second option. RUU.zip

These RUUs were made by decrypting the official HTC RUU.exe's using this tool

* WWE International * DevEdition * AT&T * TMOUS *

https://www.androidfilehost.com/?w=files&flid=41675

---------------------------------------------------------------------------------------------------

RUU flashing

Method 1

*ADB / Fastboot*

First, make sure you have the path to adb and fastboot setup in your system environment variables

When you open a command prompt, open it in the folder the zip is in. Hold shift, Left Mouse click, open command prompt here.

1. Rename the RUU.zip to something short and easy like RUU.zip

2. adb reboot bootloader "press enter" Wait till phone reboots into fastboot

3. fastboot oem rebootRUU "press enter" Wait till the phone is in RUU mode (black screen with HTC logo)

4. fastboot flash zip RUU.zip "press enter"

*You will get the following message: FAILED (remote: 90 hboot pre-update! please flush image again immediately)

*RUU mode will reboot,

*Now run the same command again,

5. fastboot flash zip RUU.zip "press enter"

6. fastboot reboot-bootloader "press enter"

7. Select hboot, Do a factory reset in recovery. To enter the recovery menu when greeted by a "red triangle with an exclamation", Hold Volume UP and click Power.

8. Done, reboot system

Method 2

*External / mircoSD card*

1. Rename the RUU.zip to "0p6bimg" or "0p6bdiag" Note: the name is not case sensitive

2. Place the zip in the root of your external SD card

3. Power off the phone

4. Boot into Hboot (hold volume down as you power on the device)

5. The zip will automatically load and ask you if you would like to proceed

6. Select "Yes"

7. Wait, the zip will load the hboot first, it will then reboot and continue

8. Reboot then remove your sdcard. Hold Power and Volume UP until it reboots then Hold Power and Volume down until you get back to hboot.

9. Do a factory reset in recovery. To enter the recovery menu when greeted by a "red triangle with an exclamation", Hold Volume UP and click Power.

10. Done, reboot system

FAQs & Issues

FAQs

Q. Can I take OTA updates?

A. If you did the non rooted RUU and your /system is unaltered, you have the stock recovery and you have changed the CID to GOOGL001 then YES, yes you can.

Q. Is this compatible with my device?

A. The ROM and RUU are only compatible with GSM devices. If you got your phone through Verizon or Sprint then No you can't use this. Dual SIM M8's are also not compatible.

Q. Do I have to be S-Off to use the flashable stock ROM?

A. No

Q. Do I have to convert or use GPe firmware to use the flashable stock ROM?

A. No. If your phone had Sense 6 5.0.1 out of the box or you had taken that OTA, your bootloader is unlocked and have TWRP installed then your good to flash the stock ROM.

Q. Do not disturb, priority mode doesn't seem to work...

A. Thanks to [MENTION=3390735]kbitz[/MENTION] for the fix Do Not Disturb, Priority Mode Fix http://xdaforums.com/showpost.php?p=64809811&postcount=4041

Q. I can't get RRO layers to work, what am I doing wrong?

A. Nothing, RRO Layers was not included by HTC. So in short it doesn't work nor will it ever! Don't even ask!

Q. How do I enable the SystemUI Tuner in 6.0?

A. Pull down the notification shade, Long press the settings gear. It's hard to see but the gear will spin under your finger. Press and hold, this may take a long time and may take multiple attemps but you will get a toast saying the "SystemUI Tuner is active". The menu will appear in the settings under About phone.

Q. How do I enable multi window in 6.0

A. You need to edit the build.prop, look for ro.build.type=user change it to ro.build.type=userdebug save the file and reboot. If you haven't already you need to enable developer options. In About phone you have to tap the build number several times to enable. In developer options you'll find the multi window switch about 3/4ths the way the down the settings list.

Q. Does the duo camera Ufocus and 3D effects work on GPe?

A. Yes it does. Google camera supports the duo effect. HTC FX editor is a stock feature of GPe so Ufocus and 3D effects all work.

Q. I don't see Trusted face in Smart lock, am I missing something?

A. Trusted face was removed in 5.0.1, probably to make room in the /system. Trusted face for (M8) GPe Marshmallow. Ported from the Nexus 6

Q. I can't get Titanium Backup to work with my sd card, I keep getting an insufficient free storage error.

A. Take a look at this post. http://xdaforums.com/showpost.php?p=64064833&postcount=3714

Q. I'm having Ext. SD card permission issues with ***** app. It can't write to my external microSD card.

A. In Lollipop and Marshmallow your app needs to be granted permissions to the root of the Ext. SD card by DocumentsProvider Storage.

1. The app may need updated. Usually the app will open the DocumentsProvider so you can select your card.

2. Make sure when you selected the Ext. SD card in DocumentsProvider that you were in the root directory.

Issues

1. WiFi may drop out when the screen is off. This issue involves more then just firmware. 5.0.1 and 5.1 used new DHCP protocols, 6.0's protocols are updated and work better on legacy devices but you may have less or no drop out issues with newer WiFi

routers.

2. Do not disturb / Priority mode is broken... HTC added some code from sense that has broken your notifications from starred contacts when DND is enabled. When DND is enabled with "Priority Only" and a starred contact sends you a text or phone call the ringer should sound and vibrate depending on what your configuration is, but what happens is when the contact is validated its looking for a column "VIP" in the contacts.db, well "VIP" doesn't exist in Google contacts only in Sense contacts... so it doesn't validate and you don't get the notification. Flashable fix.

XDA:DevDB Information

HTC One M8 Google Play Edition, ROM for the HTC One (M8)

Contributors

enewman17

ROM OS Version: 6.0.x Marshmallow

ROM Kernel: Linux 3.4.x

ROM Firmware Required: 5.07.1700.11

Based On: GPe

Version Information

Status: Stable

Current Stable Version: MRA58K.H11

Stable Release Date: 2016-03-16

Created 2016-02-28

Last Updated 2016-04-06