Minimizing unsolicited events & wakeups
tomloten at gmail.com
Mon Jan 4 00:02:23 UTC 2021
I'm trying to use ModemManager (in conjunction with NetworkManager) to
manage a Quectel EC25 mini-pcie module (which is actually USB) using QMI.
More specifically, I need it to play-nice with suspend-to-ram, and minimise
the frequency at which it wakes up the host.
I've managed to get the modem persisting across a suspend/resume, and is
able to keep a TCP connection open during suspend and wakeup the host when
the TCP connection receives data (ala smartphone push-notifications). MM
supported this without any special configuration or patches - very nice :)
However one issue I'm running into is premature wakeups due to unsolicited
messages (as these cause activity on the USB interface, causing a USB
wakeup and thus a host wakeup).
Inspecting the MM debug logs, I noticed there were 3 main culprits:
- Packet statistics
- Signal strength indications
- Dormancy status indications
I've done a few very nasty hacks which completely prevent these indications
from being enabled, and things _appear_ to be working - it's happily
sleeping for 30+ mins.
So my questions:
- Are the aforementioned indications critical to the functioning of MM?
- Does MM have a mode where most unsolicited messages are turned off (e.g.
utilising polling instead)?
- Am I going about things the wrong way - perhaps I'm using MM in a manner
it's not intended?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ModemManager-devel