Unable to set APN with space in it

Bug #818574 reported by A. Bram Neijt
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

My Mobile broadband APN is "prepaid internet" (note the space), however the network manager does not allow me to add a space character.

Having a space in the APN name is valid and works on my Galaxy S phone, so I know the name is both legal and valid.

Revision history for this message
A. Bram Neijt (bneijt) wrote :
Download full text (4.4 KiB)

Ok, I got my connection to work using an empty APN setting.

I have tried using minicom to get the dongle to accept "prepaid internet" as an APN, and I still don't get how the Galaxy S phone running Android will except "prepaid internet" as a valid APN. I've tried a few different escape sequences, but none of them allowed me to have a space in my APN setting AT command.

In the end I got "AH Prepaid Mobiel internet" with an Huawei E153u~1 model dongle working. I think the thing that got it to work was rebooting to windows and setting the connection type to "RAS (modem)" instead of "NDIS" in the Mobile Partner program that comes with the stick. This changed my modem status from:
AT&Vn
&C: 0; &D: 2; &E: 0; &F: 0; &S: 0; &W: 0; E: 1; L: 0; M: 0; Q: 0; V: 1;
X: 0; Z: 0; \Q: 3; \S: 0; \V: 0; O: 0; S0: 0; S2: 43; S3: 13; S4: 10;
S5: 8; S6: 2; S7: 50; S8: 2; S9: 6; S10: 14; S11: 95; S30: 0; S103: 1;
S104: 1; +FCLASS: 0; +ICF: 3,3; +IFC: 2,2; +IPR: 115200; +DR: 0;
+DS: 0,0,2048,6; +WS46: 12; +CBST: 0,0,1;
+CRLP: (61,61,48,6,0),(61,61,48,6,1),(240,240,52,6,2);
+CV120: 1,1,1,0,0,0; +CHSN: 0,0,0,0; +CSSN: 0,0; +CREG: 0; +CGREG: 0;
+CFUN:; +CSCS: "IRA"; +CSTA: 129; +CR: 0; +CRC: 0; +CMEE: 0; +CGDCONT: (1,"IP","","0.0.0.0",0,0)
; +CGDSCONT: ; +CGTFT: ; +CGEQREQ: (1,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(2,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(3,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(4,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(5,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(6,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(7,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(8,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(9,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(10,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(11,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(12,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(13,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(14,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(15,2,0,0,0,0,2,0,"0E0","0E0",3,0,0),(16,2,0,0,0,0,2,0,"0E0","0E0",3,0,0)
; +CGEQMIN: ; +CGQREQ: ; +CGQMIN: ; ; +CGEREP: 0,0; +CGCLASS: "B";
+CGSMS: 1; +CSMS: 0; +CMGF: 0; +CSAS: 0; +CRES: 0;
+CSCA: "+31653131313",145; +CSMP: ,,0,0; +CSDH: 0; +CSCB: 0,"","";
+FDD: 0; +FAR: 0; +FCL: 0; +FIT: 0,0; +ES: ,,; +ESA: 0,,,,0,0,255,;
+CMOD: 0; +CVHU: 1; ; +CPIN: ,; +CMEC: 0,0,0; +CKPD: 1,1;
+CIND: 0,3,1,0,0,0,1,2; +CMER: 0,0,0,0,0; +CGATT: 1; +CGACT: 0;
+CPBS: "SM"; +CPMS: "SM","SM","SM"; +CNMI: 0,0,0,0,0; +CMMS: 2; +FTS: 0;
+FRS: 0; +FTH: 3; +FRH: 3; +FTM: 96; +FRM: 96; +CCUG: 0,0,0;
+COPS: 0,2,""; +CUSD: 0; +CAOC: 1; +CCWA: 0; +CCLK: ""; +CLVL: 2;
+CMUT: 1; +CPOL: 0,2,"",0,0,0; +CPLS: 0; +CTZR: 0; +CTZU: 0; +CLIP: 0;
+COLP: 0; +CDIP: 0; +CLIR: 0; ^PORTSEL: 0; ^CPIN: ,; ^ATRECORD: 0;
^FREQLOCK: 10981344,0; ^GLASTERR: 1; ^CVOICE: 0; ^DDSETEX: 0; ^CMSR: 0; ;
^DNSP: ; ^DNSS: ; ^AUTHDATA: 1,0,"",""; ^CRPN: 0,""

to

AT&V
&C: 1; &D: 2; &E: 0; &F: 0; &S: 0; &W: 0; E: 1; L: 1; M: 0; Q: 0; V: 1;
X: 4; Z: 0; \Q: 3; \S: 0; \V: 0; O: 0; S0: 0; S2: 43; S3: 13; S4: 10;
S5: 8; S6: 2; S7: 45; S8: 2; S9: 6; S10: 14; S11: 95; S30: 0; S103: 1;
S104: 1; +FCLASS: 0; +ICF: 3,3; +IFC: 2,2; +IPR: 115200; +DR: 0;
+DS: 0,0,2048,6; +WS46: 12; +CBST: 0,0,1;
+CRLP: (61,61,48,6,0),(61,61,48,6,1),(240,240,52...

Read more...

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

What country and provider is this for exactly? If the values are incorrect in NetworkManager, this needs to be corrected in the mobile-broadband-provider-info project, but we'll need all the information about that provider to be able to set the right values in the database.

affects: network-manager-applet (Ubuntu) → mobile-broadband-provider-info (Ubuntu)
Changed in mobile-broadband-provider-info (Ubuntu):
status: New → Incomplete
Revision history for this message
A. Bram Neijt (bneijt) wrote :

To answer the last question, I'm in the Netherlands. However, I do not own the hardware I was reporting this bug on, and I can not test the different settings anymore.

Therefore I'm closing this bug report. I think that it should be possible to set an APN with a space (as other platforms like Android and Windows allow it) but as I have no way of adding information, I'm marking this as an opinion.

Changed in mobile-broadband-provider-info (Ubuntu):
status: Incomplete → Opinion
Revision history for this message
Niels Elgaard Larsen (elgaard) wrote :

In src/network-manager-0.9.2.0/libnm-util/nm-setting-gsm.c :

 /* APNs roughly follow the same rules as DNS domain names. Allowed
   * characters are a-z, 0-9, . and -. GSM 03.03 Section 9.1 states:
   *
   * The syntax of the APN shall follow the Name Syntax defined in
   * RFC 2181 [14] and RFC 1035 [15]. The APN consists of one or
   * more labels. Each label is coded as one octet length field
   * followed by that number of octets coded as 8 bit ASCII characters.
   * Following RFC 1035 [15] the labels should consist only of the
   * alphabetic characters (A-Z and a-z), digits (0-9) and the
   * dash (-). The case of alphabetic characters is not significant.
   *
   * A dot (.) is commonly used to separate parts of the APN, and
   * apparently the underscore (_) is used as well. RFC 2181 indicates
   * that no restrictions of any kind are placed on DNS labels, and thus
   * it would appear that none are placed on APNs either, but many modems
   * and networks will fail to accept APNs that include odd characters
   * like space ( ) and such.
   */
  for (i = 0; i < apn_len; i++) {
   if ( !isalnum (priv->apn[i])
       && (priv->apn[i] != '.')
       && (priv->apn[i] != '_')
       && (priv->apn[i] != '-')) {
    g_set_error (error,
                 NM_SETTING_GSM_ERROR,
                 NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
                 NM_SETTING_GSM_APN);
    return FALSE;
   }
  }

I disagree. We should be tolerant here not conservative.

Browsers deal with HTML that does not validate, libreoffice reads .doc files.
Why should we go out of the way to stop someone from using his mobile internet just because there should not be a space in an APN?

My wife has a dutch sim-card, it is a dutch Aldi Talk card.
The APN is "MEDIONmobile Handyweb"
http://www.medionmobile.nl/web/hulp_en_contact/mms_en_internet_instellingen/

Changed in mobile-broadband-provider-info (Ubuntu):
status: Opinion → New
Revision history for this message
Bhavani Shankar (bhavi) wrote :

Seems like this is with the NM code and I tend to agree with you larsen on this and why not patch up the above code stub to include spaces?

Matt: Your views on the same welcome.

Regards

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

I'd be tempted to drop that piece of code. Seems sane to allow modems to fail by themselves if the APN is wrong, since in most cases I expect (and hope) that the default values from m-b-p-i is what gets used, and that we aren't missing too many of those.

Changed in mobile-broadband-provider-info (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Still needs input from upstream though.

affects: mobile-broadband-provider-info (Ubuntu) → network-manager (Ubuntu)
Changed in network-manager (Ubuntu):
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Targetting to beta-2; I really really would like to see this fixed; it's a simple enough change provided that upstream can agree that this restriction is no longer needed / that we can find another way to support spaces in the APN for the UI textbox.

Changed in network-manager (Ubuntu):
milestone: none → ubuntu-12.10-beta-2
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

I just don't have as much time as I expected to be able to look into this. Steps that still need to happen:

1- check whether this bug is still an issue in latest network-manager code.
2- if it is, talk to upstream, file a bug there so that it can be fixed there for all distros, and we'll get the changes in Ubuntu.

I'm unassigning myself from this bug since it doesn't look like I'll be able to get to it any time soon, but regardless, it should be approachable to all to work on a fix.

Changed in network-manager (Ubuntu):
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → nobody
milestone: ubuntu-12.10-beta-2 → none
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.