[Sprint HTC EVO 4G LTE] fizbanrapper:
APN Issues?

If you're having issues connecting to mobile data or sending MMS messages, there's a good chance its an APN issue. If your issue is sending MMS, you need to change the MMSC. If your issue is mobile data, you're going to need to change the APN. Both of these are accessed the same way.

Unfortunately fixing this issue is a moving target. It had gotten pretty easy by the end of kitkat's development, but this is one of the few areas where LP has taken a step back.

I'll try to update this as AOSP & CM make changes to the source code, so the most recent (and easiest) fix is documented here.

Warning:

As the fix is a moving target, what worked yesterday, could break data or brick your phone tomorrow, so proceed at your own risk. Make a nandroid!

Click the button below to see old fixes. I'm keeping this here for reference in the event that tonight's commits break today's convenient fix.

You used to be able to delete the wrong APNs and just leave the good ones. That doesn't work anymore. UPDATE 12/29/14 - I'm not sure about this method with the latest build. This might work now.

You used to be able to get to the APNs menu and add the correct APNs manually. Same thing here!

UPDATE 12/29/14 - I'm not sure about this method with the latest build. This likely works now.

I fully expect that in a few weeks, one or all of these easier methods will work.

UPDATE 12/29/14 - I was right! :)

THE FOLLOWING IS A PAIN. ONLY USE IT IF ALL ELSE FAILS.

Required:

1. Root

2. SQL Editor Lite (or similar app)

Procedures

1. navigate to data/data/com.android.providers.telephony/databases/ and using SQL Editor, open the file telephony.db (MAKE A BACKUP COPY OF THIS FILE FIRST!)

2. Select 'carriers'

3. Select the magnifying glass to perform a search.

4. Enter '310120' in the filter value field and select 'OK'.

5. You're now looking at all of the APNs that your phone cycles through as it tries to connect to EV-DO, eHRPD & LTE. You need to look at this list of names, then determine which carrier you're on (for most of you, this will be Sprint, though myself and many others are on Ting.)

6. You're going to have to edit the following fields in the wrong APNs so that they match your carrier's APN settings:

apn

mmsproxy

mmsc

type

7. Save and exit.

8. It might work fine right away, but you may have to toggle airplane mode or reboot in order to get this to work.

Overwrite apn-conf.xml in the system/etc folder with the desired apns. Then use the APNs menu to pull across the correct APNs by selecting 'restore default'.

Making the file...

You can start by making a copy of the apn-conf.xml file. Delete everything except for test APNs and 310120 APNs (these are the APNs for Sprint and mvno carriers).

You want to have at least 3 APNs. They should all be the same, except for the bearer. You want one with '13' as the bearer, one with '14' as the bearer, and one without a specified bearer (almost positive this is indicated by using '0' in the bearer field.

Delete the apns that do not correspond to your carrier. If you're using Sprint, you really don't want your phone trying to connect with Ting or Virgin's apns.

Sprint's apn is n.ispsn with an mmsc of http://mms.sprintpcs.com. Ting is n.t8.ispsn with an mmsc of http://mms.plspictures.com. You'll find the others already in the canned apn file.