Issue with suspend to ram on Android 12.1 with EC25 modem

Hi,

I’m using a Quectel EC25 modem on Android 12.1 (kernel 5.15) on an arm64 architecture (NPX iMX8MP SOC).

To support the modem on Android, I’m using the software package ‘Quectel_Android_RIL_Driver_V3.3.43-0509.tar.gz’ provided by Quectel.

The modem appears to be working fine, except for an issue I found related to suspend to RAM. In particular, it seems that Android cannot enter suspend to RAM after a (US?) SIM card has been initialize.

In my tests:

  • suspend works without any sim card inserted
  • suspend works with an european sim card inserted (EU modem, EC25-EU)
  • suspend doesn’t work with a US sim card inserted (EU modem, EC25-EU)
  • suspend doesn’t work with a US sim card inserted (US modem, EC25-A).

In any case, the suspend is working if the SIM card is not registered (for example, if the device boots with airplane mode enabled)

Do you have suggestions/idea?

Thank you,

Roberto

1 Like

As far as I know, iMX8MP don’t support the USB auto suspend.
Even the iMX8MP and EC25 enter STR state, once the iMX8MP wake up, the usb device would lost connection and all the usb drivers would detach and atatch again.

As you can read, suspend works in this cases:

  • suspend works without any sim card inserted
  • suspend works with an european sim card inserted (EU modem, EC25-EU)

Can you elaborate a bit what you mean by " iMX8MP don’t support the USB auto suspend"?

Thank you,

Hi Bean,

Even the iMX8MP and EC25 enter STR state, once the iMX8MP wake up, the usb device would lost connection and all the usb drivers would detach and atatch again.

We’re not talking about what happens when the device wakes up, as the issue is that the device does not enter suspend to RAM with some SIM cards, specifically US SIM cards.

Regards

IMX8 don’t support USB suspend



SIM cards are different and do not cause the system to suspend. However, if the module is doing business, the module cannot sleep
You check the RIL log to see if you sent AT+QSCLK=1 to the module.

It is better to provide the log including the dmesg log and logcat.
.

Hi @Bean.Wang-Q ,
Attached 3 files:

  • radio_log (adb logcat -b radio)
  • logcat (adb logcat)
  • dmesg.

On the radio log, at ‘10-03 14:26:42.855’ it is possible to see when we sent the AT+QSCLK=1 command. Time/date is the same betw
logs.zip (298.5 KB)
een radio_log and logcat file for comparison.

On the dmesg, it is possible to verify that the device doesn’t enter sleep mode. We are expecting it to enter deep sleep:

PM: suspend entry (deep)

but this works only when the modem did not connect to the network yet.

You can’t see PM: Suspend entry to start checking Android that why it don’t sleep after pressing the power key.
You could check the
dumpsys power