LogoLogo
ProductsDevelopersAPI ReferenceContact Us
Super SIM
Super SIM
  • Super SIM
  • Super SIM's Available Networks
  • Super SIM’s Multi-IMSI Applet
  • Over-the-Air Updates
  • Get Started with Super SIM
    • Overview
    • Get Started with Super SIM, the Raspberry Pi 4 and the Waveshare 4G Hat
    • Get Started with Super SIM, the Raspberry Pi 4 and the Sixfab Base Hat
    • Get Started with Data Comms and the Raspberry Pi Pico
    • Get Started with Super SIM SMS Commands and the Raspberry Pi 4
    • Get Started with Super SIM SMS Commands and the Raspberry Pi Pico
    • Get Started with Super SIM IP Commands and the Raspberry Pi
    • Get Started with Super SIM IP Commands and the Raspberry Pi Pico
    • Get Started with Super SIM eSIM Profiles for eUICCs
    • Get Started with Super SIM Connection Events
  • How To
    • How to Set a Device’s APN for Super SIM
    • How to Enable Device Roaming for Super SIM
    • How to Determine Whether a Device Contains a Super SIM
    • How to Set up iPhones for Super SIM
    • How to Determine a Super SIM’s Status
    • How to Use Console Bulk Actions to Update Multiple Super SIMs
    • How to Download Bulk Super SIM Data
    • How to Use Super SIM Fleets and Network Access Profiles
    • How to Understand the Settings on your SIM
      • Base Settings Package
    • How and Why You Can Set Super SIM’s Network Attach Priority List
    • How to Set Up and Use a Super SIM VPN
    • How to Configure AWS for a Super SIM VPN
    • How to Make and Take IoT VoIP Calls via Super SIM
    • How to Use Super SIM Connection Events
    • How to use Super SIM eSIM Profiles
    • How to Monitor Super SIM Connection Events using AWS ElasticSearch and Kibana
    • How to Use OpenAPI Clients with Super SIM
  • Into Production
    • Prepare for Production Deployments with Super SIM
    • Super SIM Datasheet
    • Super SIM Network Timeouts
  • Works with Super SIM
    • Works with Super SIM: Quectel BG95
    • Works with Super SIM: Quectel EG21-G
    • Works with Super SIM: Quectel EG25-G
    • Works with Super SIM: Thales Cinterion EXS62-W
    • Works with Super SIM: u-blox SARA-R5
  • Cellular Module Knowledgebase
    • Overview
    • About AT Commands
    • Nordic Modules with Super SIM
    • Quectel Modules with Super SIM
    • Quectel Modules with the KORE Narrowband SIM
    • Simcom Modules with Super SIM
    • Telit Modules with Super SIM
    • Thales Cinterion Modules with Super SIM
    • U-blox Modules with Super SIM
    • Cellular IoT Terminology
    • Low-power Optimization for Cellular Modules
    • Four Best Practices for Cellular Module Registration
    • How to Determine Good Cellular Signal Strength
    • How Super SIM Devices Connect to Cell Networks
  • Super SIM API
On this page
  • Cellular modems covered on this page
  • Firmware updates
  • General getting started information
  • BG95/BG96 Cat-M1, NB-IoT, GSM
  • Initialization
  • Data-centric attach mode
  • Configure the URC UART
  • Perform a ping
  • Perform an HTTP GET
  • Perform an HTTPS GET
  • Perform an HTTP(S) POST
  • Low-power modes
  • Known issues
  • Additional resources
  • EG21-G Cat-1, GSM
  • Initialization
  • Data-centric attach mode
  • Configure the URC UART
  • Perform a ping
  • Perform an HTTP GET
  • Perform an HTTPS GET
  • Perform an HTTP(S) POST
  • Low-power modes
  • Additional resources
  • EG25-G Cat-4, GSM
  • Initialization
  • Data-centric attach mode
  • Configure the URC UART
  • Perform a ping
  • Perform an HTTP GET
  • Perform an HTTPS GET
  • Perform an HTTP(S) POST
  • Low-power modes
  • Additional resources

Was this helpful?

  1. Cellular Module Knowledgebase

Quectel Modules with Super SIM

PreviousNordic Modules with Super SIMNextQuectel Modules with the KORE Narrowband SIM

Last updated 3 months ago

Was this helpful?

Cellular modems covered on this page


Firmware updates

Firmware updates for Quectel cellular modules are typically available through Quectel support. Please reach out to your Quectel representative or for assistance with firmware updates.


General getting started information

Please refer to the main Knowlegdebase page for .


BG95/BG96 Cat-M1, NB-IoT, GSM

Super SIM does not support NB-IoT.

Initialization

If you are connecting via LTE, only configure the modem's Radio Access Technology (RAT) preference to Cat-M1: issue the Quectel-specific command AT+QCFG="iotopmode" with its default setting, 0, the first numeric parameter of the command below.

AT+QCFG="iotopmode",0,1

If iotopmode is set to 1 (NB-IoT), the modem will not be able to connect to Cat-M1.

If you wish to limit comms to LTE only, i.e., disable 2G (GSM), issue:

AT+QCFG="nwscanmode",3,1

The first numeric parameter, 3, indicates LTE only; a value of 1 sets the modem to GSM only. The default, 0, tells the modem to select the RAT automatically. The setting is applied immediately.

Data-centric attach mode

To set the modem to force data-centric attachment — ie., do not make circuit-switched attachments — issue AT+QCFG="servicedomain",1,1.

The first numeric parameter is the mode:

  • 1 = Packet Switch (PS) attach only.

  • 2 = Circuit Switch and Packet Switch (CS/PS) attach.

This setting is non-volatile.

Configure the URC UART

To configure the Unsolicited Result Code (URC) serial (UART) delivery channel to uart1, issue AT+QURCCFG="urcport","uart1".

Perform a ping

To perform a ping to a remote host, issue AT+QPING=1,"<TARGET_IP_ADDRESS_OR_NAME>". This will yield, for example:

+QPING: 0,"8.8.8.8",32,93,255
+QPING: 0,"8.8.8.8",32,78,255
+QPING: 0,"8.8.8.8",32,80,255
+QPING: 0,"8.8.8.8",32,80,255
+QPING: 0,4,4,0,78,93,82

Perform an HTTP GET

To issue an HTTP GET request using the built-in HTTP client, run the following commands:

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context: AT+QIACT=1

  4. Set the target URL: AT+QHTTPURL=21This sets the modem to receive, prompted by the output CONNECT. The first parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The value of 21 comes from the URL below. The URL you provide must include the protocol, ie. http://.

  5. Upon CONNECT, enter the URL. For example: http://ifconfig.co/ip

  6. Issue a GET request: AT+QHTTPGET

  7. View the request: AT+QHTTPREAD

The request will look like this:

HTTP/1.1 200 OK
Date: Sat, 28 Nov 2020 18:38:52 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 15
Connection: keep-alive
Set-Cookie: __cfduid=d33c30006be23245591d83133631425031606588732; expires=Mon, 28-Dec-20 18:38:52 GMT; path=/; domain=.ifconfig.co; HttpOnly; SameSite=Lax
Strict-Transport-Security: max-age=15768000; includeSubdomains; preload
CF-Cache-Status: DYNAMIC
cf-request-id: 06b1bfaa91000025ed8fa46000000001
0Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=8eYWG5vobibOeI8xWFxNSGJpELSCSthW9aAclBXw3esKOGBsYPT4izdckGI2kpOW%2BA7KOhi3OFk%2FLUab3RpQvKu5EYYWLD%2B2fSxV4Q%3D%3D"}],"group":"cf-nel","max_age":604800}
1NEL: {"report_to":"cf-nel","max_age":604800}
2Server: cloudflare
3CF-RAY: 5f96355748c225ed-IAD
4
599.84.181.20
6
7OK
8+QHTTPREAD: 0

This example uses a service that returns the IP address of the requester.

If you need to provide extra HTTP request headers, such Authorization: Basic <API_KEY>, or a custom header required by your server, issue AT+QHTTPCFG="requestheader",1 to tell the modem to use the custom header that you will provide when you make each request. You must create a full HTTP request header separated from your request body by <CR><LF> characters. Whether you make a POST or a GET request, include a byte-count parameter that totals the header plus the body (POST request) or header alone (GET request). For example, AT+QHTTPGET=60,512 for a 512-byte header (including the end-of-header <CR><LF>). The 60 is a timeout. This defaults to 60 seconds but must be included if a second parameter is also present.

You can check the status of a PDP context with AT+QIACT?. If activated, this will return the context ID; 0 or 1 whether the context is inactive or active; 1 or 2 whether the context is using IPv4 or IPv6; and the device's IP address.

Perform an HTTPS GET

To issue an HTTPS GET request using the built-in HTTP client, follow the same procedure outlined above but with extra steps to configure SSL.

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context if it is not already active: AT+QIACT=1

  4. Select the SSL context ID for this PDP context ID: AT+QHTTPCFG="sslctxid",1

  5. Set the SSL version. Choose TLS 1.2: AT+QSSLCFG="sslversion",1,3

  6. Set the SSL cipher suite. Choose all types: AT+QSSLCFG="ciphersuite",1,0xFFFF

  7. For testing, set the SSL verification level to 0, i.e., no CA certificate is required: AT+QSSLCFG="seclevel"=0

  8. Set the target URL: AT+QHTTPURL=70This sets the modem to receive, prompted by the output CONNECT. The parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The value of 70 comes from the URL below. The URL you provide must include the protocol, ie. https://.

  9. Upon receiving CONNECT, enter the URL. For example: https://twilio-cms-prod.s3.amazonaws.com/documents/super-sim-test.json

  10. Issue a GET request: AT+QHTTPGET

  11. View the response: AT+QHTTPREAD

The request will look something like this:

HTTP/1.1 200 OK
Date: Thu, 19 May 2022 10:23:25 GMT
Last-Modified: Thu, 19 May 2022 10:05:25 GMT
Accept-Ranges: bytes
Content-Type: application/json
Server: AmazonS3
Content-Length: 128

{
   "userId": 1,
   "id": 5,
   "title": "laboriosam mollitia et enim quasi adipisci quia provident illum",
   "completed": false,
}                                                                                                                         }
OK

+QHTTPREAD: 0

Perform an HTTP(S) POST

Sending data from the modem to an Internet-hosted API follows the paths outlined above for the HTTP and HTTPS protocols: call AT+QHTTPOST instead of AT+QHTTPGET.

Optionally, the QHTTPOST command takes a parameter indicating the amount of data you are sending. The modem uses this to read that number of bytes via the UART over which your application is communicating with it. If you are providing a custom HTTP request header, remember to include its length too.

Low-power modes

While the BG95 and 96 support low-power modes for eDRX and PSM, support for these features will vary by visited network and location. The commands to enable for each of these are:

AT+CEDRXS=1
AT+CPSMS=1

See also AT+QPTWEDRXS and AT+CEDRXRDP in the BG95/96 AT Commands Manual for further options.

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:

AT+CEDRXS=0
AT+CPSMS=0

Known issues

The BG95 and BG96 will connect to 2G if they are unable to connect to Cat-M1 and 2G has not been disabled. Unfortunately, if Cat-M1 coverage is restored, or the device moves into an area where Cat-M1 is available, the modem will nonetheless continue to connect to 2G. This is because Quectel modems favor the most recently used RAT when they reconnect, and this value is persisted in non-volatile memory.

To avoid this issue, you can use the following AT command in your application to clear the stored RAT by resetting the modem's RAT searching sequence:

AT+QCFG="nwscanseq",020103,1

The parameter 020103 represents the RAT sequence: 02 is Cat-M1, 01 is GSM, and 03 is NB-IoT. Super SIM is not compatible with NB-IoT, so this is placed last.

The final 1 forces the sequence to be applied immediately, avoiding the need to reboot the modem. Leave this parameter off, or set it to 0, to impose the new sequence on the next power cycle.

Additional resources


EG21-G Cat-1, GSM

Initialization

If you wish to limit communications to LTE only, i.e., to disable 2G (GSM), issue this command:

AT+QCFG="nwscanmode",3

This setting will be applied immediately.

Data-centric attach mode

To instruct the modem to initiate data-centric attachments only — ie., not to make voice-oriented circuit-switched attachments too, which is the default — issue:

AT+QCFG="servicedomain",1

This setting will be applied immediately.

Configure the URC UART

To configure the Unsolicited Result Code (URC) serial (UART) delivery channel to uart1, issue AT+QURCCFG="urcport","uart1".

Perform a ping

To perform a ping to a remote host, issue AT+QPING=1,"<TARGET_IP_ADDRESS_OR_NAME>". This will yield, for example:

+QPING: 0,"8.8.8.8",32,172,255
+QPING: 0,"8.8.8.8",32,212,255
+QPING: 0,"8.8.8.8",32,376,255
+QPING: 0,"8.8.8.8",32,174,255
+QPING: 0,4,4,0,172,376,233

Perform an HTTP GET

To issue an HTTP GET request using the built-in HTTP client, run the following commands:

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context: AT+QIACT=1

  4. Set the target URL: AT+QHTTPURL=21This sets the modem to receive, prompted by the output CONNECT. The first parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The URL you provide must include the protocol, ie. http://.

  5. Upon CONNECT, enter the URL. For example: http://ifconfig.co/ip

  6. Issue a GET request: AT+QHTTPGET

  7. View the request: AT+QHTTPREAD

The request will look like this:

HTTP/1.1 200 OK
Date: Sat, 28 Nov 2020 18:38:52 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 15
Connection: keep-alive
Set-Cookie: __cfduid=d33c30006be23245591d83133631425031606588732; expires=Mon, 28-Dec-20 18:38:52 GMT; path=/; domain=.ifconfig.co; HttpOnly; SameSite=Lax
Strict-Transport-Security: max-age=15768000; includeSubdomains; preload
CF-Cache-Status: DYNAMIC
cf-request-id: 06b1bfaa91000025ed8fa46000000001
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=8eYWG5vobibOeI8xWFxNSGJpELSCSthW9aAclBXw3esKOGBsYPT4izdckGI2kpOW%2BA7KOhi3OFk%2FLUab3RpQvKu5EYYWLD%2B2fSxV4Q%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 5f96355748c225ed-IAD

99.84.181.20

OK
+QHTTPREAD: 0

This example uses a service that returns the IP address of the requester.

If you need to provide extra HTTP request headers, such Authorization: Basic <API_KEY>, or a custom header required by your server, issue AT+QHTTPCFG="requestheader",1 to tell the modem to use the custom header that you will provide when you make each request. You must create a full HTTP request header separated from your request body by <CR><LF> characters. Whether you make a POST or a GET request, include a byte-count parameter that totals the header plus the body (POST request) or header alone (GET request). For example, AT+QHTTPGET=60,512 for a 512-byte header (including the end-of-header <CR><LF>). The 60 is a timeout. This defaults to 60 seconds but must be included if a second parameter is also present.

You can check the status of a PDP context with AT+QIACT?. If activated, this will return the context ID; 0 or 1 whether the context is inactive or active; 1 or 2 whether the context is using IPv4 or IPv6; and the device's IP address.

Perform an HTTPS GET

To issue an HTTPS GET request using the built-in HTTP client, follow the same procedure outlined above but with extra steps to configure SSL.

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context if it is not already active: AT+QIACT=1

  4. Select the SSL context ID for this PDP context ID: AT+QHTTPCFG="sslctxid",1

  5. Set the SSL version. Choose TLS 1.2: AT+QSSLCFG="sslversion",1,3

  6. Set the SSL cipher suite. Choose all types: AT+QSSLCFG="ciphersuite",1,0xFFFF

  7. For testing, set the SSL verification level to 0, i.e., no CA certificate is required: AT+QSSLCFG="seclevel"=0

  8. Set the target URL: AT+QHTTPURL=70This sets the modem to receive, prompted by the output CONNECT. The parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The value of 70 comes from the URL below. The URL you provide must include the protocol, ie. https://.

  9. Issue a GET request: AT+QHTTPGET

  10. View the response: AT+QHTTPREAD

The request will look something like this:

HTTP/1.1 200 OK
Date: Thu, 19 May 2022 10:23:25 GMT
Last-Modified: Thu, 19 May 2022 10:05:25 GMT
Accept-Ranges: bytes
Content-Type: application/json
Server: AmazonS3
Content-Length: 128

{
   "userId": 1,
   "id": 5,
   "title": "laboriosam mollitia et enim quasi adipisci quia provident illum",
   "completed": false,
}                                                                                                                         }
OK
+QHTTPREAD: 0

Perform an HTTP(S) POST

Sending data from the modem to an Internet-hosted API follows the paths outlined above for the HTTP and HTTPS protocols: call AT+QHTTPOST instead of AT+QHTTPGET.

Optionally, the QHTTPOST command takes a parameter indicating the amount of data you are sending. The modem uses this to read that number of bytes via the UART over which your application is communicating with it. If you are providing a custom HTTP request header, remember to include its length too.

Low-power modes

The EG21-G does not support eDRX and PSM.

Additional resources


EG25-G Cat-4, GSM

Initialization

If you wish to limit communications to LTE only, i.e., to disable 2G (GSM), issue this command:

AT+QCFG="nwscanmode",3

This setting will be applied immediately.

Data-centric attach mode

To instruct the modem to initiate data-centric attachments only — ie., not to make voice-oriented circuit-switched attachments too, which is the default — issue:

AT+QCFG="servicedomain",1

This setting will be applied immediately.

Configure the URC UART

To configure the Unsolicited Result Code (URC) serial (UART) delivery channel to uart1, issue AT+QURCCFG="urcport","uart1".

Perform a ping

To perform a ping to a remote host, issue AT+QPING=1,"<TARGET_IP_ADDRESS_OR_NAME>". This will yield, for example:

+QPING: 0,"8.8.8.8",32,167,255
+QPING: 0,"8.8.8.8",32,162,255
+QPING: 0,"8.8.8.8",32,164,255
+QPING: 0,"8.8.8.8",32,162,255
+QPING: 0,4,4,0,162,167,163

Perform an HTTP GET

To issue an HTTP GET request using the built-in HTTP client, run the following commands:

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context: AT+QIACT=1

  4. Set the target URL: AT+QHTTPURL=21This sets the modem to receive, prompted by the output CONNECT. The first parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The URL you provide must include the protocol, ie. http://.

  5. Upon CONNECT, enter the URL. For example: http://ifconfig.co/ip

  6. Issue a GET request: AT+QHTTPGET

  7. View the request: AT+QHTTPREAD

The request will look like this:

HTTP/1.1 200 OK
Date: Fri, 20 May 2022 08:52:56 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 13
Connection: keep-alive
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9fl%2B3t%2FRMhY2tMyWQDFAIM1mfFem0zLc7aONeXJ%2Fg4a%2FJPKFl%2BeGYElL5zwwuxi7%2BIfqx}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 70e3d6ceb8cc5b17-IAD
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

44.204.32.40

OK

+QHTTPREAD: 0

This example uses a service that returns the IP address of the requester.

If you need to provide extra HTTP request headers, such Authorization: Basic <API_KEY>, or a custom header required by your server, issue AT+QHTTPCFG="requestheader",1 to tell the modem to use the custom header that you will provide when you make each request. You must create a full HTTP request header separated from your request body by <CR><LF> characters. Whether you make a POST or a GET request, include a byte-count parameter that totals the header plus the body (POST request) or header alone (GET request). For example, AT+QHTTPGET=60,512 for a 512-byte header (including the end-of-header <CR><LF>). The 60 is a timeout. This defaults to 60 seconds but must be included if a second parameter is also present.

You can check the status of a PDP context with AT+QIACT?. If activated, this will return the context ID; 0 or 1 whether the context is inactive or active; 1 or 2 whether the context is using IPv4 or IPv6; and the device's IP address.

Perform an HTTPS GET

To issue an HTTPS GET request using the built-in HTTP client, follow the same procedure outlined above but with extra steps to configure SSL.

  1. Set the PDP context ID: AT+QHTTPCFG="contextid",1

  2. Enable output of HTTP response headers: AT+QHTTPCFG="responseheader",1

  3. Activate the PDP context if it is not already active: AT+QIACT=1

  4. Select the SSL context ID for this PDP context ID: AT+QHTTPCFG="sslctxid",1

  5. Set the SSL version. Choose TLS 1.2: AT+QSSLCFG="sslversion",1,3

  6. Set the SSL cipher suite. Choose all types: AT+QSSLCFG="ciphersuite",1,0xFFFF

  7. For testing, set the SSL verification level to 0, i.e., no CA certificate is required: AT+QSSLCFG="seclevel"=0

  8. Set the target URL: AT+QHTTPURL=70This sets the modem to receive, prompted by the output CONNECT. The parameter is the number of bytes the modem should expect to receive: it will end input after receiving this number of characters. The value of 70 comes from the URL below. The URL you provide must include the protocol, ie. https://.

  9. Issue a GET request: AT+QHTTPGET

  10. View the response: AT+QHTTPREAD

The request will look something like this:

HTTP/1.1 200 OK
Date: Thu, 19 May 2022 10:23:25 GMT
Last-Modified: Thu, 19 May 2022 10:05:25 GMT
Accept-Ranges: bytes
Content-Type: application/json
Server: AmazonS3
Content-Length: 128

{
   "userId": 1,
   "id": 5,
   "title": "laboriosam mollitia et enim quasi adipisci quia provident illum",
   "completed": false,
}                                                                                                                         }
OK

+QHTTPREAD: 0

Perform an HTTP(S) POST

Sending data from the modem to an Internet-hosted API follows the paths outlined above for the HTTP and HTTPS protocols: call AT+QHTTPOST instead of AT+QHTTPGET.

Optionally, the QHTTPOST command takes a parameter indicating the amount of data you are sending. The modem uses this to read that number of bytes via the UART over which your application is communicating with it. If you are providing a custom HTTP request header, remember to include its length too.

Low-power modes

While the EG21-G supports low-power modes for eDRX and PSM, support for these features will vary by visited network and location. The commands to enable for each of these are:

AT+CEDRXS=1
AT+CPSMS=1

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:

AT+CEDRXS=0
AT+CPSMS=0

Additional resources

You can learn more about implementing these modes in our .

• Quectel sign-in required • Quectel sign-in required

Upon receiving CONNECT, enter the URL. For example:

• Quectel sign-in required

Upon receiving CONNECT, enter the URL. For example:

You can learn more about implementing these modes in our .

• - Scroll down to the AT Commands section, login is required to download

low-power usage documentation
BG96 AT Commands Manual
BG95, BG77, and BG600L Series AT Commands Manual
https://twilio-cms-prod.s3.amazonaws.com/documents/super-sim-test.json
EG21-G AT Commands Manual
https://twilio-cms-prod.s3.amazonaws.com/documents/super-sim-test.json
low-power usage documentation
EG25-G AT Commands Manual
Quectel Support
modem-independent configuration tips
BG95/BG96
EG21-G
EG25-G