[One (M8) General] Theboiamond:
Hi all, today I want to thank all the xda users with a little guide to full unlock worldwide bands in M8 devices.

Here I found a lot of help and I want to share my new knowledge.

Bands:

(Europe/ Middle East/ Africa)

GSM/EDGE: 850/900/1800/1900 MHz

UMTS/HSPA+/DC-HSPA+: 900/1900/2100 MHz

LTE: 800/900/1800/2600 MHz

US GSM (AT&T)

GSM/EDGE: 850/900/1800/1900 MHz

UMTS/HSPA+: 850/1900/2100 MHz

LTE: 700/850/1700/1900/2600 MHz

US GSM (T-Mobile)

GSM/EDGE: 850/900/1800/1900 MHz

UMTS/HSPA+/DC-HSPA+: 850/1700/1900/2100 MHz

LTE: 700/1700 MHz

US CDMA (Sprint)

CDMA EV-DO Rev. A and Rev. B: 800, 1900 MHz

GSM/EDGE: 850/900/1800/1900 MHz

UMTS (HSDPA 14.4 Mbit/s): 850/1900/2100 MHz

LTE: 800/1900/2600 MHz (Band 25, 26, 41)

US CDMA (Verizon)

CDMA EV-DO Rev. A and Rev. B: 800/1900 MHz

GSM/EDGE: 850/900/1800/1900 MHz

UMTS/HSPA+: 850/900/1900/2100

LTE: 700/1700/1800/2600 MHz (Band 3, 4, 7, 13)

Asia: 700/900/1800/2100/2600 MHz

I ask myself if HTC has spent time to desing and produce various versions of the same phone model, so I disassembled some M8, and yes, the cdma/global/at&t hardware are slightly different in the logic board, integrates type and placement, antennas cabling!

I can confirm, YOU CAN'T OFFICIALLY PUT A GLOBAL FIRMWARE IN A CDMA DEVICE and there is no reason to do it, cause gsm and lte bands are "locked" also by NV values, hardware physical limits, and some other factors, then

hidden by the rom

during installation!

What happens? Any rom "sees" a mid and cid of sprint or VZW device and automatically set CDMA bands by default, hiding/deleting some GSM settings from system files to full work overseas!

That's why you can sim unlock your device by the code supplied by US carrier, also by unlocking bootloader and installing new custom rom (GPE/cyano); but the "OS" (rom) will restrict the bands in order to the original carrier frequencies!!!

Results:

for VZW; you can call with a gsm mode but NOT use LTE with some carriers;

for Sprint: any EU sim will not be recognized at first boot cause CDMA is set by default! you ever going to settings and put global mode, dial *#*#4636#*#* to set GSM/LTE auto mode and AUS bands, return to settings to set LTE (very annoying issue).

for both: often GPS does not work!

SOLUTION: you can unlock the CDMA device as a Global one (DO IT AT YOUR OWN RISK, Obviously) fooling the rom that you want to install

1) First, go S-OFF

2) Unlock bootloader

3) put a non-red text firmware (you can also leave stock, it's only an esthetic luxury for who use custom roms) and install recovery in one step (choose your current modelID here http://xdaforums.com/showthread.php?t=2710503)

I used https://www.androidfilehost.com/?fid=24052804347800375 for my sprint device and https://www.androidfilehost.com/?fid=24052804347811420 for a VZW.

Please make sure you use only a non-red-text version of your stock device to avoid brick!

fastboot oem rebootRUU

fastboot flash zip filename_NoRedText_hboot.zip

fastboot reboot-bootloader

fastboot flash recovery filename.img

fastboot reboot

4) Boot the stock rom and make a GPS fix with any GPS Toolbox (prevention), then reboot

5) Enter in recovery, BACKUP STOCK ROM so wipe all data

6) change cid and modelID in one step

fastboot oem writecid HTC__001

fastboot reboot-bootloader

then open twrp

adb devices

adb shell

su

echo -ne '\x30\x00\x50\x00\x36\x00\x42\x00\x31\x00\x30\x00\x30\x00\x30\x00\x30' | dd of=/dev/block/mmcblk0p5 bs=1 seek=16384

exit

adb reboot bootloader

fastboot getvar mid (or getvar all) (verify 0P6B10000 for modelid)

fastboot reboot-bootloader

7) Install any custom rom you want and enjoy a full unlocked worldwide bands device!

For me, GPE https://www.androidfilehost.com/?fid=24052804347850672 and cyano are the best choices..

(I don't know if stock based custom roms works, I loved cyano since my old wildfire S)

8) If GPS does not work, restore the original rom, make a fix, reboot, wipe and reinstall custom rom; if GPS works you can delete the stock backup.

With this method you can do a nandroid backup with any carrier M8 (ATT, T-mob,global) and restore on your new sprint unlocked device, so it works perfectly!!! (gps issue solved definitively!!!).

IMPORTANT

1) FLASH A GLOBAL FIRMWARE IN A CDMA UNIT WILL BRICK YOUR PHONE, YOU ONLY NEED TO CHANGE MODELID AND CID!!!

2) this guide is only for

custom roms

. if you really want to use a stock sense rom, leave the TWRP recovery and system rooted so you can't try to update it by OTA. All HTC updates can upgrade the firmware with a global one and brick the phone!

3) DON'T USE A RUU MODE TO FLASH A ROM, cause RUU constains the firmware also, and can install a global firmware in a CDMA device and BRICK THE PHONE. Please use only zipped roms and flash via twrp recovery.

Useful sources:

http://xdaforums.com/showthread.php?t=2708581

http://xdaforums.com/showthread.php?t=2708589

To be sure, which band I need for my carrier? https://en.wikipedia.org/wiki/List_of_LTE_networks_in_Europe

Various troubleshooting

If you have issues with LTE again, please follow this guide http://xdaforums.com/verizon-htc-one-m8/general/lte-band-7-2600mhz-finally-guide-t2992523

and put these values (works in Italy and the most states of EU, or use NV calculator to calc bands of your country)

6828 & 6829: 524356 or 146029478143 (this last worked on xperia Z1 also)

Stock Sprint (HK) values if you make a disaster:

LTE 6828 & 6829: 1099561959424

Sys/GSM/CDMA (leave stock, sprint hardware can not support any more GSM bands and switch off the signal)

441: 0xFFFF

946: 0xBFFF

1877: 82330503

2954: 4294967295

Notes for EU:

- VZW can be unlocked on LTE band 3 and 7 but not 20

- Sprint hardware supports 800 and 2600 mhz only on bands 26 and 41, and does not accept european 20 (800mhz) and 7 (2600 mhz). So I think does not support any kind of european LTE at all and edit NV values is frustrating useless.

- Sprint Harman Kardon Edition (SPCS_004) has different partition table than the standard sprint (SPCS_001) version and can't be converted easily.

EDIT may 25

1) I discovered that GPE roms in this page http://xdaforums.com/showthread.php?t=2708589 , has implemented since H10 the "CDMA device on GSM network" option during installation:

I consider it the final solution to make the rom operate on GSM by default.

2) I had fully disassembled 3 different M8 (sprint, vzw, att): antenna and logic boards are completely different! I found Sprint models has furthermore poorer frame construction and less performing antenna board (a bit less wifi/gps/gsm reception, even swapping with a at&t logic board...). Sprint devices definitely disappointed me...