The goal of this guide is to expose the problem of a matching firmware version for the particular HTC device. Please read it carefully.
Every firmware.zip has 2 main attributes: modelid (MID) and cidnum(CID).
- MID contains a codename of your device. For example the “0P6B1000” is the international version of the HTC One M8, while the “0P6B13000” is the T-Mobile U.S. version of the HTC One M8.
- CID is the carrier software codename. For example the “HTC__J15” code represents the unbranded international version of the HTC One M8, while the “T-MOB010” code represents the T-Mobile U.S. software. Different CID numbers are usually used for mobile operators to include different regional settings, languages or to include some extra software (Wi-Fi Calling, Visual Voice Mail etc.).
Both MID and CID can be found in the android-info.txt inside each firmware.zip. This is how android-info.txt looks like (as an example I used firmware.zip from the international version of the HTC One M8).
Once you know the version of the firmware you have, you need to check if your device can be safely flashed with that particular firmware.zip. To check that:
- Download this mini-sdk package and extract it to c:\mini-sdk
- Connect your device to the PC
- Boot your device in fastboot mode (vol down + power ===> fastboot)
- Open a command prompt on the PC (cmd.exe), type and confirm each command with ENTER:
- cd /d c:\mini-sdk
- fastboot getvar all
This is an example output from the international version of the HTC One M8:
- If your device is S-ON then both modelid and cidnum must match.
- If your device is S-OFF then modelid is critical to match, but cidnum can be changed either by changing CID of your device or by editing android-info.txt.
- Edited firmware.zip can’t be flashed on the S-ON device.
- If your device is S-ON then you can’t downgrade your current firmware version.
If both CID and MID numbers match you can safely flash the firmware.zip package.