Skip to contentSkip to navigationSkip to topbar
On this page

Thales Cinterion Modules with Super SIM



Cellular modules covered on this page

cellular-modules-covered-on-this-page page anchor
  • EXS62-W

General getting started information

general-getting-started-information page anchor

Please refer to the main Knowlegdebase page for modem-independent configuration tips.


EXS62-W Cat-M1, NB-IoT

exs62-w-cat-m1-nb-iot page anchor
(warning)

Warning

Super SIM does not support NB-IoT.

Initialization

Only configure the modem's Radio Access Technology (RAT) preference for Cat-M1. To do so, issue AT^SXRAT=7,7.

The first parameter is the RAT to connect to immediately. The second is the preferred RAT on re-connection.

A value of 8 indicates NB-IoT, and 10 indicates Cat-M1/NB-IoT dual mode. Do not use 8, and we strongly recommend that you do not select 10. This is the default and so you should always command the module to favor Cat-M1. This prevents the modem from spending time attempting to attach to NB-IoT networks, if any are nearby, only to be rejected.

Data-centric attach mode

To set the EXS62-W to force data-centric attachment, issue:

1
AT+CEMODE=2
2
AT+CFUN=1,1

The CEMODE parameter's value is as follows:

0 = PS mode 2: EPS only, data centric 2 = CS/PS mode 2: data centric

This setting is non-volatile and implemented when the modem is reset.

Bring up a data connection

  1. Set the APN: AT+CGDCONT=1,"IP","super" .
  2. Activate a PDP context: AT^SICA=1,1 .

The first parameter of AT^SICA is the required action: 1 for enable, 0 for disable. The second parameter is the ID of the PDP context to be used to host the connection — it should match the value used in the AT+CGDCONT command.

Check the device's IP address with AT+CGPADDR=1.

Perform a ping

To perform a ping to a remote host after bringing up a connection as described above, issue AT^SISX=Ping,1,"8.8.8.8",5,5000. This will yield:

1
^SISX: "Ping",1,1,"8.8.8.8",546
2
^SISX: "Ping",1,1,"8.8.8.8",515
3
^SISX: "Ping",1,1,"8.8.8.8",457
4
^SISX: "Ping",1,1,"8.8.8.8",443
5
^SISX: "Ping",1,1,"8.8.8.8",375
6
^SISX: "Ping",2,1,5,5,0,0
7
^SISX: "Ping",3,1,375,546,467
8
OK

Perform an HTTP GET

  1. Set at least one DNS server. The first argument is the PDP Context ID: AT^SICS=1,"dns1","8.8.8.8"
  2. Activate the data connection: AT^SICA=1,1
  3. Configure the HTTP operation's Internet service profile. This is referenced by its ID, in the range 0-9:

    1. Set profile 0's service type to HTTP: AT^SISS=0,srvtype,"http"
    2. Set the connection ID to match that of the current PDP context: AT^SISS=0,conid,"1"
    3. Set the target URL, including the path: AT^SISS=0,address,"http://ifconfig.co/ip" Note You can specify HTTP by including the protocol as a URL prefix, or by adding :80 to indicate the required port.
    4. Specify the request's HTTP method: AT^SISS=0,cmd,"get"
  4. Start the Internet service: AT^SISO=0
  5. The modem will attempt to make the request. You may see these URCs as the response is processed:

    1
    ^SIS: 0,0,2200,"Http connect 172.67.133.228:80"
    2
    ^SIS: 0,0,2201,"HTTP/1.1 200 OK"
    3
    ^SIS: 0,0,2201,"Content-Length: 13"
    4
    ^SISR: 0,1
  6. The last line above appears when there is data available for you to read. In this case, the header data shows how much. Read 13 bytes: AT^SISR=0,13
  7. You will see:

    1
    ^SISR: 0,13
    2
    44.204.32.14
    3
    OK
  8. Watch for the URC (Unsolicited Response Code) ^SISR: 0,2 . This indicates that all the available data has been read. If you don't see this — perhaps the response's content length was much larger and you only read a portion of it — continue to issue AT^SISR=0,<NUMBER_OF_BYTES_TO_READ> commands until all the data has been read — i.e., you receive ^SISR: 0,2
  9. Close the Internet service: AT^SISC=0
(information)

Info

If you need to provide extra request headers, such Authorization: Basic <API_KEY> or a custom header required by your server, issue AT^SISS=0,hcprop,"<HEADERS>" when you are configuring your Internet service profile.

Pass each header in the form <key>: <value>. Multiple headers can be included by separating them with the sequence \0d\0a. Don't add a separator after the last header and ensure your headers string is 255 bytes or less.

Tip If you wish to include a User-Agent header, don't add it to your headers string but instead supply it to the module with AT^SISS=0,hcuseragent,"<USER_AGENT>". This will make room in the modem's header store for other headers.

Perform an HTTPS GET

  1. Initialize the module's certificates: AT^SSECUA="CertStore/TLS/PreconfigureCerts"
  2. Set a DNS server: AT^SICS=1,"dns1","8.8.8.8"
  3. Activate the connection: AT^SICA=1,1
  4. Configure the operation's Internet service profile:

    1. Set profile 1's service type to HTTP: AT^SISS=1,srvtype,"http"
    2. Set the connection ID to match that of the current PDP context ID: AT^SISS=1,conid,"1"
    3. Set the target URL, including the path: AT^SISS=1,address,"https://jsonplaceholder.typicode.com/todos/1" Note You can specify HTTPS by including the protocol as a URL prefix, or by adding :443 to indicate the required port.
    4. Specify the request's HTTP method: AT^SISS=1,cmd,"get"
  5. Open the Internet service: AT^SISO=1
  6. The connection will be attempted. You will see these URCs:

    1
    ^SIS: 1,0,2200,"Http connect 172.67.131.170:443"
    2
    ^SIS: 1,0,2201,"HTTP/1.1 200 OK"
    3
    ^SIS: 1,0,2201,"Content-Length: 83"
    4
    ^SISR: 1,1
  7. The last line above indicates there is data available for you to read. In this case, the header data shows how much. Read 83 bytes: AT^SISR=1,83
  8. You will see:

    1
    ^SISR: 1,83
    2
    {
    3
    "userId": 1,
    4
    "id": 1,
    5
    "title": "delectus aut autem",
    6
    "completed": false
    7
    }
    8
    OK
  9. Watch for the URC ^SISR: 1,2 , which indicates that all the available data has been read. If you don't see this — perhaps the content length was much larger and you only read a portion of it — continue to issue AT^SISR=1,<NUMBER_OF_BYTES_TO_READ> commands until all the data is read — i.e., you receive ^SISR: 1,2
  10. Close the Internet service: AT^SISC=1

Perform an HTTP(S) POST

Sending data from the modem via an Internet-hosted API follows the paths outlined above for the HTTP and HTTPS protocols. You call AT^SISS=0,cmd,"post" instead of AT^SISS=0,cmd,"get".

The EXS62-W provides a way to load up a small amount (1-255 bytes) of body data: issue AT^SISS=0,hccontent,"<DATA_AS_STRING>" and AT^SISS=0,hccontlen,0.

If the size of the data you wish to send is greater than 255 bytes, set the size with AT^SISS=0,hccontlen,<SIZE_IN_BYTES> and then upload data to the module after opening the Internet service with AT^SISO=0. Issue AT^SISW=0,<CHUNK_SIZE> to trigger the modem to input the data over the UART. Up to 1500 bytes can be sent to the modem at a time, and each chunk will be sent out as they are received from your application.

Low-power modes

The EXS62-W supports the eDRX and PSM low-power modes. The commands to enable each of these are:

1
AT+CEDRXS=1
2
AT+CPSMS=1

See also AT^SEDRXS in the EXS62-W AT Commands Manual for further eDRX settings, and AT+CEDRXRDP to read dynamic eDRX parameters.

Using these features, but especially PSM, can make the modem inaccessible to the terminal during its sleep time. It's best to experiment with these features locally. To disable all power saving, send:

1
AT+CEDRXS=0
2
AT+CPSMS=0

You can learn more about implementing these modes in our low-power usage documentation.

Known issues

The EXS62-W does not support AT+CCID to retrieve the SIM's ICCID. Instead, issue AT^SIND? and look for the line commencing ^SIND: iccid,0.

Additional resources

EXS62-W AT Commands Manual(link takes you to an external page) Thales sign-in required

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.