aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-19wavecom: avoid cast-align errorsAleksander Morgado
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, ^
2020-05-19libmm-glib,helpers: use locale-independent strtod()Aleksander Morgado
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)
2020-05-19cinterion,helpers: minor coding style fixAleksander Morgado
2020-05-19novatel-lte: use GPtrArray to build a GStrvAleksander Morgado
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); ^
2020-05-19huawei,helpers: fix warnings with -Wcast-alignAleksander Morgado
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))) ^~~
2020-05-19huawei: avoid cast-align errorsAleksander Morgado
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, ^
2020-05-19xmm: avoid cast-align errorsAleksander Morgado
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); ^
2020-05-19ublox,helpers: avoid cast-align errorsAleksander Morgado
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); ^
2020-05-19cinterion,helpers: avoid cast-align errorsAleksander Morgado
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); ^
2020-05-19telit,helpers: avoid cast-align errorsAleksander Morgado
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); ^
2020-05-19plugins,tests: avoid cast-align errorsAleksander Morgado
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); ^
2020-05-19test-qcdm-serial-port: fix warnings with -Wsign-compareAleksander Morgado
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)) { ^
2020-05-19iface-modem-messaging: avoid cast-align errorsAleksander Morgado
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, ^
2020-05-19iface-modem-location: avoid warnings with -Wsign-compareAleksander Morgado
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))) { ^~
2020-05-19iface-modem: avoid cast-align errorsAleksander Morgado
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, ^
2020-05-19modem-helpers: use GPtrArray to build a GStrvAleksander Morgado
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); ^
2020-05-18AT modem: charset definition in initGiacinto Cifelli
Charset definition moved from enable state machine to init state machine, so that the right current charset is available also during further initialization steps
2020-05-16port-qmi: plug memleak when explicitly releasing clientAleksander Morgado
==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==
2020-05-16udev rules for the PLS62 in 005b enumerationGiacinto Cifelli
2020-05-15huawei: NDISDUP based devices may use plain TTYs for controlAleksander Morgado
So don't warn if no associated cdc-wdm port is found.
2020-05-15plugins/cinterion: added Signal interfaceGiacinto Cifelli
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.
2020-05-14telit: flag GPS port in the LE910C1Aleksander Morgado
2020-05-14telit: add LE910C1 udev ruleDavid Khouya
2020-05-14configure.ac: check for xsltprocGiacinto Cifelli
2020-05-13build: require libmbim 1.23.1 for autoptr supportAleksander Morgado
2020-05-10broadmobi: new pluginAleksander Morgado
Right now, just with port type hints for the BM818.
2020-05-10port: use correct enum to string conversion when loggingAleksander Morgado
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
2020-05-08bearer-qmi: get correct bearer object pointer from taskAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/207
2020-05-05cli: add allowed-auth bearer property in outputAleksander Morgado
Given as a list of items, because the bearer can be created with one or more allowed authentication protocols.
2020-05-01introspection: use correct node name for ModemManager1 objectEric Caruso
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
2020-04-28huawei: updated HCSQ regex to match unquoted responseMurithi Borona
2020-04-22broadband-modem-qmi: GByteArray can be casted to GArray in USSD encodingAleksander Morgado
Reported by: Maxim Anisimov <linaro85@yandex.ru>
2020-04-22broadband-modem-qmi: USSD data in UTF-16 not always givenMaxim Anisimov
E.g. in the Quectel EP06-E only the ASCII/UCS-2 data TLV is given.
2020-04-22broadband-modem-qmi: fix unicode names in USSD iconv() operationsMaxim Anisimov
So that the limited iconv() in OpenWRT supports the conversion properly.
2020-04-20broadband-modem-qmi: 3GPP USSD supportAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/26
2020-04-17quectel: Check SIM swap after "+QUSIM: 1" URCTeijo Kinnunen
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.
2020-04-16man,mmcli: remove non-existent --list-bearers optionAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/203
2020-04-12api,location: improve InjectAssistanceData() method docsAleksander Morgado
Explain when this method should be used instead of A-GPS.
2020-04-12api,location: improve Setup() method docsAleksander Morgado
Explicitly state that the signals_location argument affects the behavior of the Location property.
2020-04-12api,location: improve Location property docsAleksander Morgado
Clearly specify that GetLocation() is another way to retrieve the location information instead of the Location property.
2020-04-10base-bearer: log connection attempt failure reasonAleksander Morgado
We were logging it as debug, increase logging level to warning to make sure it's always logged.
2020-04-10base-bearer: log stats on disconnectionAleksander Morgado
2020-04-10base-bearer: don't run disconnection path multiple timesAleksander Morgado
2020-04-10api,bearer: add 'total-rx-bytes', 'total-tx-bytes' and 'total-duration' statsAleksander Morgado
Compiling the amount of bytes transferred and received during all tracked connection attempts, as well as the total duration of all the connections.
2020-04-10api,bearer: add 'attempts' and 'failed-attempts' statisticsAleksander Morgado
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.
2020-04-10doc,api: add reference to --with-at-command-via-dbus in Command() infoAleksander Morgado
2020-04-10api,doc: fix missing Command() doc output in htmlAleksander Morgado
2020-04-10api,doc: fix some property gtk-doc linksAleksander Morgado
2020-04-10broadband-modem-qmi: since 1.24.6 all strings are valid UTF-8Aleksander Morgado
2020-04-10broadband-modem-qmi: request operator reload explicitlyAleksander Morgado
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.