==43111== 24 bytes in 1 blocks are definitely lost in loss record 1,999 of 5,339
==43111== at 0x483BB65: calloc (vg_replace_malloc.c:762)
==43111== by 0x50259D1: g_malloc0 (in /usr/lib/libglib-2.0.so.0.6400.2)
==43111== by 0x22AAB8: mm_port_qmi_allocate_client (mm-port-qmi.c:201)
==43111== by 0x2007F0: parent_enabling_started_ready (mm-broadband-modem-qmi.c:9114)
==43111== by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
==43111== by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
==43111== by 0x1C535E: enabling_flash_done (mm-broadband-modem.c:10318)
==43111== by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
==43111== by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
==43111== by 0x224F0B: flash_do (mm-port-serial.c:1776)
==43111== by 0x502AC03: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
==43111== by 0x502B58E: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6400.2)
==43111==
Not all Cinterion modems support AT+CESQ.
However a much larger group of them support AT^SMONI
This commit uses the latter instead of the default former.
CC mm-port.lo
mm-port.c: In function 'log_object_build_id':
mm-port.c:117:60: error: implicit conversion from 'MMPortType' to 'MMModemPortType' [-Werror=enum-conversion]
117 | mm_modem_port_type_get_string (mm_port_get_port_type (self)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
In the D-Bus specification it is stated that the root node of
an introspection file should have an absolute path[1]. This path
should not be the root path in D-Bus as putting objects there is
considered incorrect, and also because the MM1 object does not
actually sit at the root path (instead, it uses MM_DBUS_PATH, which
is /org/freedesktop/ModemManager1). Fix this in the introspection
file.
[1] https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
Quectel emits "+QUSIM: 1" after eUICC reinitialization. Detect it
and perform SIM swap check if one is encountered.
The motivation here is that M2M eUICC profile switch causes eUICC
reset and this is one way to detect and handle profile switches
properly on Quectel modems. The existing SIM hot swap mechanism is
used as it appears to be suitable for handling profile switches as
well as physical swapping of SIM cards.
When we're reusing over and over the same bearer object, we can
provide statistical information about the number of connection
attempts that have been done and how many of them failed.
If the modem switches from one roaming operator to a different roaming
operator, the actual operator MCCMNC/description will change even if
the registration state keeps on being the same (roaming). Detect that,
and trigger operator info reloading explicitly.
If the modem switches from one roaming operator to a different roaming
operator, the actual operator MCCMNC/description will change even if
the registration state keeps on being the same (roaming). Detect that,
and trigger operator info reloading explicitly.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/154
If the QMI device has autoconnect enabled, it will collide in one way
or another with the ModemManager triggered connection sequence,
usually because the user-requested settings are different to the
autoconnected ones.
So, detect whether autoconnect is enabled or not, and if it is,
explicitly disable it.
So that the logic looking for 3GPP related registration info works in
the QMI modem object when selected network is reported as 'unknown'
but still the radio interfaces list reports 5GNR.
<<<<<< TLV:
<<<<<< type = "Serving System" (0x01)
<<<<<< length = 6
<<<<<< value = 01:02:01:00:01:0C
<<<<<< translated = [ registration_state = 'registered' cs_attach_state = 'detached' ps_attach_state = 'attached' selected_network = 'unknown' radio_interfaces = '{ [0] = '5gnr '}' ]
This fixes the s8500 wave unit test, which was incorrectly parsing the
Act field reported as 'B' as "GSM" (strtol(B)=0)
Also, given that the generic parsing methods are able to parse numbers
from quoted strings, this change allows us to remove the Thuraya
specific CREG matching that just took into consideration quoted
strings. The Thuraya unit tests are also fixed up to provide proper
testing of the logic.