I am testing the EG800Z-CN module by mounting it to the AP board via ECM USB for our product development.
I confirmed that LTE communication works after inserting the USIM registered with the carrier, however entering AT+CNUM returns an ERROR. The phone number is clearly written on the USIM, I suspect that the AT+CNUM command was not implemented. Please let me know if there is a command that can replace this, or is the firmware version too old?
Thank you for the detailed description and for confirming that LTE communication is working correctly on your AP board via ECM USB.
Regarding the ERROR returned by AT+CNUM, I would like to clarify that this is not caused by a missing command or an outdated firmware version. AT+CNUM is fully implemented on the EG800Z (please refer to the Quectel_EG800Z&EG915Z_Series(UniRTOS)_AT_Commands_Manual, “AT+CNUM Subscriber Number”, which references 3GPP TS 27.007). The command does not obtain the number from the network; it only reads the EF_MSISDN elementary file stored on the (U)SIM.
An ERROR (or empty) response therefore indicates that EF_MSISDN has not been provisioned on the SIM by the carrier. Please note that the number physically printed on the SIM card is cosmetic only and does not guarantee that the MSISDN has been written into EF_MSISDN. This is common with many carriers, so the module and firmware (EG800ZCNLAR07A07M04) are behaving as expected. A firmware update will not change this behaviour, as the cause is on the SIM side.
You can confirm this by reading EF_MSISDN (file ID 0x6F40 = 28480) directly using restricted SIM access. As EF_MSISDN is a record-based file, please use READ RECORD (command 178):
AT+CRSM=178,28480,1,4,40
Interpretation of the +CRSM: ,, reply:
sw1,sw2 = 144,0 indicates a successful read. In the response, the last bytes contain the TON/NPI byte followed by the BCD-encoded number. If this portion is filled with “F”, the number is not stored on the SIM, which confirms that AT+CNUM has nothing to return.
If a length error is returned, please adjust the final length parameter, as the record length can vary between SIMs (e.g. 28).
If EF_MSISDN is empty, there is no module-side AT command that can recover the number, since it is not present on the SIM. In that case, the available options are:
Request the carrier to provision EF_MSISDN, or store the number in your own application from the provisioning information.
Use a network-side self-number query via USSD (AT+CUSD). The USSD code is carrier-specific, so please confirm it with your operator.
We received the new firmware (EG800ZCNLAR07A02M04_KR_01.002.01.002.zip) from the distributor, and the problem was resolved after flashing it. Thank you for your help.