This post is how I fixed my 4G LTE signal intermittent dropping and broken/non-existent 3G connection on my Sprint Galaxy S4 phone while running CyanogenMod.
I’ve been running CyanogenMod stable on my Sprint Galaxy S4 (jfltespr) since the day I got it. The version I stuck with was 10.1 (Android 4.2.2) because it had great battery life, all the features I needed, didn’t have many errors, and I was too lazy to upgrade. I also switched from SERO Premium ($50/mo) to the $25 Framily plan with only 1GB of data. Most of the time I was connected to Wi-Fi while at home and work, so my usage was only about 300-400MB per month on 4G/3G.
Because I only really needed a cell data connection while driving or at the store, I didn’t really notice my internet connection problems. The more I needed to use Google Now voice command while driving, the more I noticed that my 4G connection would drop constantly and that the 3G connection wasn’t kicking in…ever. I started paying more attention and even when I had good 4G signal strength, it would drop right as my phone was trying to use it.
At first, I thought all these issues were due to my international SIM car unlock I did while in Ireland (see this post where I flash an older MDC modem). I updated my modem to MF9 (*warning* do not update your modem/firmware to NAE manually or OTA. It includes KNOX which will trigger an irreversible flag that will void your warranty even if you go back to stock unrooted. For more information, see this forum: http://forum.xda-developers.com/showthread.php?t=2277480).
After updating to the MF9 modem, I didn’t do large amounts of testing, but things did not seem to improve. I may consider this section to be optional.
PRL and Profile Updates
I decided to flash back the rooted, stock ROM in the forum link above. Then I went into the phone settings and updated the PRL and Profile to get the latest Sprint tower information. I noticed that there was a setting in Android to change to the Preferred Network Mode. You can switch between LTE/CDMA and CDMA. When I switched to just CDMA, it made the phone restart and I now connected only to 3G. I remember seeing a similar screen in CyanogenMod and that gave me an idea.
Updating the PRL and profile may not have made a difference, but I wanted to make sure no stone was unturned.
CyanogenMod 11 Fix
After my phone had the MF9 radio and the latest cell tower information, I flashed CM11 to my S4. I went to the Preferred Network Mode and switched it to 3G. My phone didn’t restart automatically, so I did a manual restart. After coming back online, I used the manual LTE toggle button to turn 4G off. This LTE toggle button can be turned on under Settings > Notification Drawer > Quick Access Ribbon.
Testing 3G and LTE
I pulled down the notification drawer from the top of the screen, and hit the LTE button to turn off 4G. After a few seconds, the 3G icon showed up and I was able to use the internet connection. I’ve also noticed that my LTE connection is now much more stable and I haven’t pulled out my hair while using data. Everything appears to be normal. Its weird that in 3G mode (after restarting), I can still turn on and off the LTE connection. I don’t care because everything works.