M8 with courrput Model ID, how to fix ?

Mar 12, 2017
9
0
0
I have M8 sprint version, M8_WHL. the mobile is stuck on logo and whenever I try to flash it; it fails due to wrong Model ID (MID).

Here the info of the device:
Security status: S-OFF
Model Id: 0P6B10\x000���������������������
Custom Id: 11111111 (ALL)
Serial number: HT446SF00917
Product: m8_whl
IMEI: XXXXXXXXXXXXXXXX
Platform: hTCBmsm8974
Bootloader ver: 3.19.0.0000
Baseband ver: 1.08.20.0916
Cpld verersion: None
Microp version: None
Main version: 2.16.654.4
Battery Status: good
Battery Volt: 0mV
PartitionLayout: Generic
Commitno bl: 8a0f02ff
Hbootpreupdate: 11

--------------------
Now what to do, I thought about reflashing Hboot 3.19 or only modify the MID but didn't find the way, I'd really appreciat your help :)
 

redpoint73

Recognized Contributor
Oct 24, 2007
15,259
6,946
113
I thought about reflashing Hboot 3.19 or only modify the MID but didn't find the way
Did you try to modify the MID (and made it the way it is), or was it done by someone else?

Flashing HBoot won't fix the MID, if that is what your thinking was. Did you try the adb command to make it back to the Sprint MID?

I've seen some folks with the Sprint M8, with similar issue, with the MID is corrupt or weird or whatever you might call this situation. And I don't think there was a solution found. Trying to change the MID with adb failed in the situations I've read.

One workaround might be to unlock the bootloader (if not already - does it say UNLOCKED, RELOCKED or LOCKED on the bootloader screen?) flash TWRP and restore a 2.16.654.4 stock backup, if you can find one. Or a 2.xx based custom ROM intended for Sprint. You might get the phone back up and working that way, although it will still be on Kitkat.

Or you can try one of the modified firmware 6.20.651.3 zips, to see if they will flash. Although I'm thinking those might still fail MID check. But if it did work, your firmware would be updated to Marshmallow, and you can then restore a stock Sprint MM backup (6.20.651.3 ), or MM custom ROM for Sprint. https://forum.xda-developers.com/showthread.php?t=2729173

So the short story, I don't know if the MID can be fixed. But you can probably get the phone back up and running.
 
Mar 12, 2017
9
0
0
Did you try to modify the MID (and made it the way it is), or was it done by someone else?

Flashing HBoot won't fix the MID, if that is what your thinking was. Did you try the adb command to make it back to the Sprint MID?

I've seen some folks with the Sprint M8, with similar issue, with the MID is corrupt or weird or whatever you might call this situation. And I don't think there was a solution found. Trying to change the MID with adb failed in the situations I've read.

One workaround might be to unlock the bootloader (if not already - does it say UNLOCKED, RELOCKED or LOCKED on the bootloader screen?) flash TWRP and restore a 2.16.654.4 stock backup, if you can find one. Or a 2.xx based custom ROM intended for Sprint. You might get the phone back up and working that way, although it will still be on Kitkat.

Or you can try one of the modified firmware 6.20.651.3 zips, to see if they will flash. Although I'm thinking those might still fail MID check. But if it did work, your firmware would be updated to Marshmallow, and you can then restore a stock Sprint MM backup (6.20.651.3 ), or MM custom ROM for Sprint. https://forum.xda-developers.com/showthread.php?t=2729173

So the short story, I don't know if the MID can be fixed. But you can probably get the phone back up and running.
thx for reply Mr.redpoint73, I've unlocked the bootloader and flashed twrp with supersu, and tried to modify MID via adb but no success, now I got simple question, which stock backup can I restore, should it be the same exact version or any other kitkact backup ?
 

redpoint73

Recognized Contributor
Oct 24, 2007
15,259
6,946
113
tried to modify MID via adb but no success
What does this mean specifically? Did you use the command for the Sprint MID, or otherwise? What was the result: did it say it was successful, or was there an error code, etc. Clearly the MID didn't change, so I realize that much. But it may help to know the rest.

---------- Post added at 09:24 AM ---------- Previous post was at 09:13 AM ----------

There are a lot of backups, but all for m8_ul not sprint, I don't know if some may work ?
They won't work. The Sprint M8 uses a different kernel, so you would need a backup or ROM intended specifically for they Sprint M8.

First, I'd like to see if you can run one of the "modified" 6.20.651.3 firmware zips from here (use fastboot method): https://forum.xda-developers.com/showthread.php?t=2729173

I'm hoping that since they are modified, they may not have the MID check. I'm not too optimistic, but it's worth a try.

Reason I want to try this, is that since you are still on Kitkat firmware, you will be limited to Sprint Kitkat ROMs, which is very limiting. Flashing anything but Kitkat will likely result in broken WiFi, extreme long boot, audio issues, etc.

So try flashing one of the modified 6.20.651.3 firmwares, and tell me whether it works or not (and the error message, if it doesn't work). If you get an error to "flush again immediately" that is a good thing, just use the command to flash the firmware again.
 

ckpv5

Recognized Contributor
Feb 11, 2008
14,359
18,290
0
Kuala Lumpur
I've seen some folks with the Sprint M8, with similar issue, with the MID is corrupt or weird or whatever you might call this situation. And I don't think there was a solution found. Trying to change the MID with adb failed in the situations I've read.
This usually happened because they personally wrote the code instead of copy paste the provided code

OP has this 0P6B10\x000��������������������� because the MID was intended to change from Sprint to EU but in the code, it was written \x but missing 00 where the correct one is \x00 means blank, the blank is needed in between digit & alphabet.

(Checked old thread - this \x happened when a space is there between codes - x00\ x30 when the correct one should be x00\x30)

So to write 0P6B10000 correctly

0 - \x30
blank - \x00
P - \x50
blank - \x00
6 - \x36
blank - \x00
B - \x42
blank - \x00
1 - \x31
blank - \x00
0 - \x30
blank - \x00
0 - \x30
blank - \x00
0 - \x30
blank - \x00
0 - \x30

so the full EU code is \x30\x00\x50\x00\x36\x00\x42\x00\x31\x00\x30\x00\x30\x00\x30\x00\x30

I suggest OP to write the MID back to Sprint 0P6B70000

Copy & paste the code
Code:
echo -ne '\x30\x00\x50\x00\x36\x00\x42\x00\x37\x00\x30\x00\x30\x00\x30\x00\x30' | dd of=/dev/block/mmcblk0p5 bs=1 seek=16384
then advise the result. If there is some weird character after 0P6B70000, those weird character can be replace with a blank, then firmware will read 0P6B70000 and ignore the extra

Used to fix something like 0P6B100000000 back to 0P6B10000 by placing blank on those extra zero
 
Last edited:
Mar 12, 2017
9
0
0
This usually happened because they personally wrote the code instead of copy paste the provided code

OP has this 0P6B10\x000��������������������� because the MID was intended to change from Sprint to EU but in the code, it was written \x but missing 00 where the correct one is \x00 means blank, the blank is needed in between digit & alphabet.

(Checked old thread - this \x happened when a space is there between codes - x00\ x30 when the correct one should be x00\x30)

So to write 0P6B10000 correctly

0 - \x30
blank - \x00
P - \x50
blank - \x00
6 - \x36
blank - \x00
B - \x42
blank - \x00
1 - \x31
blank - \x00
0 - \x30
blank - \x00
0 - \x30
blank - \x00
0 - \x30
blank - \x00
0 - \x30

so the full EU code is \x30\x00\x50\x00\x36\x00\x42\x00\x31\x00\x30\x00\x30\x00\x30\x00\x30

I suggest OP to write the MID back to Sprint 0P6B70000

Copy & paste the code
Code:
echo -ne '\x30\x00\x50\x00\x36\x00\x42\x00\x37\x00\x30\x00\x30\x00\x30\x00\x30' | dd of=/dev/block/mmcblk0p5 bs=1 seek=16384
then advise the result. If there is some weird character after 0P6B70000, those weird character can be replace with a blank, then firmware will read 0P6B70000 and ignore the extra

Used to fix something like 0P6B100000000 back to 0P6B10000 by placing blank on those extra zero
The code worked for me via TWRP and restored the MID back to its original status, reflashed RUU and the phone is back to life.

Thx for your help :)