Can't Set APNs on Nexus 5 with CyanogenMod 12.1

I've been happily running CyanogenMod on my Nexus 5 for a while, and today I made the mistake of trying to upgrade to the supposedly stable 12.1 nightly. Everything works, except I can't get an LTE connection for mobile data or MMS. Under Settings, I don't have an option for carriers or mobile networks, so I can't get to an Access Point Names editor. The only app I could find that actually let me edit APNs was this one:

https://play.google.com/store/apps/details?id=it.appando.app.changeApn&hl=en

The problem is that half the time I would click to save and the APN would just vanish. Even when it did save, it would still sometimes vanish after I closed it or rebooted. The couple of times I did get it to save, with APN information taken from here:

https://help.ting.com/hc/en-us/articles/205428698-GSM-Android-APN-Settings

And then here:

http://forum.xda-developers.com/showthread.php?t=2553118&page=6

I didn't get LTE. I also tried modifying the apns-conf.xml in /system/etc, but no luck.

I had a similar problem back when I first got the phone, and solved it with a flashable .zip I found called "Ting_APNs_Android_4.4 (02-28-14).zip". Unfortunately, I couldn't find a similar one for Lollipop, and modifying that one didn't work.

For now I'm back to LTE on KitKat, and maybe I just need to wait for Cyanogen to release something with a working Ting APN. But since I have root access, it just seems impossible that there's no way to modify the APN and get it to stick. Any suggestions are welcome.

0

Comments

5 comments
  • I am using a S4 on CDMA with CM 12.1 and was able to edit my APN with no problem to get LTE working.
    perhaps it was a bug in that nightly version you downloaded?

    I switched to a branch of CM that focuses on on Samsung devices, so you might have better luck with a Nexus ROM over the basic CM version for your phone.

  • When I go to "Access Point Names" under the "Mobile network settings" in CyanogenMod 12.1-20150711-NIGHTLY-d2spr, I see a message stating, "Access Point Name settings are not available for this user." This is most unfortunate, since the /system/etc/apns_conf.xml file that comes with CM12.1 has incorrect settings for Ting.

    Here's the relevant excerpt from CM12.1's /system/etc/apns_conf.xml:

    <apn carrier="Sprint LTE ota" mcc="310" mnc="120" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" />
    <apn carrier="Sprint EHRPD ota" mcc="310" mnc="120" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" />
    <apn carrier="Sprint LTE internet" mcc="310" mnc="120" apn="n.ispsn" type="default,mms,supl,hipri" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" />
    <apn carrier="Sprint EHRPD internet" mcc="310" mnc="120" apn="n.ispsn" type="default,mms,supl,hipri" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" />
    <apn carrier="Sprint internet" mcc="310" mnc="120" apn="n.ispsn" type="mms,supl,hipri" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" />
    <apn carrier="Ting" mcc="310" mnc="120" apn="n.t8.ispsn" type="mms" mmsc="http://mms.plspictures.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" />

    The problem is that the entry for Ting specifies only the MMS settings (type="mms"). The "default" entry (which is used for LTE data connectivity, as best I can tell) specifies apn="n.ispsn", but this is the wrong APN for Ting, which should be "n.t8.ispsn".

    Thankfully, I had backed up my APN settings while running the stock ROM, where they had been provisioned by the network (via "Update profile"). These are as follows:

    <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
    <apns count="18">
    <apn name="LTE - SPRINT test ISP" numeric="00101" mcc="001" mnc="01" apn="n.ispsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    <apn name="LTE - SPRINT test OTA" numeric="00101" mcc="001" mnc="01" apn="otasn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="fota" />
    <apn name="LTE - SPRINT test PAM" numeric="00101" mcc="001" mnc="01" apn="pamsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="dun" />
    <apn name="LTE - SPRINT test ISP" numeric="001010" mcc="001" mnc="010" apn="n.ispsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    <apn name="LTE - SPRINT test OTA" numeric="001010" mcc="001" mnc="010" apn="otasn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="fota" />
    <apn name="LTE - SPRINT test PAM" numeric="001010" mcc="001" mnc="010" apn="pamsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="dun" />
    <apn name="EHRPD - SPRINT test ISP" numeric="00101" mcc="001" mnc="01" apn="n.ispsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    <apn name="EHRPD - SPRINT test OTA" numeric="00101" mcc="001" mnc="01" apn="otasn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="fota" />
    <apn name="EHRPD - SPRINT test PAM" numeric="00101" mcc="001" mnc="01" apn="pamsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="dun" />
    <apn name="EHRPD - SPRINT test ISP" numeric="001010" mcc="001" mnc="010" apn="n.ispsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    <apn name="EHRPD - SPRINT test OTA" numeric="001010" mcc="001" mnc="010" apn="otasn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="fota" />
    <apn name="EHRPD - SPRINT test PAM" numeric="001010" mcc="001" mnc="010" apn="pamsn" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="dun" />
    <apn name="APN0 LTE ota" numeric="310120" mcc="310" mnc="120" apn="otasn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="fota" />
    <apn name="APN0 EHRPD ota" numeric="310120" mcc="310" mnc="120" apn="otasn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="fota" />
    <apn name="APN1 LTE pam" numeric="310120" mcc="310" mnc="120" apn="t8.pamsn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="dun" />
    <apn name="APN1 EHRPD pam" numeric="310120" mcc="310" mnc="120" apn="t8.pamsn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="dun" />
    <apn name="APN2 LTE internet" numeric="310120" mcc="310" mnc="120" apn="n.t8.ispsn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    <apn name="APN2 EHRPD internet" numeric="310120" mcc="310" mnc="120" apn="n.t8.ispsn" user="" server="" password="" proxy="" port="" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,mms" />
    </apns>

    Feeding these settings into CyanogenMod (with its busted APN settings panel) isn't entirely straightforward, but it is possible via a workaround:

    1. Install "APN Backup & Restore" (by Ritesh Sahu) from the Google Play Store.
    2. Using an ADB shell (or a root file explorer or a terminal on the device), move the "/data/app/com.riteshsahu.APNBackupRestore-1" directory to "/system/priv-app/APNBackupRestore" and reboot the phone. This step is required so that Android will grant the app permission to write the APN settings.
    3. After reboot, paste the XML above into a file on the device at "/sdcard/ApnBackupRestore/ting.xml".
    4. Launch "APN Backup & Restore" and ignore the popup message. (Disable the ICS check from the menu to suppress the message.)
    5. Tap "Delete APNs" and confirm at the prompt.
    6. Tap "Restore APNs" and choose your "ting.xml".
    7. If all goes according to plan, you should see a message stating that 18 APNs were restored.
    8. You can verify to yourself that the new APN settings have indeed been installed by tapping "Backup APNs" and then examining the produced XML file at /sdcard/ApnBackupRestore.

    Kind of a roundabout way of doing it, but it worked for me. Good luck!

  • Took me a while to have the time to take another crack at this, but Matt Whitlock's answer got it. I'm now on 5.1 with full data and MMS. Thanks.

  • Unfortunately, the drama continues. [Sigh] Using APN Backup & Restore, Matt Whitlock's XML data got me both MMS and mobile data. Unfortunately, the APNs kept getting reset at seemingly random intervals. It'd work fine for a day, then I'd notice that I had no data and hadn't gotten an MMS in a while, reset them again and it'd work. That was annoying, but at least I had full functionality after I reset them.

    Then, a week ago, I got a message from my SMS app (EvolveSMS) that picture texts weren't going to work and that I should set the APNs manually. Now, using APN Backup & Restore will get me mobile data, but I'm not getting any MMS at all, even when my data connection reads LTE.

    Evolve has the ability to set MMS items itself, and currently the settings read:

    MMSC Url: http://mms.plspictures.com

    MMS Proxy: 68.28.31.7

    MMS Port: 80

    User Agent: Nexus 5

    User Agent Profile URL: heep://gsm.lge.com/html/gsm/Nexus5-M20.xml

    User Agent Profile Tag Name: x-wap-profile

    I googled around for possible settings to try there, but didn't come up with anything workable. Any suggestions welcome.

  • I'm having the same problem. I just installed CM12.1 and I cannot add a new APN setting for Ting. Whenever I click save it just vanishes. I figured out that I could enter all of the settings expect for MNC (260) and save it and it saved correctly and I could select it. Whenever I try to change the MNC setting to 260 it just deletes the entry. Any solutions?

Please sign in to leave a comment.