EC25-E modem on Dahlia board with AM62

I am trying to set up a modem with Torizon. It is an EC25-E which is in the Mini-PCIe slot of a Dahlia V1.1D board. The SoM is an AM62 Q 2GB WB IT V1.2A with Torizon 7.

torizon@verdin-am62-XXXXXXXX:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:2744 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 001 Device 003: ID 0424:2740 Microchip Technology, Inc. (formerly SMSC) Hub Controller
Bus 001 Device 004: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

torizon@verdin-am62-XXXXXXXX:~$ dmesg | grep wwan
[ 14.307126] qmi_wwan 1-1.3:1.4: cdc-wdm0: USB WDM device
[ 14.309239] qmi_wwan 1-1.3:1.4 wwan0: register ‘qmi_wwan’ at usb-xhci-hcd.4.auto-1.3, WWAN/QMI device, XX:XX:XX:XX:XX:XX
[ 14.309683] usbcore: registered new interface driver qmi_wwan
[ 14.334220] qmi_wwan 1-1.3:1.4 wwu1u3i4: renamed from wwan0

torizon@verdin-am62-XXXXXXXX:~$ lsmod
Module Size Used by

qmi_wwan 40960 0
cdc_wdm 28672 2 qmi_wwan
option 61440 0
usbnet 53248 1 qmi_wwan
usb_wwan 24576 1 option

torizon@verdin-am62-XXXXXXXX:~$ cat /etc/os-release
ID=torizon
NAME=“Torizon OS”
VERSION=“7.2.0+build.13 (scarthgap)”
VERSION_ID=7.2.0-build.13
VERSION_CODENAME=“scarthgap”
PRETTY_NAME=“Torizon OS 7.2.0+build.13 (scarthgap)”
CPE_NAME=“cpe:/o:openembedded:torizon:7.2.0+build.13”
BUILD_ID=“13”
ANSI_COLOR=“1;34”
VARIANT=“Docker”

(I have replaced the serial numbers / MAC addresses in the outputs above with “X”).

But ModemManager does not recognize a modem:

torizon@verdin-am62-XXXXXXXX:~$ sudo mmcli -L
No modems were found

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for providing the detailed information about your setup.

Your system detects the EC25-E modem at the USB level and loads the qmi_wwan and other relevant drivers, which is a great start. Now, let’s troubleshoot why ModemManager is not seeing the modem.

Please follow these steps:

  1. Check if ModemManager is running

First, verify that ModemManager is active:

systemctl status ModemManager

If it’s not running, start it with:

sudo systemctl start ModemManager

Documentation:

  1. Rescan for modems
    After ensuring ModemManager is running, try scanning for modems again:
mmcli -L

Documentation:

  1. Check ModemManager logs for issues

If the modem is still not listed, check the logs for error or warning messages:

journalctl -u ModemManager

This can provide insights if, for example, the device nodes are not exposed correctly or if access permissions are an issue.
Example issue discussion:

  1. Verify connections and device nodes

Make sure your modem is physically well-seated and that the correct device nodes (like /dev/cdc-wdm0, /dev/ttyUSB*) are present by running:

ls -l /dev/cdc*
ls -l /dev/ttyUSB*

ModemManager uses these device nodes to communicate with modems.

  1. Dahlia board compatibility

Your hardware combination (Dahlia V1.1D, Verdin AM62, EC25-E modem) is supported, and the Mini-PCIe slot is suitable for the cellular modem:


Please try each step and share the output, especially the results of ModemManager’s status and logs. This will help further pinpoint the issue.

Best regards,
Toradex AI Assistant.

torizon@verdin-am62-XXXXXXXX:~$ journalctl -u ModemManager
Jun 24 15:17:56 verdin-am62-XXXXXXXX systemd[1]: Starting Modem Manager...
Jun 24 15:17:57 verdin-am62-XXXXXXXX ModemManager[541]: <msg> ModemManager (version 1.22.0) starting in system bus...
Jun 24 15:17:57 verdin-am62-XXXXXXXX systemd[1]: Started Modem Manager.
Jun 24 15:18:03 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/8000000.ethernet': not supported by any plugin
Jun 24 15:18:03 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/bus@f0000:bus@4000000/4e08000.can': not supported by any plugin
Jun 24 15:18:03 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/20701000.can': not supported by any plugin
Jun 24 15:18:05 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/fa20000.mmc/mmc_host/mmc2/mmc2:0001/mmc2:0001:1': not supported by any plugin
Jun 24 15:18:06 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [device /sys/devices/platform/bus@f0000/f910000.dwc3-usb/31100000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.3] creating modem with plugin 'quectel' and '6' ports
Jun 24 15:18:06 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [base-manager] modem for device '/sys/devices/platform/bus@f0000/f910000.dwc3-usb/31100000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.3' successfully created
Jun 27 07:47:25 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [modem0] state changed (unknown -> disabled)
Jun 27 07:47:25 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [modem0] state changed (disabled -> enabling)
Jun 27 07:47:25 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [modem0] power state updated: on
Jun 27 07:47:29 verdin-am62-XXXXXXXX ModemManager[541]: <wrn> [modem0] (quectel) modem reset detected, triggering reprobe
Jun 27 07:47:29 verdin-am62-XXXXXXXX ModemManager[541]: <wrn> [modem0] (quectel) modem reset detected, triggering reprobe
Jun 27 07:47:29 verdin-am62-XXXXXXXX ModemManager[541]: <wrn> [modem0] (quectel) couldn't check SIM swap: could not acquire SIM object
Jun 27 07:47:31 verdin-am62-XXXXXXXX ModemManager[541]: <msg> [device /sys/devices/platform/bus@f0000/f910000.dwc3-usb/31100000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.3] creating modem with plugin 'quectel' and '6' ports
Jun 27 07:47:36 verdin-am62-XXXXXXXX ModemManager[541]: <wrn> [modem0] failed enabling modem: Operation was cancelled
Jun 27 07:49:01 verdin-am62-XXXXXXXX ModemManager[541]: <wrn> [modem1] couldn't start initialization: Transaction timed out
Jun 27 07:49:01 verdin-am62-XXXXXXXX ModemManager[541]: <err> [modem1] fatal error initializing: Fatal error: modem is unusable

What do these ModemManager errors mean?

Hello @matthiasklein,

Thanks for the detailed logs. From what you’ve shared, it looks like the modem is correctly detected at the USB level and the appropriate kernel drivers (qmi_wwan, usbnet, usb_wwan, cdc_wdm) are loaded. This confirms the hardware path (Mini-PCIe → USB → drivers) is functional.

Now, one possible reason for the error (especially the error modem reset detected, triggering reprobe) is an inadequate power supply. May I know the specifications for your power supply?

couldn't check SIM swap: could not acquire SIM object

This error could indicate that ModemManager couldn’t communicate with the SIM interface of the modem. Possibly no SIM present, improperly inserted, or not detected.

So my recommendations here would be to check the power supply and SIM.

Hello @rudhi.tx

I got the modem to work with the following patch: modemmanager: Fix Quectel modems initialization bug by matthiasklein · Pull Request #297 · torizon/meta-toradex-torizon · GitHub

root@verdin-am62-XXXXXXXX:~# journalctl -u ModemManager
Jul 01 14:30:33 verdin-am62-XXXXXXXX systemd[1]: Starting Modem Manager...
Jul 01 14:30:34 verdin-am62-XXXXXXXX ModemManager[532]: <msg> ModemManager (version 1.22.0) starting in system bus...
Jul 01 14:30:34 verdin-am62-XXXXXXXX systemd[1]: Started Modem Manager.
Jul 01 14:30:41 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/20701000.can': not supported by any plugin
Jul 01 14:30:41 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/8000000.ethernet': not supported by any plugin
Jul 01 14:30:41 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/bus@f0000:bus@4000000/4e08000.can': not supported by any plugin
Jul 01 14:30:42 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [base-manager] couldn't check support for device '/sys/devices/platform/bus@f0000/fa20000.mmc/mmc_host/mmc2/mmc2:0001/mmc2:0001:1': not supported by any plugin
Jul 01 14:30:43 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [device /sys/devices/platform/bus@f0000/f910000.dwc3-usb/31100000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.3] creating modem with plugin 'quectel' and '6' ports
Jul 01 14:30:43 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [base-manager] modem for device '/sys/devices/platform/bus@f0000/f910000.dwc3-usb/31100000.usb/xhci-hcd.4.auto/usb1/1-1/1-1.3' successfully created
Jul 01 14:30:46 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (unknown -> disabled)
Jul 01 14:30:46 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (disabled -> enabling)
Jul 01 14:30:46 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] power state updated: on
Jul 01 14:30:46 verdin-am62-XXXXXXXX ModemManager[532]: <wrn> [modem0] (quectel) continuing without enabling profile manager events
Jul 01 14:30:46 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] 3GPP packet service state changed (unknown -> attached)
Jul 01 14:30:47 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (enabling -> enabled)
Jul 01 14:30:47 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] 3GPP registration state changed (unknown -> registering)
Jul 01 14:30:47 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] 3GPP registration state changed (registering -> roaming)
Jul 01 14:30:47 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (enabled -> registered)
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect started...
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect state (6/10): register
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect state (7/10): wait to get packet service state attached
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect state (8/10): bearer
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect state (9/10): connect
Jul 01 14:36:09 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (registered -> connecting)
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1] QMI IPv4 Settings:
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]     address: X.X.X.X/X
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]     gateway: X.X.X.X
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]     DNS #1: X.X.X.X
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]     DNS #2: X.X.X.X
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]        MTU: 1500
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1] couldn't start IPv6 network: QMI protocol error (14): 'CallFailed'
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0/bearer1]   verbose call end reason (6,55): [3gpp] multiple-connection-to-same-pdn-not-allowed
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] state changed (connecting -> connected)
Jul 01 14:36:10 verdin-am62-XXXXXXXX ModemManager[532]: <msg> [modem0] simple connect state (10/10): all done
1 Like

Hello @matthiasklein,

Glad to hear that it works now, and thanks for sharing your solution. Our R&D team will take a look and see if this can be merged.