High memory usage by ModemManager

Geert Lens g.lens at livetech-systems.com
Mon Nov 25 10:31:38 UTC 2019


Hi,

We are using ModemManager with the Quectel BG96 modem and are using it's QMI interface. 
Everything is going well, expect that ModemManager starts to use a lot of the memory after it is running for a while.

The Quectel BG96 modem has been resetted 3 times during its operation by sending "AT+CFUN=1,1" to the primary AT interface.
This is done, by a script we have running on the device, when the connection is lost for 5 minutes.
After the modem is reset, the script checks if the ModemManager can see the modem and will check the GPS settings of the modem. This is done via the primary AT interface.
After this, we turn on the GPS via ModemManager using the Location interface.

Commands used for enabling GPS ( $modem_id is requested from DBus ): 
mmcli -m $modem_id --location-enable-gps-nmea
mmcli -m $modem_id --location-enable-gps-raw
mmcli -m $modem_id --location-set-enable-signal
mmcli -m $modem_id--location-set-gps-refresh-rate=0

When this is done, we setup the cellular connection using NetworkManager.

Currently we see that this has produced ModemManager running 3 instances of itself and using 25% of the 512MB of memory.
What also happens is that the GPS is not always turned on after a modem reset.

Expected state:

$ mmcli -m 0 --location-status
--------------------------------
Location	|  capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps
		|	enabled: 3gpp-lac-ci, gps-raw, gps-nmea
		|	signals: yes
--------------------------------
GPS	| refresh rate: 0 seconds

Actual state:

$ mmcli -m 0 --location-status
--------------------------------
Location	|  capabilities: 	3gpp-lac-ci, gps-raw, gps-nmea, agps
		|      	enabled: 	3gpp-lac-ci
		|      	 signals: 	no
-------------------------------
GPS	| refresh rate: 	30 seconds

Are we doing something wrong in the way we are resetting the modem after a long duration of connection loss?

Do we need to restart ModemManager each time we reset the modem to prevent multiple instances of ModemManager to be running at the same time?

What we also see is that ModemManager is giving a lot of warnings, does this has something to do with the problems we are experiencing?

Logs from ModemManager:

Nov 25 07:04:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 07:04:41 ModemManager[158]: transaction 0x26e aborted, but message is not abortable
Nov 25 07:04:59 ModemManager[158]: [/dev/cdc-wdm0] No transaction matched in received message
Nov 25 07:04:59 ModemManager[158]: [/dev/cdc-wdm0] No transaction matched in received message
Nov 25 07:05:09 ModemManager[158]: transaction 0x26f aborted, but message is not abortable
Nov 25 07:05:09 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 07:06:39 ModemManager[158]: transaction 0x272 aborted, but message is not abortable
Nov 25 07:06:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 07:06:41 ModemManager[158]: [/dev/cdc-wdm0] No transaction matched in received message
Nov 25 07:49:28 ModemManager[158]: transaction 0x2c7 aborted, but message is not abortable
Nov 25 08:05:09 ModemManager[158]: transaction 0x2e7 aborted, but message is not abortable
Nov 25 08:05:09 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 08:09:39 ModemManager[158]: transaction 0x2f0 aborted, but message is not abortable
Nov 25 08:09:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 08:10:39 ModemManager[158]: transaction 0x2f2 aborted, but message is not abortable
Nov 25 08:10:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 08:29:39 ModemManager[158]: transaction 0x318 aborted, but message is not abortable
Nov 25 08:29:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 08:45:09 ModemManager[158]: transaction 0x337 aborted, but message is not abortable
Nov 25 08:45:09 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 09:03:39 ModemManager[158]: transaction 0x35c aborted, but message is not abortable
Nov 25 09:03:39 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out
Nov 25 09:06:09 ModemManager[158]: transaction 0x361 aborted, but message is not abortable
Nov 25 09:06:09 ModemManager[158]: <warn>  Reloading stats failed: QMI operation failed: Transaction timed out

Version of ModemManager used: 1.10.8
Version of libqmi used: 1.24.0

Regards,

Geert Lens

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20191125/cf842832/attachment-0001.html>


More information about the ModemManager-devel mailing list