[One (M9) General] stifilz:
EDIT: 21/06/2017 THIS MAY NO LONGER WORK DUE TO NEW SECURITY. LEFT HERE FOR REFERENCE ONLY

WARNING: THIS PROCEDURE MAKES DANGEROUS CHANGES TO YOU DEVICE, I DO NOT ACCEPT ANY RESPONSIBILITY FOR DAMAGES

EDIT: FINDINGS SHOW THAT GSM MODELS DO NOT SAVE THE BANDS AFTER REBOOT. QPST/QXDM MAY SUIT BETTER FOR THIS. CDMA MODELS SEEM TO BE FINE AT THIS STAGE.

For GSM MODELS (please click unhide content below) thanks to [MENTION=1791506]guidojusto[/MENTION], be sure to thank his post :)

QXDM / QPST software for below can be found here http://xdaforums.com/galaxy-s5/general/how-to-add-rf-lte-frequency-bands-to-t2886059

Hi all,

I have been playing with this for the last couple of days.

Hopefully this will help you to change the network bands available to your HTC One M9 - All variants should work - Tested on Sprint M9 and GSM M8.

Prep:

You will need DFS CDMA tool from http://cdmatool.com/ demo version will work (create an account too, it is free and you do not need to add credit)

You will need HTC Diag drivers (attached)

Preparing your device:

Device Should be S-OFF (S-ON may work)

You must have ROOT

ADB must be enabled

Firstly USB diag mode must be enabled, on CDMA devices you can use ##3424#.

This option is not available for GSM devices. So we have to echo '1' (which means turn on) to the f_diag USB mode, this is set to '0' (which means turn off) by default.

So you have to use the following code:

adb shell
su
echo 1 > /sys/devices/virtual/android_usb/android0/f_diag/func_en

This is the code available on my Sprint M9 but should be the same on other variants.

I have tested this method on my HTC M8 GSM and it does connect to the PC :)

M8's code is slightly different.

This should have enabled DIAG mode and you should have a new device on the PC.

Please install driver by manually updating the unknown driver.

Install DFS CDMA Tool if you haven't already and open DFS.

I should show a login screen, you may need to create an account (I can't remember). Log in and close that window and the main window should ope wait 50 seconds (demo limitations).

You should be presented with your device on the 'Equipment' tab. Mine is COM3 HTC Diagnostic Interface (COM3).

If it is not showing please check you drivers and close the program and then open it again.

If you are still having trouble try to use QPST to check that the device is recognised.

From there double click your device name and it should put a 'tick' next to it.

It should show your device details and the bottom under 'Devices Online:'

From the click on the 'Band' tab.

This will change screens to the band menu.

CMDA/GSM/HSDPA

ALL THE BANDS will show for CDMA/GSM/HSDPA (NOT YOURS)

Down the bottom right change the radio (black circle) to 'RF BC Config' form 'Band Preferred'

Click the Read button and wait 300seconds (demo limitations)

This will show the bands that YOUR DEVICE HAS.

DO NOT ADD MORE BANDS THAN YOU REQUIRE THIS IS HIGHLY DANGEROUS

To enable more bands, simply click the ones you need and then press Write when you are ready.

LTE

Click the 'LTE' tab

ALL THE BANDS will show for LTE (NOT YOURS)

Down the bottom right change the radio (black circle) to 'LTE BC Config LTE #6828'

Click the Read button and wait 300 seconds (demo limitations)

This will show the LTE bands that YOUR DEVICE HAS.

DO NOT ADD MORE BANDS THAN YOU REQUIRE THIS IS HIGHLY DANGEROUS

To enable more bands, simply click the ones you need and then press Write when ready.

For good measure also change the vaules in 'LTE BC Config DIV LTE #6829'

You can now close DFS.

Disable diag mode using the following code

adb shell
su
echo 0 > /sys/devices/virtual/android_usb/android0/f_diag/func_en

Don't freak out if you loose signal, this is normal. Simply reboot the phone and signal should come back.

Please read bands from the phone again and let me know if they stayed :)

I tested it using my Sprint M9.

For me I in New Zealand I enabled LTE Bands 3 (1800+) and 28 (700 APT) and WCDMA VIII (800 MHz).

It seems the change was permanent as I rebooted and read it from the phone and it was still there.

I am unable to test as it is still Sim Locked :(. If someone could help with that, that would be greatly appreciated :)

I also tested on my GSM M8, but I did not write to it as I have all the bands I need.

Any questions, feel free to ask.

Hopefully this opens up some doors for this device.

Band LTE reference:

Sprint: 2, 4, 12, 25, 41

T-Mobile: 2, 3, 4, 7, 12, and 17

AT&T: 2, 3, 4, 5, 7, 12, 17, and 29

HTC Dev & Unlocked Versions: 2, 3, 4, 5, 7, 12, 13, 17, 29, 30

Cheers

Stifilz

Thanks to all those involved in testing:

[MENTION=5608267]v1rk[/MENTION] - confirmed working on Sprint M8

[MENTION=1791506]guidojusto[/MENTION] - confirmed working on M9 Dev Edition S-Off - Maximus HD Rom His method here