You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/hardware/04.pro/carriers/portenta-mid-carrier/tutorials/user-manual/content.md
+71-15Lines changed: 71 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2338,25 +2338,29 @@ You may find additional examples within the library to try various functionaliti
2338
2338
2339
2339
For more details on how the library works, including a comprehensive guide on setup and usage of the above examples, please refer to this [library documentation](https://github.com/arduino-libraries/Arduino_Cellular/tree/main/docs).
2340
2340
2341
-
####AT Commands Utility
2341
+
### AT Commands Utility
2342
2342
2343
2343
AT commands, also known as Hayes commands, are instructions used to control modems. These commands allow you to perform various functions, such as checking the modem status, signal quality, and network registration. Understanding how to send these commands is essential for managing and troubleshooting your Arduino Pro 4G Module.
2344
2344
2345
-
This section explains using AT commands to interact with the Cat.4 modem. These instructions will guide you through setting up your environment, sending AT commands, and managing your modem effectively.
2345
+
This section explains how to use AT commands to interact with the Cat.4 modem, specifically addressing the differences between the **EG25 (Global)** and **EC200A-EU (EU)** modules. These instructions will guide you through setting up your environment, sending AT commands, and managing your modem effectively.
2346
2346
2347
-
#### Using Linux
2347
+
### Using Linux
2348
+
2349
+
This subsection provides instructions on using **ModemManager**, **mmcli**, and **qmicli** to send AT commands to your Cat.4 modem with the Portenta X8.
2350
+
2351
+
#### EG25 (Global) Module
2348
2352
2349
-
This subsection provides instructions on using **ModemManager** and **mmcli** to send AT commands to your Cat.4 modem with the Portenta X8.
2353
+
For the EG25 module, which is generally supported directly by NetworkManager, ModemManager handles most of the modem's operations. Begin by ensuring that the Pro 4G Module is properly mounted on the Portenta Mid Carrier and recognized by the Portenta X8.
2350
2354
2351
-
Ensure that the Pro 4G Module is properly mounted on the Portenta Mid Carrier and that the Portenta X8 recognizes it. You can verify the connection using the following command:
2355
+
You can verify the connection using the following command:
2352
2356
2353
2357
```bash
2354
2358
lsusb
2355
2359
```
2356
2360
2357
2361
***Please set up the Pro 4G Module referring to [this section](#using-linux-4). Otherwise, the __ModemManager__ service may not be recognized or working as intended.***
2358
2362
2359
-
First identify the modem with:
2363
+
If ModemManager is enabled, you can identify the modem with:
2360
2364
2361
2365
```bash
2362
2366
mmcli -L
@@ -2370,19 +2374,19 @@ The output will list the detected modems, including the Pro 4G Module. Note the
2370
2374
2371
2375

2372
2376
2373
-
To send AT commands, *ModemManager* must be in debug mode:
2377
+
Before sending AT commands, ModemManager must be in debug mode. First, stop the ModemManager service using:
2374
2378
2375
2379
```bash
2376
2380
sudo systemctl stop ModemManager
2377
2381
```
2378
2382
2379
-
The following command starts *ModemManager*in the background and redirects its output to a log file:
2383
+
Then start it in the background with debugging enabled by running:
@@ -2410,15 +2414,67 @@ You can now start sending AT commands. Here are a few basic AT commands to test
2410
2414
2411
2415
The **`mmcli`** tool allows you to send AT commands to your Cat.4 modem from a Linux environment to check modem status, signal quality, and network registration. You can manage and troubleshoot the Pro 4G Module using AT commands in the Portenta X8's Linux environment by following the above steps.
2412
2416
2413
-
#### Using Arduino
2417
+
To configure the EG25 module with NetworkManager, you can use the following command:
2418
+
2419
+
```bash
2420
+
nmcli c add type gsm ifname cdc-wdm0 con-name wwan0 apn hologram connection.autoconnect yes
2421
+
```
2422
+
2423
+
#### EC200A-EU (EU) Module
2424
+
2425
+
The EC200A-EU module, unlike the EG25, is not officially supported by ModemManager and thus requires a different approach. After ensuring that the Pro 4G Module is properly mounted and recognized by the Portenta X8, you may find it presents as a USB Ethernet device (`eth0`). For appropriate configuration, you will need to remap it using an udev rule into an `ec200aeu` network device.
2426
+
2427
+
The ModemManager requires a small compatibility patch for it to work with the module and to send configuration AT commands to the modem. Once patched, you can connect to the network using the following command for example:
If ModemManager is disabled or if you prefer an alternative method, you can use `qmicli` to identify the modem and interact with it. For instance, you can retrieve the manufacturer information by running:
Power management for the EC200A-EU module may require manual intervention, especially if ModemManager is disabled. You can power on the modem using a custom script that leverages the `gpiod` library. The script would include commands to set the GPIO pin high and then wait a few seconds for the modem to become available, for example:
2440
+
2441
+
```bash
2442
+
gpiod set-value <gpio-pin> 1
2443
+
```
2444
+
2445
+
Followed by:
2446
+
2447
+
```bash
2448
+
sleep 10
2449
+
```
2450
+
2451
+
#### Docker Container Considerations
2452
+
2453
+
Disable ModemManager to prevent conflicts with tools like `qmicli` when managing either modem within a Docker container. This can be done by using the following command:
2454
+
2455
+
```bash
2456
+
sudo systemctl stop ModemManager
2457
+
```
2458
+
2459
+
Inside the container, you will need to manage the modem’s power state manually. Use an `entrypoint.sh` script that includes commands to power on the modem with `gpiod`, followed by a short delay to allow the modem to initialize.
2460
+
2461
+
To send AT commands, use `qmicli` within the Docker container. For example, you might use following command to interact with the modem:
If you are using the EG25 module, NetworkManager can manage the connection outside the container. For the EC200A-EU module, however, you will need to handle the connection using `qmicli` or similar tools within the container.
2468
+
2469
+
### Using Arduino
2414
2470
2415
2471
The AT commands can be sent to the Pro 4G Module using the Portenta H7 or Portenta C33 with the Arduino IDE.
2416
2472
2417
2473
You will need the [**Arduino_Cellular**](https://github.com/arduino-libraries/Arduino_cellular) library, which you can access through the Arduino IDE's library manager by navigating to **Sketch -> Include Library -> Manage Libraries** or using the IDE's side panel with the books icon.
2418
2474
2419
2475

2420
2476
2421
-
Make sure the mini PCIe power configuration is set as described in the [Mini PCIe Power Breakout Header](#mini-pcie-power-breakout-header-j9) section. The Portenta H7 or C33 requires the **SERIAL1 Breakout** pins to be connected to the corresponding **PCIe Breakout** pins:
2477
+
Ensure the mini PCIe power configuration is set as described in the [Mini PCIe Power Breakout Header](#mini-pcie-power-breakout-header-j9) section. The Portenta H7 or C33 requires the **SERIAL1 Breakout** pins to be connected to the corresponding **PCIe Breakout** pins:
@@ -2428,13 +2484,13 @@ Make sure the mini PCIe power configuration is set as described in the [Mini PCI
2428
2484
| SERIAL1 CTS | mPCIe_RX_P |
2429
2485
| mPCIE_GPIO_RST (GPIO6) | mPCIe_RST |
2430
2486
2431
-
***Please use a 5.0 V external power source when using an Arduino Pro 4G Module (EMEA / GNSS Global) or any other mPCIe modules due to their high power consumption. This ensures a stable power supply to the Portenta SOM and the carrier, especially during extended use.***
2487
+
***Due to their high power consumption, please use a 5.0 V external power source when using an Arduino Pro 4G Module (EMEA / GNSS Global) or any other mPCIe modules. This ensures a stable power supply to the Portenta SOM and the carrier, especially during extended use.***
2432
2488
2433
2489
The image below shows the setup with the Portenta H7 and Pro 4G Module connected to the Portenta Mid Carrier, along with a mini PCIe power configuration:
2434
2490
2435
2491

2436
2492
2437
-
The following example, **ModemTerminal**, is available in the [**Arduino_Cellular**](https://github.com/arduino-libraries/Arduino_cellular) library and compatible with the Portenta H7 and Portenta C33.
2493
+
The following example, **ModemTerminal**, is available in the [**Arduino_Cellular**](https://github.com/arduino-libraries/Arduino_cellular) library and is compatible with the Portenta H7 and Portenta C33.
2438
2494
2439
2495
```arduino
2440
2496
/**
@@ -2487,7 +2543,7 @@ void loop() {
2487
2543
2488
2544
This example allows you to send raw AT commands to the Pro 4G Module using the Arduino IDE with the Portenta H7 and Portenta C33.
2489
2545
2490
-
To send AT commands with the Arduino IDE, please use the **Message** space within the **Serial Monitor** and enter commands that follows after **`AT`**. For example:
2546
+
To send AT commands with the Arduino IDE, use the **Message** space within the **Serial Monitor** and enter commands that follow after **`AT`**. For example:
2491
2547
2492
2548
|**AT Command**|**AT Command Input Format**|
2493
2549
|:--------------:|:---------------------------:|
@@ -2501,7 +2557,7 @@ To send AT commands with the Arduino IDE, please use the **Message** space withi
2501
2557
| AT+CEER | +CEER |
2502
2558
| AT+QNWINFO | +QNWINFO |
2503
2559
2504
-
***For complete information on AT commands compatible with the Pro 4G Module, please refer to the [AT Commands Manual](assets/Quectel_EC2x&EG9x&EG2x-G&EM05_Series_AT_Commands_Manual_V2.0.pdf).***
2560
+
For complete information on AT commands compatible with the Pro 4G Module, please refer to the [AT Commands Manual](assets/Quectel_EC2x&EG9x&EG2x-G&EM05_Series_AT_Commands_Manual_V2.0.pdf).
2505
2561
2506
2562
The script requires the **arduino_secrets.h** file to be defined with the following credentials:
0 commit comments