Cellular Settings -- No way to edit APN

Bug #1225174 reported by Tony Espy
76
This bug affects 16 people
Affects Status Importance Assigned to Milestone
ubuntu-system-settings (Ubuntu)
Fix Released
Critical
Antti Kaijanmäki

Bug Description

The current cellular system settings panel has no capability to edit the APN. This is problematic for two reasons:

1. We currently use the mobile-broadband-provider-info database, which was originally created for provisioning 3g dongles on the desktop for use by ModemManager, and is known to have errors for certain countries and/or operators.

2. If an MVNO ( mobile virtual network operator ) SIM is used in the phone ( eg. Straigthttalk ), most usually require manual editing of the phone's APN in order to point the phone at the MVNO's APN vs. the operator the MVNO is based on.

<https://wiki.ubuntu.com/Networking#apn-mobile>

Related branches

Tony Espy (awe)
Changed in ubuntu-system-settings:
status: New → Confirmed
Omer Akram (om26er)
Changed in ubuntu-system-settings:
importance: Undecided → High
Changed in ubuntu-system-settings (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Iain Lane (laney) wrote :

We need design for this; assigning mpt.

Tony, where's the API for us to read/write these settings?

Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Matthew Paul Thomas (mpt)
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

I've sketched the access point for an APN screen. <https://wiki.ubuntu.com/Networking#phone-cellular>

Tony (or anyone else), please provide an exact list of details involved in an APN, and the possible values for each, then reassign back to me.

Changed in ubuntu-system-settings (Ubuntu):
assignee: Matthew Paul Thomas (mpt) → Tony Espy (awe)
status: Confirmed → In Progress
Revision history for this message
Tony Espy (awe) wrote :

@Matthew

Sorry for the delay in responding to your comment. I took a look at the updated Networking#phone-cellular and see the addition of APN to the Cellular menu, but didn't see an APN dialog/screen? Am I missing something?

Currently, Touch automatically provisions the APN using the mobile-broadband-provider-info package which is also installed/used by Desktop by default.

Android allows multiple APNs to be added, as does oFono, however we currently limit provisioning to a single APN, which as the bug describes, cannot currently be edited by the user. This is one of the most common problems we're seeing as mbpi doesn't always do the right thing when provisioning ( note, we are planning on changing the db used for provisioning ). I think we should eventually support multiple APNs, however there are some issues that would need to be solved to do so. So, a good first compromise would be to continue to support a single APN, and allow the user to edit it.

Here are the basic APN attributes we should support:

Name:
( a text description of the APN )

Access Point Name / APN:
( a hostname; eg. wap.cingular, epc.t-mobile.com, ... )

Protocol:
IPv4 | IPv6 | IPv4v6 ( we currently only support IPv4 )

Type:
A comma separated list than can include one of the following strings:
"default", "supl" and "mms"
TBD whether we also should support the string "internet" as an alias for "default"

Username:
Password:
( both optional )

MMSC:
URL that points to the operator's MMS server
( optional )

MMS proxy:
MMS port:
( both optional )

Revision history for this message
Tony Espy (awe) wrote :

One correct, APN isn't a hostname per se ( although it can be ), it can be a single string such as "gprsinternet".

Changed in ubuntu-system-settings (Ubuntu):
assignee: Tony Espy (awe) → nobody
Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Matthew Paul Thomas (mpt)
status: In Progress → Confirmed
Changed in ubuntu-system-settings (Ubuntu):
status: Confirmed → In Progress
no longer affects: ubuntu-system-settings
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Tony, iOS and Windows Phone both have a separate set of fields for Internet APN ("Cellular data" on iOS, "internet" on Windows Phone) and MMS APN. So if you have any data on these questions, it would help refine the design:

1. For what proportion of phone subscribers is the Internet APN and the MMS APN the same?

2. What proportion of phone subscribers use a "supl" APN?

Revision history for this message
Matthew Paul Thomas (mpt) wrote :
Changed in ubuntu-system-settings (Ubuntu):
assignee: Matthew Paul Thomas (mpt) → nobody
status: In Progress → Triaged
Revision history for this message
Tony Espy (awe) wrote :

@Matthew

Sorry for not responding sooner. In the future, it might be better to ping me via IRC or direct email if you need a quicker turnaround time.

So, to answer your questions posed in comment #5.

1. For what proportion of phone subscribers is the Internet APN and the MMS APN the same?

Trying to answer this for phone subscribers is a bit ambitious. I'll instead answer that the apns-conf.xml file from a maguro running CM 10.2 has 1414 APN total entries ( note, these cover operators worldwide ), and that roughly %11 ( 160 ) of these APNs support internet and mms ( eg. type="default,mms" ( 2) or type="default,supl,mms" (158 ) ).

2. What proportion of phone subscribers use a "supl" APN?

"supl" stands for "secure user plane location" and is a server used for AGPS. Again, out of 1414 APNS, there are only 7 dedicated "supl" APNs. There are 636 - "default,supl", and 158 - "default,supl,mms".

Revision history for this message
Tony Espy (awe) wrote :

@Matthew

Now for your comment #6.

The initial design looks good, although as there's been a recent push to implement MMS, I think there are some adjustments needed.

1. Each APN has a defined "Name", which would be helpful to display to the user. For instance, the default APN for my T-Mobile account in the US is:

"Name" - "T-Mobile US"
"APN" - epc.tmobile.com

Also, it might be helpful to include the MCC ( mobile country code ) and MNC ( mobile network code ).

2. Currently the only protocol that's supported for Mobile data connections is IPv4. This will change, but I wonder if we should either hide this field for now, or make it read-only until the underlying support changes?

3. The MMS fields are close, but not quite accurate. The attribute in apns-conf.xml are: mmsc, mmsproxy, and mmsport. oFono exposes two properties: "MessageCenter" and "MessageProxy" ( which combines mmsproxy and mmsport ).

4. We're still trying to determine how we rectify the difference between ofono contexts and Android's APN db. First, the apns-conf.xml file allows multiple types ( eg. "default,supl,mms" ), however there's no way to express this via the current ofono properties exposed for contexts. The current idea is that a context that supports multiple types in apns-conf.xml will be created with TYPE_ANY in ofono, and if it happens to support MMS, then the requisite MessageCenter and MessageProxy properties will also be set.

5. Turns out that there are ~100 or so APNs defined with "proxy" and "port" attributes that are used to configure what I'm guessing is a required HTTP proxy. Again, we have no way currently to expose these attributes via ofono properties.

6. Some APNs also expose an "authentication-type" attribute that can be: "None", "PAP", "CHAP", or "PAP or CHAP". It appears that this is only used by four APNs ( in Argentina ).

7. Although we currently only provision a single Internet context/APN for a specific SIM, we've decided that it'd be best to provision all of the possible APNs for the given SPN/MNC/MCC combination, pick a default ( which is the first that supports Internet in the list ), and then allow the user to select any of the APNs that have been provisioned. This will require us to add an additional "Selected" property. The AOSP Settings dialog for "Access Point Names" uses a radio-button style interface.

8. AOSP allows a user to manually create a new APN.

9. AOSP also allows a user to reset their APN configuration to it's default ( ie. undo any changes made ).

Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
Revision history for this message
Iain Lane (laney) wrote :

Should be assigned to mpt to get the design updated (please reassign to Antti afterwards as he will be doing the implementation)

Changed in ubuntu-system-settings (Ubuntu):
assignee: Antti Kaijanmäki (kaijanmaki) → Matthew Paul Thomas (mpt)
Changed in ubuntu-system-settings (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Specification updated. <https://wiki.ubuntu.com/Networking?action=diff&rev2=151&rev1=150> Please reassign back to me if more work is required.

> 1. Each APN has a defined "Name", which would be helpful to display to the user.

What is the use case? I could understand showing the name if we let you select an APN from a list, or import/export APN settings on external storage, or set up an APN separately from choosing which Types it should be used for. Currently we're doing none of those things, so I'm leaving it out for now. I wouldn't want to mislead people into thinking that all they need to do to make their Orange phone work is to delete "T-Mobile US" and type "Orange" in its place, leaving all the actual settings unchanged.

> Also, it might be helpful to include the MCC ( mobile country code ) and MNC ( mobile network code ).

What is the use case? Are those data editable? If so, what would an APN do differently if you changed them? And if not, what do you need to see them for?

> 2. Currently the only protocol that's supported for Mobile data connections is IPv4.

Explained: "The 'Protocol' menu should be present when IPv6 has been implemented."

> 3. The MMS fields are close, but not quite accurate.

Fixed: each APN now has fields for "APN", "Proxy", and "Proxy port".

> 4. We're still trying to determine how we rectify the difference between ofono contexts and Android's APN db.

What is the use case for an APN that isn't default/internet or mms? For example, what does a supl APN do?

> 5. Turns out that there are ~100 or so APNs defined with "proxy" and "port" attributes that are used to configure what I'm guessing is a required HTTP proxy.

Fixed as for #3.

> 6. Some APNs also expose an "authentication-type" attribute that can be: "None", "PAP", "CHAP", or "PAP or CHAP".

Added: "The 'Authentication' menu should contain 'None' (the default), 'PAP or CHAP', 'PAP only', and 'CHAP only'." Since "PAP or CHAP" is an option, I'm assuming that the rationale for the more restrictive options is to prevent MITM attacks? If we can auto-detect authentication methods altogether, then we can get rid of the menu altogether.

> 7... we've decided that it'd be best to provision all of the possible APNs for the given SPN/MNC/MCC combination, pick a default ( which is the first that supports Internet in the list ), and then allow the user to select any of the APNs that have been provisioned

If I understand you correctly, that would make the UI much more complex: first you'd set up one or two APNs, and then you'd say "I want to use that one for Internet", rather than having dedicated "Internet APN" fields. That would be a reason to show the "Name" field (#1 above), but I'd rather avoid it (see #4 above).

> 8. AOSP allows a user to manually create a new APN.

As for #7 above.

> 9. AOSP also allows a user to reset their APN configuration to it's default ( ie. undo any changes made ).

How does Ubuntu know what the default is?

Changed in ubuntu-system-settings (Ubuntu):
status: In Progress → Triaged
assignee: Matthew Paul Thomas (mpt) → Antti Kaijanmäki (kaijanmaki)
Revision history for this message
Tony Espy (awe) wrote :
Download full text (4.8 KiB)

>> 1. Each APN has a defined "Name", which would be helpful to display to the user.

>What is the use case?

The name pulled from the provisioning database is usually something that makes sense to a user ( eg. "ATT Phone" or "Vodafone NL" ), whereas the "APN" field contains a server name ( eg. "live.vodafone.com" ).

> I could understand showing the name if we let you select an APN from a list, or import/export APN settings on external storage, or set up an APN separately from choosing which Types it should be used for. Currently we're doing none of those things, so I'm leaving it out for now. I wouldn't want to mislead people into thinking that all they need to do to make their Orange phone work is to delete "T-Mobile US" and type "Orange" in its place, leaving all the actual settings unchanged.

We're currently in the midst of transitioning our GPRS provisioning from the mobile-broadband-provider-info database to new code that queries apns-conf.xml ( sourced from AOSP ). This transition will allow multiple Internet APNs to be provisioned.

>> Also, it might be helpful to include the MCC ( mobile country code ) and MNC ( mobile network code ).

> What is the use case? Are those data editable? If so, what would an APN do differently if you changed them? And if not, what do you need to see them for?

They are editable in AOSP, but you raise a good point. Once we've provisioned the APNs, the MNC/MCC really aren't all that useful other for reference purposes.

>> 2. Currently the only protocol that's supported for Mobile data connections is IPv4.

> Explained: "The 'Protocol' menu should be present when IPv6 has been implemented."

OK

>> 3. The MMS fields are close, but not quite accurate.

> Fixed: each APN now has fields for "APN", "Proxy", and "Proxy port".

The MMS fields that should be exposed are "MMS Proxy", "MMS Port", and "MMSC". These fields may be present on an Internet APN that also supports MMS as well as a standalone MMS APN ( see below ).

>> 4. We're still trying to determine how we rectify the difference between ofono contexts and Android's APN db.

>What is the use case for an APN that isn't default/internet or mms? For example, what does a supl APN do?

A 'supl' APN is used for A-GPS. A 'dun' APN is dedicated to support BT tethering. The latest apns-conf.xml files don't contain any standalone "supl" or "dun" APNS. We don't really support either of these types right now either. At this point our plan is to support combined Internet/MMS contexts, and standalone MMS contexts. There may be multiple of the former provisioned, and for now only one MMS context.

>> 5. Turns out that there are ~100 or so APNs defined with "proxy" and "port" attributes that are used to configure what I'm guessing is a required HTTP proxy.

>Fixed as for #3.

At this point, we're not supporting generic APN proxies.

>> 6. Some APNs also expose an "authentication-type" attribute that can be: "None", "PAP", "CHAP", or "PAP or CHAP".

>Added: "The 'Authentication' menu should contain 'None' (the default), 'PAP or CHAP', 'PAP only', and 'CHAP only'." Since "PAP or CHAP" is an option, I'm assuming that the rationale for the more restrictive options...

Read more...

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Notes from video conference (please correct me if I got any of this wrong):

- apns-conf.xml includes multiple named possible APNs for a connection type for a country*operator. ofono will cycle through them looking for one that works. If none of them do (for example, you're using a Mobile Virtual Network Operator), you'll need to enter APN settings manually.

- Even so, it may be useful to switch back to one of the named stored APNs, for example, if you switch from the MVNO to its service provider. This is why it's useful to show the Name of the APN.

- There should be no "Proxy" or "Proxy port" fields for Internet APN. But where you use the Internet APN for MMS too, there should be "Proxy" and "Proxy port" fields just for that.

- MMS APNs should have both an "MMS APN" *and* an "MMSC" field.

- "Authentication", like "Protocol", will not be configurable initially.

Questions I still have:

10. Is it ever the case that when you use the same APN for Internet and for MMS, you use different user name and/or password for Internet and for MMS?

11. About how long does it take for ofono to tell whether manually entered APN settings work? One second? Five? Ten?

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Specification updated. <https://wiki.ubuntu.com/Networking?action=diff&rev2=157&rev1=155>

Without answers to my last two questions, I have assumed that using the same APN for Internet and MMS involves sharing the APN URL, user name, password, authentication, and protocol. I have also left unspecified any progress feedback when you submit manual APN settings.

description: updated
Revision history for this message
taiebot65 (dedreuil) wrote :

It is not a comment on this bug but for the people who whish to set up their APN settings manually here a how to on how they should do it. (took me ages to found out how to do it so it could be useful to put it here)

adb shell (into your phone)
cd /usr/share/ofono/scripts/ (go to ofono scripts folder)

python create-internet-context yourapnhere

and reboot your phone you should now have a little 3g icon working \o/

Revision history for this message
Tony Espy (awe) wrote :

@Matthew

Answers to your questions posed in comment #12:

> 10. Is it ever the case that when you use the same APN for Internet and for MMS, you use different user name and/or password for Internet and for MMS?

No

> 11. About how long does it take for ofono to tell whether manually entered APN settings work? One second? Five? Ten?

I will work with Mathieu to get you an exact description of this process and associated timings, as things have recently changed.

tags: added: avengers-3
Tony Espy (awe)
Changed in ubuntu-system-settings (Ubuntu):
assignee: Antti Kaijanmäki (kaijanmaki) → Pat McGowan (pat-mcgowan)
status: Triaged → In Progress
tags: added: rtm14
Changed in ubuntu-system-settings (Ubuntu):
assignee: Pat McGowan (pat-mcgowan) → Jussi Pakkanen (jpakkane)
tags: added: qa-daily-testing qa-touch
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

Feature needed to ship

Changed in ubuntu-system-settings (Ubuntu):
assignee: Jussi Pakkanen (jpakkane) → Antti Kaijanmäki (kaijanmaki)
importance: High → Critical
Changed in ubuntu-system-settings (Ubuntu):
assignee: Antti Kaijanmäki (kaijanmaki) → Jussi Pakkanen (jpakkane)
Thomas Strehl (strehl-t)
tags: added: touch-2014-08-28
Thomas Strehl (strehl-t)
tags: added: touch-2014-09-11
removed: touch-2014-08-28
Revision history for this message
Victor Tuson Palau (vtuson) wrote :

this bug needs re-planning so it is not target for the past

Changed in ubuntu-system-settings (Ubuntu):
assignee: Jussi Pakkanen (jpakkane) → Antti Kaijanmäki (kaijanmaki)
Stephen M. Webb (bregma)
tags: added: touch-2014-10-09
removed: touch-2014-09-11
Revision history for this message
Aaron Honeycutt (aaronhoneycutt) wrote :

I really need this feature as I'm using Straight Talk, if it works out of the box with AT&T I might switch to that.

Revision history for this message
Marco (jermy-07) wrote :

Aaron, you might try to edit it manually if you are smarter than me to figure out what parameters to edit. (instructions are here: https://lists.launchpad.net/ubuntu-phone/msg09329.html )

Revision history for this message
Aaron Honeycutt (aaronhoneycutt) wrote :

Marco, I tried from here https://wiki.ubuntu.com/QATeam/TouchTesting/Tips#Add_APN_Settings and here http://askubuntu.com/questions/413438/no-mobile-data-on-nexus-4-ubuntu-touch. With no results I also cannot find a job named "network-manager" though.

Thomas Strehl (strehl-t)
tags: added: touch-2014-10-16
removed: touch-2014-10-09
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-system-settings - 0.3+14.10.20141014-0ubuntu1

---------------
ubuntu-system-settings (0.3+14.10.20141014-0ubuntu1) utopic; urgency=low

  [ Ken VanDine ]
  * Add an APN editor. (LP: #1225174)
 -- Ubuntu daily release <email address hidden> Tue, 14 Oct 2014 07:52:12 +0000

Changed in ubuntu-system-settings (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
mfalko (mfalko) wrote :

I updated my Ubuntu Phone software to the latest version today and there is still no capability to edit the APN. Do I need to install some additional software? How do I do that? Sorry, I am a newbie.

Revision history for this message
Marco (jermy-07) wrote :
Revision history for this message
mfalko (mfalko) wrote :

APN editing appears to only have been implemented for MMS. Not internet.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

mfalko, APN settings have been implemented for both MMS and Internet.
<http://thinkonbytes.blogspot.co.uk/2015/02/ubuntu-phone-con-operadora-tuenti.html>

If the Internet settings aren't showing up for you, please report a separate bug, ideally attaching screenshots or a video of what you see. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.