EG-25G USB reset when host resumes from sleep

Using a EG25-G module with ModemManager, the USB connection is sometimes lost when the host wakes up from sleep. When that happens, only AT commands work, but QMI commands always time out.

[ 641.017032] Disabling non-boot CPUs …
[ 641.021756] CPU1: shutdown
[ 641.024586] psci: CPU1 killed (polled 0 ms)
[ 641.033510] CPU2: shutdown
[ 641.036402] psci: CPU2 killed (polled 0 ms)
[ 641.044610] CPU3: shutdown
[ 641.047517] psci: CPU3 killed (polled 0 ms)
*** Sleep for some time ***
[ 641.055520] Enabling non-boot CPUs …
[ 641.060534] Detected VIPT I-cache on CPU1
[ 641.064586] arch_timer: CPU1: Trapping CNTVCT access
[ 641.069555] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 641.076896] CPU1 is up
[ 641.079922] Detected VIPT I-cache on CPU2
[ 641.083950] arch_timer: CPU2: Trapping CNTVCT access
[ 641.088913] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 641.096095] CPU2 is up
[ 641.099114] Detected VIPT I-cache on CPU3
[ 641.103142] arch_timer: CPU3: Trapping CNTVCT access
[ 641.108104] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 641.115280] CPU3 is up
[ 641.118480] sunxi-rsb 1f03400.rsb: RSB running at 4000000 Hz
[ 641.567816] PM: dpm_run_callback(): pm_generic_resume+0x0/0x44 returns -1
[ 641.574629] PM: Device mmc1:0001:1 failed to resume async: error -1
[ 641.681650] usb 3-1: reset high-speed USB device number 5 using ehci-platform
[ 641.847706] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 641.855779] option 3-1:1.0: device disconnected
[ 641.860611] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 641.868674] option 3-1:1.1: device disconnected
[ 641.873481] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 641.881548] option 3-1:1.2: device disconnected
[ 641.886394] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 641.894457] option 3-1:1.3: device disconnected
[ 641.900446] OOM killer enabled.
[ 641.904864] Restarting tasks …
[ 641.908522] option 3-1:1.0: GSM modem (1-port) converter detected
[ 641.925293] done.
[ 641.928652] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 641.935778] PM: suspend exit
[ 641.944364] option 3-1:1.1: GSM modem (1-port) converter detected
[ 641.953758] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 641.967188] option 3-1:1.2: GSM modem (1-port) converter detected
[ 641.974514] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 641.986097] option 3-1:1.3: GSM modem (1-port) converter detected
[ 642.005809] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3

I’ve installed latest firmware (EG25GGBR07A08M2G) when noticing the release notes state “Solved the problem for USB disconnection” twice, but the problem still occurs.
How can I troubleshoot this issue?

If it still have such issue, you may need to waiting for new firmware released. Thanks!

OK, thanks for your answer. Any idea when new firmware will be available please?

Thanks

It is hard to say, but you can email to support@quectel.com to get contact with our local FAE, when it released, they will inform you. Thanks!

We have been seeing same kind of problem using ppp daemon. When this problem occurred, from Linux system log can be find out a info “usb 1-1.2: reset high-speed USB device number 3 using ci_hdrc” and all tcp/ip link via ppp daemon stop to work. But at commands for example get GPS location or status of the modem still works. If the pppd is restarted tcp/ip link start to work as expected.

This happen using EG25GGBR07A07M2G_01.002.01.002.zip and EG25GGBR07A08M2G_01.003.01.003.zip

The autosuspend feature is mandatory for our product because of the power save.

Dear Rebeli,
Thanks for your inquiry in Quectel forum.
For your issue, you can check the following setting about the Auto Suspend function, as you know that power saving is the basic feature of the system. you can try to check the kernel code and do not set it. Thanks!

Hi Kyson,

We are using a special udev rule to enable auto suspend feature for a modem:

echo auto > ${1}/power/control
echo 500 > ${1}/power/autosuspend_delay_ms

but that end up same configuration situation. I have test that already.

BTV the problem is not to set up auto suspend. The problem is that modem may work, also auto suspend, several hours, days or so and then stop to work.

When the problem occurred, using dmesg, a line “usb 1-1.2: reset high-speed USB device number 3 using ci_hdrc” can be find out.