Search code examples
mobileat-commandmodem

CREG, CGREG, CEREG AT commands


I have to control a modem Cinterion ELS61 with a host application. Can anyone tell me in simple words which is the real difference among at+creg?, at+cgreg? and at+cereg? commands? I know that cgreg is related to 2G and 3G radio access technology and cereg with 4G/LTE one, but the actual differences are not so clear and neither the relation with the creg command results. It follows an example from a real case:

AT+CREG?
+CREG: 2,5,"38AD","02531900",7
OK
AT+CGREG?
+CGREG: 2,4
OK
AT+CEREG?
+CEREG: 2,5,"2AF2","02531900",7
OK

What is the difference among the answers to +creg and +cereg? Aren't they quite the same? And by the way, what does it mean that the same cell (02531900) has 2 difference location area codes (i.e. 38AD and 2AF2)? Thanks for the attention


Solution

  • All the +C*REG commands, as you probably know, query the status of the registration to some network.

    The first step is the following categorization:

    • +CREG, that queries the registration to the circuit switched network.
      It is basically the GSM "classic" network, on which voice/data calls and SMSs are based

    • +C*REG commands, that query the registration to the packet networks.
      They are the networks on which the packed data traffic is based. The network allowing the access to internet, to be clear.


    +C*REG commands are technology specific commands:

    • +CGREG queries the registration to GPRS network
    • +CEREG queries the registration to LTE data packet network, and in some cases is mandatory also to perform tasks that were usually based on GSM: voice calls (if VoLTE, Voice Over LTE, is supported) or to sent SMSs (IMS protocol).
      LTE technology, basically, moves almost everithing on packet traffic

    The reason why different commands are available (even in the same cellular module) is that different registration processes are required for each sub-network.