Faster resume probing

Dylan Van Assche me at dylanvanassche.be
Sat Jan 30 17:58:33 UTC 2021


Hi,

> 
> > So with these your modem always stays connected over USB? How does
> > ModemManager react to this when resuming/suspending? ModemManager
> > still reprobes the device right?
> Yes, the modem remains connected over USB, even over many
> suspend/resume cycles. MM doesn't reprobe upon resume. My
> understanding is that MM is completely unaware that a suspend/resume
> has occurred - hence it doesn't feel the need to reprobe upon resume.
> On your PinePhone, when it comes out of suspend does the USB system
> re-enumerate the modem? (e.g. do you get the USB device connected &
> qmi/option driver kernel messages, or a message like 'usb1-1: reset
> full speed device...'). If so, then I'd look into that first.
> 

Well, I disabled suspend/resume hooks in ModemManager and upgraded to
the master branch. Besides that, I also use the master branch of eg25-
manager (a daemon specific for the EG25-G modem enabling, suspend
handling, etc.)[1].

Now calls are working immediately when waking up for suspend :O 
The call URCs are coming in for ModemManager and are processed.

However, text messages are ignored in suspend. The device wakes up but
ModemManager doesn't fetch the latest text messages. If you restart
ModemManager or reboot, the ignored text messages are coming through.
Text messages received when awake are properly processed though.
Text messages are retrieved over QMI instead of AT.

Currently, it's a bit vague for me how this can be solved.
Anyone who has an idea? I tried already several times to trace how the
resume hook works in ModemManager but I get lost each time in the code
:) 

[1] https://gitlab.com/mobian1/devices/eg25-manager

> We use indeed systemctl suspend of elogind to suspend the system.
> Looking at your other replies, it looks like you're aware of the
> systemd suspend/resume hooks that MM has by default. I'd experiment
> with using /sys/power/state too, to see if there are other suspend
> hooks being a bit trigger-happy.

That part seems to work fine, it's just ModemManager which takes some
time to reprobe all the properties of the modem as if the modem was
turned off in suspend, that's avoided by disabling these hooks as you
did.

> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel




More information about the ModemManager-devel mailing list