[Sprint Samsung Galaxy S7 Edge Questions & Answers] izomiac:
Ok, I'm about at my wit's end on this. I'm trying to get Marshmallow with root access activated. I flash the firmware, activate it, verify everything works (i.e. voice calls), root it, then I'm unable to get voice calling back. LTE usually goes as well, but that's easy enough to fix. I've tried "Activate Phone" under Settings, and ##72786# with the dialer over 10 times on many installs without success. Doing a /data reset after root results in the initial setup going through, but no voice service. Importing build.prop from before rooting generally restores LTE but not voice.

Here's my general method:

Use Odin to flash a firmware, having tried with every firmware below. Some are rejected by the bootloader, I suppose attempting Nouget was ill-advised in retrospect, but most work fine:

07/09/2017 02:35 AM 2,339,073,264 G935PVPS4APK1_SPT4APK1_SPR_Sprint_USA_6.0
.1.zip
07/08/2017 05:23 PM 2,338,378,352 G935PVPU2APH7_G935PSPT2APH7_SPR.zip
07/08/2017 05:44 PM 2,415,317,465 G935PVPU4APL6_G935PSPT4APL6_SPR.zip
07/04/2017 06:02 AM 2,346,196,486 G935UUEU4API3_G935UOYM4API3_TMK.zip
06/29/2017 07:09 PM 2,393,582,382 SPR-G935UUES4AQC1-20170313090738.zip
07/04/2017 09:56 PM 2,333,204,698 SPR-G935UUEU2APEH-20160518091232.zip
07/05/2017 07:12 AM 2,332,915,504 SPR-G935UUEU2APG9-20160823142730.zip
07/05/2017 12:52 PM 2,346,196,486 SPR-G935UUEU4API3-20160909113048.zip

This activates on its own without any trouble. Sometimes I update the Profile/PRL, sometimes not.

Then I install Package Disabler and disable at minimum securitylogagent, but generally anything mentioned by any root guide and anything that looks squirrely to me.

Use Odin to flash g935a.tar

Use root.bat (I've modified it slightly over the various attempts. Mostly because someone put a reboot command in the middle of the script which introduced a race condition to finish the script before the system halted, with unpredictable results.)

adb wait-for-device
adb shell mount -o rw,remount /system
adb shell mount -o rw,remount rootfs /
adb push SuperSU-v2.74-2.img /data/su.img
adb push launch_daemonsu.sh /system/etc/launch_daemonsu.sh
adb install -r SuperSU-v2.74-2.apk
adb shell pm hide com.LocalFota
adb shell pm hide com.samsung.android.intelligenceservice
adb shell pm hide com.samsung.android.securitylogagent
adb shell pm hide com.samsung.sdm
adb shell pm hide com.samsung.syncservice
adb shell pm hide com.sec.android.diagmonagent
adb shell pm hide com.sec.android.fotaclient
adb shell pm hide com.sec.android.fwupgrade
adb shell pm hide com.sec.fwservice
adb shell pm hide com.ws.dm
adb shell pm hide com.wssyncmldm
adb shell < supersu.cmds

touch /system/xbin/su
chmod 0755 /system/xbin/su
chcon u:object_r:system_file:s0 /system/xbin/su

chmod 0700 /system/etc/launch_daemonsu.sh
chcon u:object_r:su_exec:s0 /system/etc/launch_daemonsu.sh
if [ `cat /system/etc/init.sec.boot.sh | grep daemonsu >/dev/null 2>&1; echo $?` -ne 0 ]; then
echo '/system/etc/launch_daemonsu.sh' >> /system/etc/init.sec.boot.sh
fi

sync

reboot

Then root works, I switch the CPU governor and modify the three lines of build.prop (or reinstate the pre-root version), and disable securestorage in build.prop as well (wifi password persistence fix). Maybe install xposed if I feel like wasting my time, although it does work perfectly. Upon a reboot LTE generally works, if not I update the APN settings on the older firmwares. Then I try activation, which fixes it if APN settings are disabled. But no voice. After a few attempts I'll reenable everything and try again (+/- a reboot), but it doesn't make a difference.

Any ideas? I seem to be having an unusual amount of trouble with this and I'm not sure why...