# 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).

![](https://3922449203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FPhQOW12fJz51Pj81Q9RL%2Fimage.png?alt=media\&token=f4ed8635-b05b-49a2-b47e-70183da1242a)

### 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](https://docs.monogoto.io/getting-started/general-device-configurations/iot-devices/broken-reference)

## 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**](https://docs.monogoto.io/getting-started/global-public-coverage).

{% hint style="info" %}
To find the **profile** of your SIM, visit the [**Monogoto Console**](https://console.monogoto.io/), open the page **Things** ![](https://3922449203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FfH8DCNlIW5R2VRiHwMG5%2FThings.png?alt=media\&token=2a63b922-cb41-4271-803e-ba9eab36566d) and select a specific **Thing**. Scroll down to **Mobile Identities** to find your profile in the column **Network Provider Name**.

![](https://3922449203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FddQeceTZxjtQYFPAHe95%2Fimage.png?alt=media\&token=4a3f1cbf-3922-48f9-af5d-2e292bd76b72)
{% 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**](https://docs.monogoto.io/getting-started/general-device-configurations/iot-devices/broken-reference) 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)
