# Thales Cinterion TX62

The [**Cinterion® TX62**](https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/iot-connectivity/products/iot-products/tx62) Wireless IoT Module supports global frequencies of LTE Cat M-1 and NB-IoT (Cat NB1 and Cat NB2).

![](/files/YB6u8RaddokOEE4NqDMv)

### Prerequisites

* Monogoto SIM
* [Cinterion TX62](https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/iot-connectivity/products/iot-products/tx62)
* Access to Monogoto [Hub](https://hub.monogoto.io/) or [Console](https://console.monogoto.io/)

### Quick Navigation

* [Connect the Cinterion TX62 to Monogoto](#connect-the-cinterion-tx62-to-monogoto)
* [Sending a PING](#sending-a-ping)
* [Useful Links](#useful-links)
* [Getting started with the Arduino Portenta CAT.M1/NBIOT shield](broken://pages/cUhfqX2KxCT1IecGrwLZ)

## Connect the Cinterion TX62 to Monogoto

{% hint style="info" %}
When connecting to the Cinterion modem, keep the **AT Commands manual** next to you to look up details about commands. To download the latest version, [**click here**](https://m2m-communication.gemalto.com/Thales-TX62-ATC).
{% endhint %}

**Reset the modem** to its factory default configuration:

```bash
AT&F
```

Set the error reporting to **verbose**, resulting in more descriptive error messages (optional):

```bash
AT+CMEE=2
```

Check if the SIM card is attached and is not locked with a PIN, expected response: `+CPIN: READY`:

```bash
AT+CPIN?
```

{% hint style="warning" %}
If you receive an error, the SIM may not be inserted properly or the SIM is protected with a PIN. By default, Monogoto SIMs are not PIN protected.
{% endhint %}

### Query device information

Request the **product type** number:

```bash
ATI
```

Expected response: `Cinterion TX62-W REVISION 01.001`

Request the **IMSI** (International Mobile Subscriber Identity):

```
AT+CIMI
```

Request the **ICCID** (Integrated Circuit Card ID), which is the identification number of the SIM card

```bash
AT^SCID
```

### Network Configuration

It is possible to let the modem select the network automatically, or to manually define a network to connect with.

#### **Option 1: Automatic Network Selection**

To set the modem to **automatic network selection** enter the command:

```bash
AT+COPS=0
```

Check the **network and cellular technology the modem** is currently using:

```
AT+COPS? 
```

Expected response: `+COPS: 0,0,"<name of operator>",X`. The last digit indicates the cellular technology:\
`7` indicates **LTE Cat-M1** \
`9` indicates **NB-IoT**

#### Option 2: Manual Network Selection

Start with searching for available networks:

```
AT+COPS=?
```

{% hint style="warning" %}
It may take several minutes before the modem responds.&#x20;
{% endhint %}

The modem responds with the names and the **MCCMNC** codes of the available networks. It also shows the cellular technologies the networks support:&#x20;

Example response:&#x20;

```
+COPS: (2,"NL KPN","NL KPN","20408",7),(1,"T-Mobile NL","TMO NL","20416",7),(1,"vodafone NL","voda NL","20404",9),,(0,1,2,3,4),(0,1,2)
```

To find which of the networks Monogoto has **roaming agreements** with, review the [**Coverage lists**](/getting-started/global-public-coverage.md).

{% hint style="info" %}
To find the **profile** of your SIM, visit the [**Monogoto Console**](https://console.monogoto.io/), open the page **Things** ![](/files/OWVV2DjKOVW5iaNl1NcG) and select a specific **Thing**. Scroll down to **Mobile Identities** to find your profile in the column **Network Provider Name**.

![](/files/0IINqu41pSHJSRJYujvX)
{% endhint %}

Check the **network and cellular technology** the modem is currently using:

```
AT+COPS? 
```

Expected response: `+COPS: 0,0,"<name of operator>",X`. The last digit indicates the cellular technology.

**Manually set the network and the cellular technology**:

```
AT+COPS=1,2,"XXXXX",7
```

Replace `XXXXX` with the **MCCMNC** code of your operator, for example`"20404"` for Vodafone NL. Use `7` for **LTE Cat-M1**.

**Check the radio signal strength and signal quality:**

```bash
AT+CSQ
```

{% hint style="info" %}
`+CSQ` returns 2 values separated by a comma. The first value represents the **signal strength** and provides a value between 0 and 31; higher numbers indicate better signal strength. The second value represents the **signal quality** indicated by a value between 0 and 7. If `AT+CSQ` returns `99,99`, the signal is undetectable or unknown.
{% endhint %}

#### Selection of Radio Access Technology (RAT)

The `AT^SXRAT` command specifies the Radio Access Technologies to be used for network selection and registration.

To set a preferred technology, use:

```
AT^SXRAT=<RAT>,<RAT_pref>
```

Replace `<RAT>` with:\
`7` for **LTE-M**\
`8` for **NB-IoT**\
`10`  for **LTE-M and NB-IoT**

Replace `<RAT_pref>` to define an preferred radio technology (optional):\
`7` for **LTE-M**\
`8` for **NB-IoT**

*Example:*\
To enable both LTE-M and NB-IoT, and use LTE-M as the preferred RAT, use:

```
AT^SXRAT=10,7
```

**Test** if the RAT selection is properly set:

```
AT^SXRAT?
```

#### Define the cellular band(s) (optional)

It is possible to **lock the modem to one or more specific bands**. This may result in a faster boot cycle as the modem does not need to scan for available bands at startup.

To **find** the bands the modem has currently enabled for CatM, use:

```
AT^SCFG="Radio/Band/CatM"
```

Expected response:&#x20;

```
AT^SCFG="Radio/Band/CatM",0f0e189f,10000200000000
```

*`0f0e189f,10000200000000` indicates that all available bands are enabled.*&#x20;

To **find** the bands the modem has currently enabled for NB-IoT, use:

```
AT^SCFG="Radio/Band/CatNB"
```

{% hint style="warning" %}
Although the modem may support many a variety of bands, your local network operator may not. Have a look at the [**LTE Cat-M1 overview**](broken://pages/GDSRxI85QWE6Z2lsLeS3) to find the available band(s) in your region.
{% endhint %}

To **lock** the modem to a specific CatM band: \
\&#xNAN;*Replace `<band>` with your band of choice. E.g. `80000` represents band 20.*

```
AT^SCFG="Radio/Band/CatM",<band>
```

To **lock** the modem to a specific NB-IoT band:&#x20;

```
AT^SCFG="Radio/Band/CatNB",<band>
```

{% hint style="info" %}
To find out more details about **what** **values represent what bands**, visit the [**Cinterion AT Commands Manual**](https://m2m-communication.gemalto.com/Thales-TX62-ATC), section 2.11, page 63-65
{% endhint %}

**Test** if the Cat-M1 band is properly set:

```
AT^SCFG="Radio/Band/CatM"
```

Example response: `^SCFG: "Radio/Band/CatM","0f0e189f","0010000200000000"`

To test the NB-IoT band, use:

```
AT^SCFG="Radio/Band/CatNB"
```

## Network Activation

**Set the APN to** `data.mono`:

```json
AT+CGDCONT=1,"IP","data.mono"
```

Validate if the **APN** is set correctly:

```
AT+CGDCONT?
```

Expected response: `+CGDCONT: 1,"IP","data.mono","0.0.0.0",0,0,0,0,0,0`

**Activate the PDP (packet data protocol) context**:

```
AT+CGACT=1,1
```

**Test** if the PDP context is activated:

```
AT+CGACT?
```

Expected response: `+CGACT: 1,1`

To **test** what cellular technology and what band the modem is using, request the **network information** from the serving cell:

```
AT^SMONI
```

Example response:&#x20;

```
^SMONI: Cat.M1,6400,20,-,FDD,204,08,7919,028E70D,331,40,-86,-11,NOCONN,12
```

The first variable `Cat.M1` indicates the cellular technology used. The third variable `20` indicates the current frequency band.&#x20;

#### Validate if your device received an **IP address**:

```bash
AT+CGPADDR
```

Expected response: `+CGPADDR: 1,XX.XXX.XX.XXX`

{% hint style="success" %}
Do you see an IP address? **Congratulations! You’ve successfully connected the Cinterion TX62 modem to Monogoto 🎉**
{% endhint %}

## Sending a PING

A PING test can be performed to test if the modem has an active data connection with a mobile network.

{% hint style="warning" %}
When cellular modems are idle for a long period of time, cell towers might drop the data connection to save resources. Sending regular PINGs is a good method for testing the data connection, as well as for keeping the connection alive because the operator registers your device as being actively used.
{% endhint %}

Start by **activating the Internet service connection** for PDP context 1:

```
AT^SICA=1,1
```

To use PDP context 1 to send 5 PINGs to IP address `8.8.8.8` with a timeout of 5000 milliseconds, use:

```
AT^SISX=Ping,1,"8.8.8.8",5,5000
```

If the connection is active, you will see 5 PINGs with a number representing the response time in milliseconds. Example response:

```
^SISX: "Ping",1,1,"8.8.8.8",306
^SISX: "Ping",1,1,"8.8.8.8",151
^SISX: "Ping",1,1,"8.8.8.8",176
^SISX: "Ping",1,1,"8.8.8.8",142
^SISX: "Ping",1,1,"8.8.8.8",85
```

{% hint style="success" %}
**Great work on connecting the Cinterion TX62 to Monogoto!** Have a look at the **Things** logs in the [**Monogoto Console**](https://console.monogoto.io/) to find more details about the established connection.
{% endhint %}

## Useful Links

* [Cinterion Product page](https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/iot-connectivity/products/iot-products/tx62)
* [Cinterion AT Commands](https://m2m-communication.gemalto.com/Thales-TX62-ATC)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.monogoto.io/getting-started/general-device-configurations/iot-devices/thales-cinterion-tx62.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
