EC25 Modem Initialization Failure

Similar to a lot of folks out there

I have a Quectel EC25 connected to a Raspberry Pi CM4 in an Edatec Cm4 Sensing. We have 10 devices deployed and about half of the time, the modem doesn’t initialize properly. We also have a number of devices on which the modem was up, then drops out for a period of time. Basically only a power cycler will work in some cases.
This is a product we’re looking to scale, so, we need help getting ModemManager, NetworkManager and this modem to work reliably.

1 Like

Hey, we use many different CM4 based devices with EC25 modems and have no problems at all.

In our experience, however, there are a few steps that are extremely important to follow:

Configuration adjustments:

  • Enable UART (sometimes)
  • DT parameters must be adjusted correctly
  • DT overlays must be adjusted correctly
  • GPIO pins must be adjusted correctly

Mostly required custom configuration:

  • RESIN_HOST_CONFIG_otg_mode = 1

Often some files have to be added to the device after flashing

  • boot/overlays folder
  • boot folder

What are your settings regarding these points?

1 Like

Thanks for the help! The manufacturer recommended the dtoverlays and params. None of them were specifically addressing the Modem, though.
They also recommended that I reboot the modem on start (a little nuanced in container-land), they have a GPIO attached to the Modem. Doing so once at the start has worked well. There are still times where the modem will show in modem manager’s journal as “unusable”.
Other than writing code to catch that state and reset it again, I am unsure of what to do.

1 Like

Since the EC25 modem is usually used as a USB device with the CM4, the problem is usually due to some USB problems.

If the modem shows up as “unusable”, does “lsusb” show the EC25 modem?

Can you show me your dtoverlays and params as well as GPIO pins settings?

Have you tried the otg_mode too?

If you need to restart the modem on startup, you can write a small container that sends the necessary AT commands to the modem via USB serial upon startup.