[Guide] WIP - Enable more LTE bands on the AT&T 1520

I want everyone to first off know that I am no way responsible for your phone being damaged or your device malfunctioning. Or other problems related to performing the below process. I have yet to damage my own devices by doing this, but nothing is the same for everyone, with that said, do this at your own risk.

This is only tested on the AT&T model of the 1520 RM-940
I came across a way to enable additional LTE bands on the 1520 AT&T variant RM-940. I discovered this while trying to enabl HD voice for this model on AT&T. Was not successful at the HD Voice but was able to get the other bands enabled. Now, to tell for sure whether they are actually operating correctly from the phone is something I would like some help with. There is an app to track Towers and information used by your phones Radio with an app available here: https://forum.xda-developers.com/win...obile-t3504309

NVI scripting or coding is beyond me. I did not formulate these Modem files or change them. I simply pulled them from a working production ROM and applied them to the 1520. If someone is willing to test the bands with or show me a way to move this further I am more than welcome to your input.

Problems:
-HD voice still won't work. Even though I have tried provisioning the Registry and other critical settings and files to the phone, it never works. My thinking is that this is a limitation in the files applied, a limitation from phone itself in conjunction to the files applied or conflict between the settings and the hardware since this is not how the phone is meant to run as. The hardware is capable. However it could also be possible that the 1520 for AT&T is blacklisted from HD voice or something. I Have not figured it out yet.

-It tends to get stuck in 4G and cannot move back to LTE after it drops to a 4G signal. This happens when a call comes in or if you drop to 4G at any time. You can enable LTE back by going back into the field test app and toggle Band Selection from manual to automatic or vice versa. This again is where I believe it is a limitation in the files applied or conflict between the settings and the hardware since this is not how the phone is meant to run as.

Insight:
-Band 17 is removed.

-Provisioning additonal settings is possible too by issuing other thor.exe commands like the switch/option -do_full_nvi_update. Or you can add other ProvisionData.cab ProvisionDataCriticalSettings.cab files under the ADC directory. However, I have not found that this changes much from the perspective of what I was trying to accomplish. Yet this might prove of some worth to someone else.

The process is quite simple so now here are the prerequisites:

--Windows 10 Mobile installed (preferably the latest or most recent update but not required)
--The NVI modem files from the RM-1105 AT&T Lumia 950 (provided in the attached)

--The latest FFU file for the RM-940. This can be acquired by downloading it with WDRT (Windows Device Recovery Tool) if possible. Then searching the path to it after you download it (you can change the path for packages in the tool: hit the 3 dot menu--->Settings--->Packages Use a custom Path by setting the toggle manually and set the path to your liking). Or go to lumiafirmware.com searching for it there and download it. It is the RM-940 Variant

Steps:
1. In Windows 10 mobile, install Interop Tools. Please follow the directions from the link above. The simplest version to install and get working on the latest updated Windows 10 mobile is version InteropTools_1.9.437.0_arm_RC3 and its dependencies.

2. Unzip the files from RM-1105_950_nvi_files.zip.

3. In interop tools, navigate to Interop Unlock and toggle the Full File System Access to ON and reboot.

4. After reboot navigate to the path on your phone \Phone\PROGRAMS\CommonFiles\OEM\Public\Nokia\Multivariant\10923\NVI. Copy and backup the two files there (modem_configuration_full.nvi and modem_configuration_update.nvi) to some place safe. Then take the two files unzipped from the 950_nvi_files.zip and paste them in place overwriting the current ones. Next navigate up two directories and go to \Phone\PROGRAMS\CommonFiles\OEM\Public\Nokia\Multivariant\Default\NVI. Copy and backup the two files there (modem_configuration_full.nvi and modem_configuration_update.nvi) to some place safe. Then take the two files unzipped from the 950_nvi_files.zip and paste them in place overwriting the current ones.

5. Lastly, navigate to the WDRT app folder from command
cd "C:\Program Files (x86)\Microsoft Care Suite\Windows Device Recovery Tool"
then issue this command:
thor2.exe -mode uefiflash -ffufile "The_PATH_and_file_name_of_your_lumia_1520-RM-940_FFU_FILE" -do_factory_reset -skip_flash
Replace what is in parentheses with the path and name of your FFU file.
Please add the -skip_flash or you will flash your phone back to WP 8.1.

Then After it completes run this command to reboot your phone to the OS...
thor2.exe -mode rnd -reboot

Once it reboots, let it settle in. It will prompt to restart your phone. Once the restart is complete check your field test app and if everything went as planned look for the additional LTE bands.

Let me know of any feedback, concerns, or questions about this. Thanks a ton for reading.

Thank you so much Nate for your sharing.
I tried the 950 nvi on my Lumia 640 AT&T (RM-1073), there is some different is the nvi in default folder came with sub-fix _0
like "modem_configuration_update_0.nvi"
So i rename the 950 nvi file to the name and continued the process.
At the end of the day, I got "No SIM card" issue, and Phone app could not be launched.

I guess the 950 file might not suitable for 640, could you please advise how can I extract the NVI files from RM-1113 ffu file ?
Thanks again for your sharing, I read every post you shared about windows phone as my idol 4s is on the way.

I have successfully extracted nvi files from RM1113, and deployed with your method.
I have all 1 2 3 4 5 7 8 12 17 20 28 38 40 41 available in filed test app when set as manual.
But, when select all the bands and switch to automatic and switch back to manual, added bands were unselected automatically.

And, I tried sim card from different ISP, new added bands are not working even I selected it in manual model.
It seems the bands are not only controlled by nvi files, some other files might need to be replaced.

I have successfully extracted nvi files from RM1113, and deployed with your method.
I have all 1 2 3 4 5 7 8 12 17 20 28 38 40 41 available in filed test app when set as manual.
But, when select all the bands and switch to automatic and switch back to manual, added bands were unselected automatically.

And, I tried sim card from different ISP, new added bands are not working even I selected it in manual model.
It seems the bands are not only controlled by nvi files, some other files might need to be replaced.

dumped nvi files from RM-1113 and replaced nvi files in my lumia 640.
All bands showed in filed test, but unselected.
When I selected all the bands and switch to automatic and switch back to manual.
The new added bands got unselected again.
And, I tested with sim cards from different isp, the new added bands does work at all.
I guess there is another place where stored bands information and corrected what I select when switch to automatic

@hquu
I should update this post a bit more...
I am not sure why your bands are disabling if they show up, but why are you switching back to automatic then manual again? If you want manual band locking just leave it in manual and set the bands you need.
There is a bit more to it then just putting the NVI files in those directories. To get all the NVI entries to actually update in the EFS you need to create a folder under C:\Programs\CommonFiles\OEM\Public called NVI and put the files modem_configuration_full.nvi and modem_configuration_update.nvi inside.

The NVI will update if you run thor2 -mode uefiflash -ffufile <ffufile> -do_full_nvi_update -skip_flash -reboot. But will only update if the NVI version is higher then the current one provisioned. I found a way to trick the NVupdater into updating nvi settings every time by just editing ID 6853 and 6854 which is the version info gathered by the updater from the nvi file .

I share the nvi update info because that also could be why you are not locking the bands properly. It is hard to say... Additionally there are so many NVI configs possible that it is difficult to tell exactly what will work and what won't. I have seen some nvi files from lumias that actually delete the efs data on one line and write the same line just below it.

Circling back here...
What I've discovered is that the RM-940 nvram/nvi settings must have something coded that is read only or some other limitation. I've been working instead with the RM-938 variant (1520.3). I use T-mobile in the US and have edited my own nvi files to add the t-mobile LTE bands 2 4 and 12. It also provisions the HD voice protocol support. No VoLTE though and no wifi calling.

I have not worked much with the RM-937 euro model, but if I do I'll post another update here.