Age | Commit message (Collapse) | Author |
|
The iconv() operation would fail because we wouldn't give any proper
charset string to convert to/from. Use our custom GSM encoding support
instead.
|
|
|
|
This would really be an implementation detail, not a real use
case. Just don't warn in this case, as in the conversion in the
opposite direction.
|
|
|
|
|
|
from UTF-8"
This reverts commit 6a7dd87f30b2cc1b459abab38a0805aa8ba1bfbc.
Reverting because the merge request was set to squash all together....
|
|
This would really be an implementation detail, not a real use
case. Just don't warn in this case, as in the conversion in the
opposite direction.
|
|
See https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/32#note_505065
|
|
We will want to support these to avoid needing to have CLCC call
polling, but for now, just ignore them so that they don't interfere
with the call management.
For context, see:
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/216
|
|
If an incoming call is detected during the CLCC polling, the polling
timeout will already be set, so don't assert when checking the polling
id afterwards, just make sure we don't reset the timeout.
https://lists.freedesktop.org/archives/modemmanager-devel/2020-May/007866.html
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg':
cinterion/tests/test-modem-helpers-cinterion.c:56:56: error: cast increases required alignment of target type [-Werror=cast-align]
expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data,
^
cinterion/tests/test-modem-helpers-cinterion.c:58:47: error: cast increases required alignment of target type [-Werror=cast-align]
bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data,
^
cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg_response':
cinterion/tests/test-modem-helpers-cinterion.c:209:56: error: cast increases required alignment of target type [-Werror=cast-align]
expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data,
^
cinterion/tests/test-modem-helpers-cinterion.c:211:47: error: cast increases required alignment of target type [-Werror=cast-align]
bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data,
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_3g':
wavecom/mm-broadband-modem-wavecom.c:800:50: error: cast increases required alignment of target type [-Werror=cast-align]
bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data,
^
wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_2g':
wavecom/mm-broadband-modem-wavecom.c:872:50: error: cast increases required alignment of target type [-Werror=cast-align]
bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data,
^
|
|
Otherwise parsing may fail, e.g. as in this unit test:
# Start of smoni tests
# DEBUG: testing SMONI response: ^SMONI: 2G,71,-61,262,02,0143,83BA,33,33,3,6,G,NOCONN
# DEBUG: testing SMONI response: ^SMONI: 2G,SEARCH,SEARCH
# DEBUG: testing SMONI response: ^SMONI: 2G,673,-89,262,07,4EED,A500,16,16,7,4,G,5,-107,LIMSRV
# DEBUG: testing SMONI response: ^SMONI: 2G,673,-80,262,07,4EED,A500,35,35,7,4,G,643,4,0,-80,0,S_FR
# DEBUG: testing SMONI response: ^SMONI: 3G,10564,296,-7.5,-79,262,02,0143,00228FF,-92,-78,NOCONN
**
ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response: assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1): (0,5 < 0,1)
Bail out! ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response: assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1): (0,5 < 0,1)
Aborted (core dumped)
|
|
|
|
novatel/mm-broadband-modem-novatel-lte.c: In function 'response_processor_nwmdn_ignore_at_errors':
novatel/mm-broadband-modem-novatel-lte.c:241:19: error: cast increases required alignment of target type [-Werror=cast-align]
own_numbers = (GStrv) g_array_free (array, FALSE);
^
|
|
huawei/mm-modem-helpers-huawei.c: In function 'match_info_to_ip4_addr':
huawei/mm-modem-helpers-huawei.c:193:39: error: cast increases required alignment of target type [-Werror=cast-align]
*out_addr = GUINT32_SWAP_LE_BE (*((guint32 *) bin));
^
/usr/include/glib-2.0/glib/gtypes.h:184:77: note: in definition of macro 'GUINT32_SWAP_LE_BE'
# define GUINT32_SWAP_LE_BE(val) ((guint32) __builtin_bswap32 ((gint32) (val)))
^~~
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
huawei/mm-broadband-modem-huawei.c: In function 'set_current_bands':
huawei/mm-broadband-modem-huawei.c:916:50: error: cast increases required alignment of target type [-Werror=cast-align]
bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array->data,
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
xmm/mm-shared-xmm.c: In function 'validate_and_build_command_set_current_bands':
xmm/mm-shared-xmm.c:512:45: error: cast increases required alignment of target type [-Werror=cast-align]
str = mm_common_build_bands_string ((const MMModemBand *)unapplied_bands->data, unapplied_bands->len);
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
ublox/mm-modem-helpers-ublox.c: In function 'parse_bands_from_string':
ublox/mm-modem-helpers-ublox.c:1612:48: error: cast increases required alignment of target type [-Werror=cast-align]
tmpstr = mm_common_build_bands_string ((MMModemBand *)(bands->data), bands->len);
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
cinterion/mm-modem-helpers-cinterion.c: In function 'mm_cinterion_build_band':
cinterion/mm-modem-helpers-cinterion.c:409:54: error: cast increases required alignment of target type [-Werror=cast-align]
bands_string = mm_common_build_bands_string ((MMModemBand *)bands->data, bands->len);
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
telit/mm-modem-helpers-telit.c: In function 'mm_telit_build_bnd_request':
telit/mm-modem-helpers-telit.c:256:55: error: cast increases required alignment of target type [-Werror=cast-align]
bands_str = mm_common_build_bands_string ((const MMModemBand *)(bands_array->data), bands_array->len);
^
telit/mm-modem-helpers-telit.c:275:55: error: cast increases required alignment of target type [-Werror=cast-align]
bands_str = mm_common_build_bands_string ((const MMModemBand *)(bands_array->data), bands_array->len);
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
tests/test-helpers.c: In function 'mm_test_helpers_compare_bands':
tests/test-helpers.c:41:47: error: cast increases required alignment of target type [-Werror=cast-align]
bands_str = mm_common_build_bands_string ((MMModemBand *)(bands->data), bands->len);
^
tests/test-helpers.c:46:56: error: cast increases required alignment of target type [-Werror=cast-align]
expected_bands_str = mm_common_build_bands_string ((MMModemBand *)(expected_bands_array->data), expected_bands_array->len);
^
|
|
test-qcdm-serial-port.c: In function 'wait_for_child':
test-qcdm-serial-port.c:57:52: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (d->child && (now.tv_sec - start.tv_sec > timeout)) {
^
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
mm-iface-modem-messaging.c: In function 'load_supported_storages_ready':
mm-iface-modem-messaging.c:1154:53: error: cast increases required alignment of target type [-Werror=cast-align]
mem1 = mm_common_build_sms_storages_string ((MMSmsStorage *)storage_ctx->supported_mem1->data,
^
mm-iface-modem-messaging.c:1156:53: error: cast increases required alignment of target type [-Werror=cast-align]
mem2 = mm_common_build_sms_storages_string ((MMSmsStorage *)storage_ctx->supported_mem2->data,
^
mm-iface-modem-messaging.c:1158:53: error: cast increases required alignment of target type [-Werror=cast-align]
mem3 = mm_common_build_sms_storages_string ((MMSmsStorage *)storage_ctx->supported_mem3->data,
^
|
|
mm-iface-modem-location.c: In function 'location_gps_update_nmea':
mm-iface-modem-location.c:272:61: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
time (NULL) - ctx->location_gps_nmea_last_time >= mm_gdbus_modem_location_get_gps_refresh_rate (skeleton))) {
^~
mm-iface-modem-location.c:282:60: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
time (NULL) - ctx->location_gps_raw_last_time >= mm_gdbus_modem_location_get_gps_refresh_rate (skeleton))) {
^~
|
|
We can safely cast the data in a GArray to gpointer first, and then
to the pointer type we require.
mm-iface-modem.c: In function 'after_set_load_current_bands_ready':
mm-iface-modem.c:2358:55: error: cast increases required alignment of target type [-Werror=cast-align]
requested_str = mm_common_build_bands_string ((MMModemBand *)requested_bands->data, requested_bands->len);
^
mm-iface-modem.c:2359:55: error: cast increases required alignment of target type [-Werror=cast-align]
current_str = mm_common_build_bands_string ((MMModemBand *)current_bands->data, current_bands->len);
^
mm-iface-modem.c: In function 'validate_bands':
mm-iface-modem.c:2474:48: error: cast increases required alignment of target type [-Werror=cast-align]
(const MMModemBand *)supported_bands_array->data,
^
mm-iface-modem.c: In function 'mm_iface_modem_set_current_bands':
mm-iface-modem.c:2535:50: error: cast increases required alignment of target type [-Werror=cast-align]
bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array->data,
^
|
|
So that we avoid errors when building on ARM due to increasing target
type alignment.
mm-modem-helpers.c: In function 'mm_3gpp_parse_cnum_exec_response':
mm-modem-helpers.c:3206:21: error: cast increases required alignment of target type [-Werror=cast-align]
return (array ? (GStrv) g_array_free (array, FALSE) : NULL);
^
|
|
Charset definition moved from enable state machine to init state machine,
so that the right current charset is available also during further
initialization steps
|
|
==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==
|
|
|
|
So don't warn if no associated cdc-wdm port is found.
|
|
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.
|
|
|
|
|
|
|
|
|
|
Right now, just with port type hints for the BM818.
|
|
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
|
|
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/207
|
|
Given as a list of items, because the bearer can be created with one
or more allowed authentication protocols.
|
|
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
|
|
|
|
Reported by: Maxim Anisimov <linaro85@yandex.ru>
|
|
E.g. in the Quectel EP06-E only the ASCII/UCS-2 data TLV is given.
|
|
So that the limited iconv() in OpenWRT supports the conversion
properly.
|
|
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/26
|
|
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.
|
|
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/203
|
|
Explain when this method should be used instead of A-GPS.
|
|
Explicitly state that the signals_location argument affects the
behavior of the Location property.
|