Automatic detection of the APN for a particular carrier

Is there any way to automatically detect and configure the APN for a particular carrier?

Hi akn,
The apn for particular operator is stored in EF-ACL of that operator’s SIM.
You can set requested APN in the CGDCONT command, but :
• The APN Control List (ACL) will only be checked if a USIM is inserted. Before performing context definition, it will check if the ACL-service is enabled and activated. If yes, all APNs from the ACL of EF-ACL of the USIM will be read out and compared with the requested APN.
 If the requested APN is listed in the ACL, the context definition will be performed.
 If the requested APN is empty ("") and ACL contains “network provided APN”, the context definition will also be requested.
 If the APN is not listed in the ACL, the command returns error.
 If the ACL-service is not enabled or not activated in the USIM or a GSMSIM is inserted, the context definition will be performed without any checks.

Thanks,

Thanks for your response.

Please confirm if EF-ACL is read only.

How do I read the APN (of a particular class) from EF-ACL using AT+CRSM or any other AT command?

How does it differs from using etc/apns-full-conf.xml of android?

What is the AT command to read MCC and MNC on EM7455?

Response from AT!LTEINFO? and AT!NVPLMN?

AT!LTEINFO?
!LTEINFO:
Serving: EARFCN MCC MNC TAC CID Bd D U SNR PCI RSRQ RSRP RSSI RXLV
2100 311 480 12034 054C8E20 4 5 5 6 77 -9.4 -101.8 -72.4 20

IntraFreq: PCI RSRQ RSRP RSSI RXLV
77 -9.4 -101.8 -72.4 20
160 -17.0 -113.0 -86.2 20
100 -19.1 -113.2 -86.3 20

InterFreq: EARFCN ThresholdLow ThresholdHi Priority PCI RSRQ RSRP RSSI RXLV
5230 0 6 3 77 -10.9 -86.4 -67.8 0
5230 0 6 3 71 -20.0 -97.5 -67.7 0

GSM: ThreshL ThreshH Prio NCC ARFCN 1900 valid BSIC RSSI RXLV

WCDMA: UARFCN ThreshL ThreshH Prio PSC RSCP ECN0 RXLV

CDMA 1x: Chan BC Offset Phase Str

CDMA HRPD: Chan BC Offset Phase Str

AT!NVPLMN?
MCC MNC
??? ???

Hi akn,
The EF-ACL is a file in the USIM, it is read-only.
At first, please set empty APN on devices AT+CGDCONT=1,“IPV4V6”,""
Insert SIM to device and reboot (if any). When the APN Control List service is enabled, the ME shall check that the entire APN of any PDP context is listed in EFACL before requesting this PDP context activation from the network. If the APN is not present in EFACL, the ME shall not request the corresponding PDP context activation from the network.
In the case that the APN Control List is enabled and no APN is indicated in the PDP context request, indicating that a network provided APN is to be used, then the ME shall only request the PDP context activation if “network provided APN” is contained within EFACL.
After that, read APN that device is using : AT+CGDCONT?
If it can not get the APN automatically, the only way is set it manually, AT+CGDCONT=CID,“IPV4V6”,“apn”

The AT!LTEINFO? command can show MCC and MNC
AT!LTEINFO?
!LTEINFO:
Serving: EARFCN MCC MNC TAC CID Bd D U SNR PCI RSRQ RSRP RSSI RXLV
2100 311 480 12034 054C8E20 4 5 5 6 77 -9.4 -101.8 -72.4 20

–> MCC = 311, MNC = 480

Thanks,

1 Like

@akn

Also note that this EF is optional with regards implementation on the SIM from the operator and quite often is not implemented as APN’s can change quite quickly.

Regards

Matt

1 Like