From 294a954495d60dcee34dab5bf8619bff2af8f135 Mon Sep 17 00:00:00 2001 From: Sebastien Bacher Date: Tue, 22 Jun 2021 12:48:42 +0200 Subject: [PATCH 01/40] New upstream version 1.16.6 --- ChangeLog | 5948 +++++++++++++++-- Makefile.am | 1 + Makefile.in | 9 +- NEWS | 281 +- README | 8 + autogen.sh | 2 +- build-aux/Makefile.in | 2 + build-aux/mm-enums-template.c | 8 +- build-aux/mm-errors-template.c | 8 +- cli/Makefile.in | 2 + cli/mmcli-common.c | 102 +- cli/mmcli-manager.c | 2 +- cli/mmcli-modem-signal.c | 16 + cli/mmcli-modem.c | 53 + cli/mmcli-output.c | 55 +- cli/mmcli-output.h | 26 +- cli/mmcli-sim.c | 2 + cli/mmcli.c | 5 +- config.h.in | 6 + configure | 226 +- configure.ac | 27 +- data/Makefile.in | 2 + data/org.freedesktop.ModemManager1.policy.in | 36 + data/tests/Makefile.in | 2 + docs/Makefile.in | 2 + docs/man/Makefile.in | 2 + docs/man/mmcli.1 | 6 + docs/reference/Makefile.in | 2 + docs/reference/api/Makefile.in | 10 +- docs/reference/api/ModemManager-docs.xml | 7 + docs/reference/api/ModemManager-overview.xml | 16 +- docs/reference/api/ModemManager-sections.txt | 2 + .../html/ModemManager-Common-udev-tags.html | 32 + .../ModemManager-Flags-and-Enumerations.html | 7 + .../api/html/ModemManager-Version-checks.html | 4 +- docs/reference/api/html/ModemManager.devhelp2 | 12 +- docs/reference/api/html/api-index-1-12.html | 3 +- docs/reference/api/html/api-index-1-16.html | 37 + docs/reference/api/html/api-index-full.html | 8 + docs/reference/api/html/ch03s02.html | 10 +- docs/reference/api/html/ch04s04.html | 8 +- ...-org.freedesktop.ModemManager1.Bearer.html | 2 +- ...reedesktop.ModemManager1.Modem.Signal.html | 46 + ...reedesktop.ModemManager1.Modem.Simple.html | 3 +- ...s-org.freedesktop.ModemManager1.Modem.html | 83 +- ...bus-org.freedesktop.ModemManager1.Sim.html | 26 + docs/reference/api/html/index.html | 7 +- .../api/html/ref-overview-modem-filter.html | 6 +- docs/reference/libmm-glib/Makefile.in | 10 +- docs/reference/libmm-glib/html/MMBearer.html | 6 +- .../libmm-glib/html/MMBearerIpConfig.html | 6 +- .../libmm-glib/html/MMBearerProperties.html | 34 +- docs/reference/libmm-glib/html/MMCall.html | 18 +- .../libmm-glib/html/MMCallProperties.html | 18 +- .../libmm-glib/html/MMFirmwareProperties.html | 16 +- .../html/MMFirmwareUpdateSettings.html | 8 +- docs/reference/libmm-glib/html/MMModem.html | 626 +- .../libmm-glib/html/MMModem3gpp.html | 48 +- .../libmm-glib/html/MMModem3gppUssd.html | 6 +- .../libmm-glib/html/MMModemCdma.html | 20 +- .../libmm-glib/html/MMModemLocation.html | 26 +- .../libmm-glib/html/MMModemMessaging.html | 14 +- .../reference/libmm-glib/html/MMModemOma.html | 38 +- .../libmm-glib/html/MMModemSignal.html | 82 + .../libmm-glib/html/MMModemSimple.html | 2 +- docs/reference/libmm-glib/html/MMSim.html | 111 + .../html/MMSimpleConnectProperties.html | 100 +- .../libmm-glib/html/MMSimpleStatus.html | 64 +- docs/reference/libmm-glib/html/MMSms.html | 68 +- .../libmm-glib/html/MMSmsProperties.html | 20 +- .../libmm-glib/html/MMUnlockRetries.html | 10 +- .../libmm-glib/html/MmGdbusBearer.html | 62 +- .../libmm-glib/html/MmGdbusCall.html | 94 +- .../libmm-glib/html/MmGdbusModem.html | 656 +- .../libmm-glib/html/MmGdbusModem3gpp.html | 84 +- .../libmm-glib/html/MmGdbusModem3gppUssd.html | 40 +- .../libmm-glib/html/MmGdbusModemCdma.html | 50 +- .../libmm-glib/html/MmGdbusModemFirmware.html | 22 +- .../libmm-glib/html/MmGdbusModemLocation.html | 78 +- .../html/MmGdbusModemMessaging.html | 44 +- .../libmm-glib/html/MmGdbusModemOma.html | 52 +- .../libmm-glib/html/MmGdbusModemSignal.html | 143 +- .../libmm-glib/html/MmGdbusModemSimple.html | 24 +- .../libmm-glib/html/MmGdbusModemTime.html | 16 +- .../libmm-glib/html/MmGdbusModemVoice.html | 86 +- .../MmGdbusOrgFreedesktopModemManager1.html | 38 +- .../reference/libmm-glib/html/MmGdbusSim.html | 219 +- .../reference/libmm-glib/html/MmGdbusSms.html | 94 +- .../libmm-glib/html/annotation-glossary.html | 4 +- .../libmm-glib/html/api-index-1-14.html | 4 +- .../libmm-glib/html/api-index-1-16.html | 97 + .../libmm-glib/html/api-index-full.html | 132 + docs/reference/libmm-glib/html/index.html | 7 +- .../libmm-glib-Flags-and-Enumerations.html | 168 +- .../libmm-glib/html/libmm-glib.devhelp2 | 42 +- docs/reference/libmm-glib/libmm-glib-docs.xml | 7 + .../libmm-glib/libmm-glib-sections.txt | 34 + examples/Makefile.in | 2 + examples/modem-watcher-javascript/Makefile.in | 2 + examples/modem-watcher-python/Makefile.in | 2 + examples/modem-watcher-python/ModemWatcher.py | 62 +- .../modem-watcher-python/modem-watcher-python | 31 +- examples/network-scan-python/Makefile.in | 2 + .../network-scan-python/network-scan-python | 35 +- examples/sms-python/Makefile.in | 2 + examples/sms-python/sms-python | 6 +- gtk-doc.make | 2 - include/Makefile.in | 2 + include/ModemManager-enums.h | 2 + include/ModemManager-names.h | 6 + include/ModemManager-tags.h | 30 + include/ModemManager-version.h | 4 +- introspection/Makefile.in | 2 + .../org.freedesktop.ModemManager1.Bearer.xml | 2 +- ...freedesktop.ModemManager1.Modem.Signal.xml | 38 + ...freedesktop.ModemManager1.Modem.Simple.xml | 3 +- .../org.freedesktop.ModemManager1.Modem.xml | 67 +- .../org.freedesktop.ModemManager1.Sim.xml | 20 + introspection/tests/Makefile.in | 2 + libmm-glib/Makefile.in | 2 + libmm-glib/generated/Makefile.in | 2 + ...c-org.freedesktop.ModemManager1.Bearer.xml | 2 +- ...freedesktop.ModemManager1.Modem.Signal.xml | 39 + ...freedesktop.ModemManager1.Modem.Simple.xml | 3 +- ...oc-org.freedesktop.ModemManager1.Modem.xml | 70 +- ...-doc-org.freedesktop.ModemManager1.Sim.xml | 24 + libmm-glib/generated/tests/Makefile.in | 2 + libmm-glib/mm-bearer-properties.c | 88 +- libmm-glib/mm-bearer-properties.h | 13 +- libmm-glib/mm-common-helpers.c | 52 +- libmm-glib/mm-common-helpers.h | 2 +- libmm-glib/mm-modem-signal.c | 62 +- libmm-glib/mm-modem-signal.h | 3 + libmm-glib/mm-modem.c | 408 +- libmm-glib/mm-modem.h | 29 + libmm-glib/mm-sim.c | 66 + libmm-glib/mm-sim.h | 5 + libmm-glib/mm-simple-connect-properties.c | 37 + libmm-glib/mm-simple-connect-properties.h | 21 +- libmm-glib/tests/Makefile.in | 2 + libmm-glib/tests/test-common-helpers.c | 105 + libqcdm/Makefile.in | 2 + libqcdm/src/Makefile.in | 2 + libqcdm/tests/Makefile.in | 2 + m4/mm-enable-plugin.m4 | 22 +- plugins/Makefile.am | 116 +- plugins/Makefile.in | 586 +- .../altair/mm-broadband-bearer-altair-lte.c | 4 +- .../altair/mm-broadband-modem-altair-lte.c | 35 +- plugins/altair/mm-modem-helpers-altair-lte.c | 66 +- plugins/anydata/mm-plugin-anydata.c | 2 +- plugins/broadmobi/mm-plugin-broadmobi.c | 2 +- .../cinterion/mm-broadband-bearer-cinterion.c | 107 +- .../cinterion/mm-broadband-modem-cinterion.c | 1417 +++- .../cinterion/mm-modem-helpers-cinterion.c | 362 +- .../cinterion/mm-modem-helpers-cinterion.h | 29 + plugins/cinterion/mm-plugin-cinterion.c | 2 +- .../tests/test-modem-helpers-cinterion.c | 167 +- plugins/dell/mm-plugin-dell.c | 14 +- plugins/dlink/mm-plugin-dlink.c | 2 +- plugins/fibocom/mm-plugin-fibocom.c | 2 +- .../mm-broadband-modem-foxconn-t77w968.h | 49 - ...68.c => mm-broadband-modem-mbim-foxconn.c} | 235 +- .../foxconn/mm-broadband-modem-mbim-foxconn.h | 49 + ...g.conf => mm-foxconn-carrier-mapping.conf} | 0 plugins/foxconn/mm-plugin-foxconn.c | 31 +- plugins/generic/mm-plugin-generic.c | 2 +- .../gosuncn/77-mm-gosuncn-port-types.rules | 17 + plugins/gosuncn/mm-plugin-gosuncn.c | 113 + plugins/gosuncn/mm-plugin-gosuncn.h | 40 + .../huawei/77-mm-huawei-net-port-types.rules | 2 + plugins/huawei/mm-broadband-bearer-huawei.c | 22 +- plugins/huawei/mm-broadband-modem-huawei.c | 311 +- plugins/huawei/mm-modem-helpers-huawei.c | 130 +- plugins/huawei/mm-modem-helpers-huawei.h | 31 +- plugins/huawei/mm-plugin-huawei.c | 349 +- plugins/huawei/mm-sim-huawei.c | 1 + .../huawei/tests/test-modem-helpers-huawei.c | 147 + plugins/icera/mm-broadband-bearer-icera.c | 20 +- plugins/icera/mm-broadband-modem-icera.c | 29 +- plugins/iridium/mm-bearer-iridium.c | 2 +- plugins/iridium/mm-sim-iridium.c | 1 + plugins/mbm/mm-broadband-bearer-mbm.c | 46 +- plugins/mbm/mm-plugin-mbm.c | 2 +- plugins/mbm/mm-sim-mbm.c | 1 + plugins/nokia/mm-sim-nokia.c | 1 + .../novatel/mm-broadband-bearer-novatel-lte.c | 4 +- .../novatel/mm-broadband-modem-novatel-lte.c | 61 +- plugins/novatel/mm-plugin-novatel.c | 2 +- plugins/novatel/mm-sim-novatel-lte.c | 1 + plugins/option/mm-broadband-bearer-hso.c | 14 +- plugins/pantech/mm-plugin-pantech.c | 2 +- plugins/pantech/mm-sim-pantech.c | 1 + plugins/qcom-soc/77-mm-qcom-soc.rules | 35 + .../mm-broadband-modem-qmi-qcom-soc.c | 133 + .../mm-broadband-modem-qmi-qcom-soc.h | 49 + plugins/qcom-soc/mm-plugin-qcom-soc.c | 92 + plugins/qcom-soc/mm-plugin-qcom-soc.h | 40 + .../quectel/mm-broadband-modem-qmi-quectel.c | 63 +- plugins/quectel/mm-broadband-modem-quectel.c | 71 +- plugins/quectel/mm-modem-helpers-quectel.c | 91 + plugins/quectel/mm-modem-helpers-quectel.h | 32 + plugins/quectel/mm-plugin-quectel.c | 2 +- plugins/quectel/mm-shared-quectel.c | 704 +- plugins/quectel/mm-shared-quectel.h | 40 +- .../tests/test-modem-helpers-quectel.c | 93 + plugins/sierra/mm-broadband-bearer-sierra.c | 14 +- plugins/sierra/mm-broadband-modem-sierra.c | 28 +- plugins/sierra/mm-plugin-sierra.c | 22 +- plugins/sierra/mm-sim-sierra.c | 1 + plugins/simtech/mm-plugin-simtech.c | 2 +- plugins/simtech/mm-shared-simtech.c | 2 +- plugins/telit/mm-broadband-modem-telit.c | 81 +- plugins/telit/mm-plugin-telit.c | 2 +- plugins/tests/test-keyfiles.c | 6 +- plugins/tests/test-udev-rules.c | 22 + plugins/tplink/mm-plugin-tplink.c | 2 +- plugins/ublox/mm-broadband-bearer-ublox.c | 10 +- plugins/ublox/mm-sim-ublox.c | 1 + plugins/x22x/mm-plugin-x22x.c | 2 +- plugins/xmm/mm-broadband-modem-mbim-xmm.c | 3 + plugins/xmm/mm-shared-xmm.c | 3 + plugins/xmm/mm-shared-xmm.h | 1 + plugins/zte/mm-plugin-zte.c | 2 +- po/LINGUAS | 2 + po/ModemManager.pot | 4 +- po/fi.gmo | Bin 0 -> 3303 bytes po/fi.po | 116 + po/he.gmo | Bin 0 -> 3551 bytes po/he.po | 105 + src/80-mm-candidate.rules | 15 +- src/Makefile.am | 2 +- src/Makefile.in | 46 +- src/kerneldevice/mm-kernel-device-generic.c | 809 ++- src/kerneldevice/mm-kernel-device-udev.c | 764 +-- src/kerneldevice/mm-kernel-device.c | 148 +- src/kerneldevice/mm-kernel-device.h | 24 +- src/main.c | 10 +- src/mm-base-bearer.c | 5 + src/mm-base-bearer.h | 11 + src/mm-base-manager.c | 345 +- src/mm-base-modem-at.c | 249 +- src/mm-base-modem-at.h | 146 +- src/mm-base-modem.c | 711 +- src/mm-base-modem.h | 18 +- src/mm-base-sim.c | 334 +- src/mm-base-sim.h | 35 +- src/mm-bearer-list.c | 6 +- src/mm-bearer-mbim.c | 8 +- src/mm-bearer-qmi.c | 131 +- src/mm-broadband-bearer.c | 4 +- src/mm-broadband-modem-mbim.c | 681 +- src/mm-broadband-modem-mbim.h | 23 +- src/mm-broadband-modem-qmi.c | 2456 ++++--- src/mm-broadband-modem-qmi.h | 24 +- src/mm-broadband-modem.c | 778 ++- src/mm-broadband-modem.h | 19 +- src/mm-charsets.c | 690 +- src/mm-charsets.h | 113 +- src/mm-context.c | 41 +- src/mm-context.h | 12 +- src/mm-device.c | 76 +- src/mm-device.h | 21 +- src/mm-filter.c | 25 +- src/mm-filter.h | 46 +- src/mm-iface-modem-3gpp.c | 102 +- src/mm-iface-modem-3gpp.h | 1 + src/mm-iface-modem-firmware.c | 97 +- src/mm-iface-modem-firmware.h | 3 +- src/mm-iface-modem-signal.c | 104 +- src/mm-iface-modem-signal.h | 1 + src/mm-iface-modem-time.c | 3 +- src/mm-iface-modem.c | 684 +- src/mm-iface-modem.h | 39 + src/mm-log.c | 2 +- src/mm-modem-helpers-mbim.c | 21 +- src/mm-modem-helpers-mbim.h | 5 +- src/mm-modem-helpers-qmi.c | 448 +- src/mm-modem-helpers-qmi.h | 34 +- src/mm-modem-helpers.c | 56 +- src/mm-modem-helpers.h | 7 +- src/mm-plugin-manager.c | 103 +- src/mm-plugin-manager.h | 1 + src/mm-plugin.c | 151 +- src/mm-plugin.h | 1 + src/mm-port-mbim.c | 5 +- src/mm-port-mbim.h | 3 +- src/mm-port-probe.c | 169 +- src/mm-port-qmi.c | 179 +- src/mm-port-qmi.h | 34 +- src/mm-port-serial-at.c | 12 +- src/mm-port-serial-at.h | 13 +- src/mm-port-serial-qcdm.c | 5 +- src/mm-port-serial-qcdm.h | 3 +- src/mm-port.h | 7 +- src/mm-private-boxed-types.c | 69 +- src/mm-private-boxed-types.h | 3 + src/mm-serial-parsers.c | 16 +- src/mm-shared-qmi.c | 1126 +++- src/mm-shared-qmi.h | 27 + src/mm-sim-mbim.c | 4 +- src/mm-sim-qmi.c | 171 +- src/mm-sim-qmi.h | 11 + src/mm-sms-mbim.c | 3 +- src/mm-sms-part-3gpp.c | 193 +- src/mm-sms-part-3gpp.h | 1 + src/mm-sms-part-cdma.c | 101 +- src/mm-sms-qmi.c | 3 +- src/mm-utils.c | 47 + src/mm-utils.h | 14 + src/tests/Makefile.in | 2 + src/tests/test-at-serial-port.c | 87 + src/tests/test-charsets.c | 114 +- src/tests/test-modem-helpers.c | 43 +- src/tests/test-sms-part-cdma.c | 40 + test/Makefile.in | 2 + tools/Makefile.am | 3 + tools/Makefile.in | 711 ++ tools/test-modemmanager-service.py | 490 ++ tools/tests/Makefile.am | 49 + tools/tests/Makefile.in | 823 +++ .../org.freedesktop.ModemManager1.service.in | 3 + tools/tests/test-stub.c | 459 ++ tools/tests/test-wrapper.sh.in | 5 + vapi/Makefile.in | 2 + 325 files changed, 26270 insertions(+), 8183 deletions(-) create mode 100644 docs/reference/api/html/api-index-1-16.html create mode 100644 docs/reference/libmm-glib/html/api-index-1-16.html delete mode 100644 plugins/foxconn/mm-broadband-modem-foxconn-t77w968.h rename plugins/foxconn/{mm-broadband-modem-foxconn-t77w968.c => mm-broadband-modem-mbim-foxconn.c} (67%) create mode 100644 plugins/foxconn/mm-broadband-modem-mbim-foxconn.h rename plugins/foxconn/{mm-foxconn-t77w968-carrier-mapping.conf => mm-foxconn-carrier-mapping.conf} (100%) create mode 100644 plugins/gosuncn/77-mm-gosuncn-port-types.rules create mode 100644 plugins/gosuncn/mm-plugin-gosuncn.c create mode 100644 plugins/gosuncn/mm-plugin-gosuncn.h create mode 100644 plugins/qcom-soc/77-mm-qcom-soc.rules create mode 100644 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c create mode 100644 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.h create mode 100644 plugins/qcom-soc/mm-plugin-qcom-soc.c create mode 100644 plugins/qcom-soc/mm-plugin-qcom-soc.h create mode 100644 plugins/quectel/mm-modem-helpers-quectel.c create mode 100644 plugins/quectel/mm-modem-helpers-quectel.h create mode 100644 plugins/quectel/tests/test-modem-helpers-quectel.c create mode 100644 po/fi.gmo create mode 100644 po/fi.po create mode 100644 po/he.gmo create mode 100644 po/he.po create mode 100644 src/mm-utils.c create mode 100644 tools/Makefile.am create mode 100644 tools/Makefile.in create mode 100755 tools/test-modemmanager-service.py create mode 100644 tools/tests/Makefile.am create mode 100644 tools/tests/Makefile.in create mode 100644 tools/tests/services/org.freedesktop.ModemManager1.service.in create mode 100644 tools/tests/test-stub.c create mode 100644 tools/tests/test-wrapper.sh.in diff --git a/ChangeLog b/ChangeLog index 14812f81..6eb8d661 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,392 +1,4052 @@ -commit dccfb032d176acdba5175b11fbbe186676343a59 +commit a7b37461441f66ca1f54c1e83473dbd6e4191852 Author: Aleksander Morgado -Date: Fri Mar 12 11:24:58 2021 +0100 +Date: Thu Jun 3 13:25:11 2021 +0200 - release: bump version to 1.14.12 + release: bump version to 1.16.6 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 4da7b368fc5a90a6b3cc5eaaa6a2032fd54952a3 +commit e7a683b525f2908082e7926f8192e6811e9bea69 Author: Aleksander Morgado -Date: Fri Mar 12 11:23:55 2021 +0100 +Date: Thu Jun 3 13:24:42 2021 +0200 - NEWS: update for 1.14.12 + NEWS: update for 1.16.6 - NEWS | 12 ++++++++++++ - 1 file changed, 12 insertions(+) + NEWS | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) -commit a0b7edeefaa0c07d6ac25d62e95d4e56fa4cee20 +commit 3762fb1737892b06ab435b5c70c394dca3f994b8 Author: Aleksander Morgado -Date: Thu Mar 11 10:33:00 2021 +0100 +Date: Sun Jun 6 14:45:27 2021 +0200 - bearer-mbim: plug MbimDevice leak in disconnection context + udev: only flag as candidates the wwan ports, not the full device - (cherry picked from commit a772b70632008d6c375487a8e711b80bb343a931) + Explicitly ignore the "wwan_dev" device as it is not associated with + separate ports (which is what MM needs), but with the whole device + instead. - src/mm-bearer-mbim.c | 1 + - 1 file changed, 1 insertion(+) + See + https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008629.html + + (cherry picked from commit ac18b5ac5bf841cd3a619a9e07137c332558d6c4) + + src/80-mm-candidate.rules | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 5e3babb3a12371cd0cb6578c97b2090db3b95d0b +Author: Loic Poulain +Date: Wed May 12 13:18:00 2021 +0200 + + udev: Do not consider USB WWAN ports as valid candidates + + For now WWAN subsystem support has only been validated for PCI/MHI + based devices and extra patches for USB based devices (qmi_wwan, + cdc-mbim...) may be required, so do not consider WWAN ports being + on USB bus. -commit 18ffd664e59bee7fd98f1992b4818ef6220f85f5 + Signed-off-by: Loic Poulain + (cherry picked from commit c39d1d2fbc62dca759efcf8dc5b80c69a45269de) + + src/80-mm-candidate.rules | 4 ++++ + 1 file changed, 4 insertions(+) + +commit f62b4ec0f604710435da1e03d1324f8a0e9aba8f Author: Aleksander Morgado -Date: Fri Feb 26 11:16:59 2021 +0100 +Date: Sun Jun 6 12:11:08 2021 +0200 - shared-qmi: network registration cancellation logic with asserts - disabled + core: skip suggesting FCC unlock may be needed - g_assert() calls may be disabled, and if so, the network registration - task would never get completed. + This message is too specific, and there are a lot of cases where it + wouldn't apply. - (cherry picked from commit c7d366671f749689c143f7effe2a183eb710def9) + E.g. when a MBIM module is stuck in low power mode due to some other + reason (like hardware rfkill), this message would pop up to the users + and completely confuse them. - src/mm-shared-qmi.c | 2 +- + (cherry picked from commit 464c0d464c758387ac3d35f4e148db2c4368edba) + + src/mm-broadband-modem-mbim.c | 3 +-- + src/mm-broadband-modem-qmi.c | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) + +commit b610ea14019e4645a29a87b51be08d712b243f03 +Author: Aleksander Morgado +Date: Fri Jun 4 12:14:02 2021 +0200 + + Revert "foxconn: add new MBIM QDU firmware update method support" + + This reverts commit da23f9cd7a7642e8cf8245952a7403bb30fca1b8. + + The stable 1.16 branch does not build-depend on any libmbim git master + version, so we should not report the QDU firmware update method as + supported in MM at this point. + + It would not have been a big problem if we did expose the QDU firmware + update method, because the logic in fwupd checks the MM and libmbim + versions separately, but I think it's better to skip reporting QDU as + supported ourselves for consistency with the minimum libmbim version + we require. + + include/ModemManager-enums.h | 2 -- + plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 17 ++++------------- + 2 files changed, 4 insertions(+), 15 deletions(-) + +commit cc4e32610f7372a54fe150cfd8b19e62d269a7b0 +Author: Aleksander Morgado +Date: Fri Jun 4 12:13:33 2021 +0200 + + Revert "api: QDU update method defined in MM 1.16.6 already" + + This reverts commit 2cb38c568ff1fb26b23bad5e8a2851547448c30e. + + include/ModemManager-enums.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 0754f204f986ebd26bcb60df37de9cc4f0650152 +commit 374f80f5c37ddff2ea74781ca85da1e283f23035 Author: Aleksander Morgado -Date: Mon Feb 22 15:04:43 2021 +0100 +Date: Wed May 19 15:37:47 2021 +0200 - bearer-mbim: IP type may be reported as deactivated and still have - IP settings + foxconn: setup FCC unlock step - If we were requesting for IPv4v6 and we only got IPv4 reported as - activated, we would right away ignore the IPv6 bits, even if we - received IPv6 settings later on when querying for them. Change that, - so that if an IP address of a given type is received, we assume the - corresponding context was really activated even if the modem didn't - report it in the connect set response. + Use the new "DMS Foxconn Set FCC authentication" command to request + the modem unlock during a power up operation. Fixes - https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/320 + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/373 - (cherry picked from commit a546201470ee1067be5494ab5f678016bb2bc2ec) + (cherry picked from commit 9fdbbc6929cb61d4168e1696a94e5b2f07bc578e) - src/mm-bearer-mbim.c | 61 - +++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 41 insertions(+), 20 deletions(-) + plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 67 + ++++++++++++++++++++++- + 1 file changed, 65 insertions(+), 2 deletions(-) -commit bd489b7f53e0f2b3d6fb9ad25c284a14e3c7177f +commit 2886b08522e7c29d5d9ffa9d186129bbe1fffbba Author: Aleksander Morgado -Date: Sat Jan 16 15:12:19 2021 +0100 +Date: Thu Jun 3 13:04:53 2021 +0200 - build: post-release version bump to 1.14.11 + build: require libqmi 1.28.6 for Foxconn FCC unlock support configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 304a1b123fe87cf5f3b9067fb83f37c9e09e12f5 +commit edaa6413f6585132fcc6d4851f96e1a54c1d1be1 Author: Aleksander Morgado -Date: Sat Jan 16 14:11:16 2021 +0100 +Date: Fri May 21 15:48:31 2021 +0200 - release: bump version to 1.14.10 + broadband-modem-mbim: setup FCC unlock step - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + Use the new generic FCC unlock step instead of implementing it within + the power up setup logic. + + (cherry picked from commit 76f24256174039a75926cdc0ce3a6b1f03ea10ee) + + src/mm-broadband-modem-mbim.c | 219 + ++++++------------------------------------ + 1 file changed, 30 insertions(+), 189 deletions(-) -commit 9ed9234904074c313c617ffe45e364c39c3cce81 +commit 7b53ccbcf59160ac4f3590d460603c54a296dc97 Author: Aleksander Morgado -Date: Sat Jan 16 14:10:58 2021 +0100 +Date: Wed May 19 15:12:17 2021 +0200 - NEWS: update for 1.14.10 + broadband-modem-qmi: setup FCC unlock step - NEWS | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) + Use the new generic FCC unlock step instead of implementing it within + the operating mode setup logic. -commit 95bb97c41ea635fa4bfc3f6b6a925e4502c25f8d -Author: Louis-Alexis Eyraud -Date: Fri Jan 15 15:14:58 2021 +0100 + The operation is implemented in the MMSharedQmi interface as it will + also be used by the MBIM modem object. - zte: add 1 second delay after sim unlock to avoid IMSI reading issue + (cherry picked from commit b9596c81879b8eeae3f2e1bab5c31007e5824c1f) + + src/mm-broadband-modem-qmi.c | 240 + ++++++++++--------------------------------- + src/mm-shared-qmi.c | 50 +++++++++ + src/mm-shared-qmi.h | 6 ++ + 3 files changed, 112 insertions(+), 184 deletions(-) + +commit 148a6c6e46dedc5cd391e326f4c0a60ce39bea84 +Author: Aleksander Morgado +Date: Wed May 19 13:02:42 2021 +0200 + + iface-modem: new optional FCC unlock step in the power state update + + There are devices that come locked before they can be put online. + Until now we had a specific implementation for this in the generic QMI + modem, but we should have it in a more generic way for any kind of + modem. + + (cherry picked from commit 6ca75c76db277b89325e1888ac445cbfebe33039) + + src/mm-iface-modem.c | 352 + +++++++++++++++++++++++++-------------------------- + src/mm-iface-modem.h | 8 ++ + 2 files changed, 180 insertions(+), 180 deletions(-) + +commit 977452e155163983e4638c39a82dfad9d847904b +Author: Aleksander Morgado +Date: Tue May 25 15:42:11 2021 +0200 + + base-manager: ensure all GUdevDevices have subsystem and name set + + Under certain rare conditions (e.g. race between querying devices of a + given subsystem and the kernel tearing those devices down), the + subsystem reported for a GUdevDevice seems to be NULL. + + So, ensure both subsystem and name are set on the GUdevDevice + before we + process them. + + The issue has been observed on GUdevDevices listed by + g_udev_client_query_by_subsystem(), not on the ones asynchronously + reported via uevents, but we add the validity check on both places for + consistency. Fixes - https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/306 + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/343 - Signed-off-by: Louis-Alexis Eyraud - (cherry picked from commit 9c353cf6f0a7650cfe1b914d6881890de9dff0b0) + (cherry picked from commit 940063419a1c2eb9f6e197d60b4c7cb42702de8d) - plugins/zte/mm-broadband-modem-zte.c | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) + src/mm-base-manager.c | 30 +++++++++++++++++++++++++----- + 1 file changed, 25 insertions(+), 5 deletions(-) -commit 42a3a2d50b30580cf13e57b69c14a9c7611e49c2 +commit 812463c9a82c3e921a392bf06789194ccad42cc5 Author: Aleksander Morgado -Date: Mon Jan 11 14:18:36 2021 +0100 +Date: Sat May 22 00:46:55 2021 +0200 - iface-modem: avoid leaking the MmGdbusModem when bearers are updated + shared-qmi: trivial coding style update - See See - https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302 + (cherry picked from commit ec8bf7f0e39435f98d322d09a36b0d3e171a9ae7) - (cherry picked from commit d12ab8a25a60323a753e3437c81a984a503deb40) + src/mm-shared-qmi.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) - src/mm-iface-modem.c | 1 + - 1 file changed, 1 insertion(+) +commit 7fc8f67af9b5fe30e3b1f96b56ed781af2d44bc2 +Author: Aleksander Morgado +Date: Sun May 23 00:38:09 2021 +0200 + + broadband-modem: check if skeleton exists when creating device id + + The logic that creates the device identifier uses some fields that are + exposed in DBus (e.g. model, manufacturer...). + + We should not attempt to load any of that info if the DBus skeleton + for the Modem interface is no longer available, as e.g. the device may + have gone away already. -commit 17569fd41bd61fd892ae1af1e15e3fbe0045726a + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/374 + + (cherry picked from commit 3da3623e11f90e45951118119da6f842053fd133) + + src/mm-broadband-modem-mbim.c | 16 ++++++++++------ + src/mm-broadband-modem-qmi.c | 16 ++++++++++------ + src/mm-broadband-modem.c | 36 +++++++++++++++++++++++++----------- + src/mm-broadband-modem.h | 7 ++++--- + 4 files changed, 49 insertions(+), 26 deletions(-) + +commit a8f65a16c753eef05fbd4bd15372116f1a9343c5 Author: Aleksander Morgado -Date: Mon Jan 11 14:13:28 2021 +0100 +Date: Wed Jun 2 09:56:00 2021 +0200 - telit: plug GPS data port leak + shared-qmi: add missing g_autoptr() NULL initializer - The _get_port_gps() returns a full reference, use _peek_port_gps() - instead. + (cherry picked from commit eefcf9204f2de801092b1d14d86c7012420e97af) - See - https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302 + src/mm-shared-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) - (cherry picked from commit 102de14c15b1c278988de376d03262bcb078211d) +commit 8c4708939e396c5e1aeeac99f5f197d4c7440cea +Author: Felipe Borges +Date: Thu May 27 15:05:55 2021 +0200 - plugins/telit/mm-broadband-modem-telit.c | 2 +- + cinterion: avoid maybe-uninitialized warning by GCC 10 + + Reported at + https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1371 + + (cherry picked from commit 0b8607bc5dc4cce16ebb7c6a7bd71dfb3032d978) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 781371615ead5a11297c7293f1bdb32015915a62 -Author: Frederic Martinsons -Date: Sun Dec 20 18:11:06 2020 +0100 +commit e903a840ed87074a35581f5e5faf8fba3436c135 +Author: Aleksander Morgado +Date: Tue Jun 1 09:36:53 2021 +0200 - mmcli: don't assume that mm_object_peek_modem or mm_object_get_modem - return non null + broadband-modem-mbim: skip switch() when selecting MBIM services - This very peculiar case can happen when an intermediate initiliazition - step - of a modem fails. + Having a switch() for the MBIM services when processing indications + forces us to update it on every new MBIM service added to libmbim, + because we build with -Wswitch-enum by default. - The ModemManager daemon should always expose the modem interface - but let not - assume that in mmcli and protect these calls. + This warning type is extremely useful, and we should not stop using + it, so let's simplify a bit the indication handling code and skip + using a switch(). - Signed-off-by: Frederic Martinsons - (cherry picked from commit 18b72a046e89d00d7e7b9f2d718c43d64e595de0) + There are right now only 4 different service indications expected, so + it shouldn't be a big deal. - cli/mmcli-common.c | 4 +++- - cli/mmcli-manager.c | 9 +++++++-- - 2 files changed, 10 insertions(+), 3 deletions(-) + (cherry picked from commit e25a585c9fd8c3f58ec01723843fe3c08c30c1ad) -commit 48f87ac97319a5d1500a7f202a2ff1506bf83398 -Author: Frederic Martinsons -Date: Sun Dec 20 18:07:44 2020 +0100 + src/mm-broadband-modem-mbim.c | 34 ++++------------------------------ + 1 file changed, 4 insertions(+), 30 deletions(-) - iface-modem: don't consider charset setup failure as fatal. +commit 8308b24347d8bc88cddfcb13cbbf624d6577b3fa +Author: Dylan Van Assche +Date: Mon May 31 16:56:30 2021 +0200 - On some modem (for example SORACOM SC-QGLC4-C1) , the character - set setup - step fails with "Unknown error" when the SIM card is missing or - locked. - This leads to not expose Modem interface and not being able to - unlocked - the SIM. - We should not consider this step as fatal but just issue a warning - to let - other steps continue (which will let modem in failed state anyway). + quectel: ignore QLWURC - Closes #289 + QLWURCs are not ignored and causes calls to be rejected in some cases - Signed-off-by: Frederic Martinsons - (cherry picked from commit 2f53a08e5f1eef8c1892dc55f32fbacba85565a0) + (cherry picked from commit c00eff43ac6eda070645d77edc8da71facd972a3) - src/mm-iface-modem.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) + plugins/quectel/mm-shared-quectel.c | 9 +++++++++ + 1 file changed, 9 insertions(+) -commit e70fbb0d540b1300e0b17f0274109e11719fb4a8 +commit 2cb38c568ff1fb26b23bad5e8a2851547448c30e Author: Aleksander Morgado -Date: Mon Dec 14 09:58:59 2020 +0100 +Date: Fri May 21 23:46:28 2021 +0200 - cinterion: add AT primary/secondary port type hints for PLS8 + api: QDU update method defined in MM 1.16.6 already - (cherry picked from commit 243272c11178e68914d7cc2dcfdc28248edb2aa7) + include/ModemManager-enums.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) - plugins/cinterion/77-mm-cinterion-port-types.rules | 2 ++ - 1 file changed, 2 insertions(+) +commit da23f9cd7a7642e8cf8245952a7403bb30fca1b8 +Author: Freedom Liu +Date: Fri Apr 30 01:52:12 2021 +0000 + + foxconn: add new MBIM QDU firmware update method support + + Based on the QDU service newly added in libmbim, + T99W175 module (vid: 0x105b) supports MBIM QDU based update. + + (cherry picked from commit 35b1672b85d23e0961c33fc7aebc17d0e2d26c81) + + include/ModemManager-enums.h | 2 ++ + plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 17 +++++++++++++---- + 2 files changed, 15 insertions(+), 4 deletions(-) + +commit 8904436e126d0c408003b0f6b5b78b2c0c3c1977 +Author: Freedom Liu +Date: Mon Apr 26 15:29:36 2021 +0800 + + foxconn: add support for the T99W175 module + + 0x0489 is the vendor ID of T77W968, 0x105b is the vendor ID of + T99W175. + {0x105b, 0xe0b0},{0x105b, 0xe0b1} is T99W175 PCI device, used by Dell. + {0x105b, 0xe0ab} is T99W175 PCI device, used by Lenovo. + + If the modem has an mbim port, create a MbimFoxconn object, regardless + of what the product ID is. + + The firmware version format in the T99W175 was selected to have + firmware version + carrier config version + apps version. + + (cherry picked from commit 47ea5c98f4d05a2113b7533fec86ac6003171c85) + + plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 15 ++++++++---- + plugins/foxconn/mm-plugin-foxconn.c | 29 + +++++++++-------------- + 2 files changed, 22 insertions(+), 22 deletions(-) + +commit 3fb5f80283bd2013073fb71c592e5d63efca39e2 +Author: Freedom Liu +Date: Mon Apr 26 15:19:37 2021 +0800 + + foxconn: change modem-foxconn-t77w968 to modem-mbim-foxconn + + Named the object in a more generic way. + + (cherry picked from commit c31488608a331f4d16dacb923a5611c52f57f1cb) + + plugins/Makefile.am | 8 ++-- + plugins/dell/mm-plugin-dell.c | 12 +++--- + .../foxconn/mm-broadband-modem-foxconn-t77w968.h | 49 + ---------------------- + ...t77w968.c => mm-broadband-modem-mbim-foxconn.c} | 44 + +++++++++---------- + plugins/foxconn/mm-broadband-modem-mbim-foxconn.h | 49 + ++++++++++++++++++++++ + ...apping.conf => mm-foxconn-carrier-mapping.conf} | 0 + plugins/foxconn/mm-plugin-foxconn.c | 12 +++--- + plugins/tests/test-keyfiles.c | 6 +-- + 8 files changed, 90 insertions(+), 90 deletions(-) + +commit b7f0f2ca7c6e61fcf08786909ba0992d0de36ce6 +Author: Loic Poulain +Date: Tue Apr 20 15:04:11 2021 +0200 + + qmi: Increase qmi_device_open timeout + + SDX55 modem can take slighlty more than 25 seconds to start all + its services from cold boot/reset (including QMI services), causing + QMI port opening timeout error. This patch increases the + qmi_device_open + timeout from 25 seconds to 45 seconds to prevent such issue. + + Signed-off-by: Loic Poulain + (cherry picked from commit e57c59bf88615129efc0241957749102ea8af90d) + + src/mm-port-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ba18704cc63c0be201b79eedb9561e2dc1fe0d67 +Author: Loic Poulain +Date: Wed Dec 16 17:07:31 2020 +0100 + + plugins: generic: Add 'wwan' subsystem support + + wwan is a new subsystem for WWAN devices, allowing to expose the + WWAN device and its ports in a generic way. + + The sysfs hierarchy for such device is + + /sys/class/wwanX + /sys/class/wwanX/wwanXpYP + + Where X is the WWAN device index, Y the port index and P the + control protocol name (QMI, MBIM...). A control port is also + exposed as character device in /dev. + + Signed-off-by: Loic Poulain + (cherry picked from commit fefbf4d3029ce8e1f2ed9db2bc8288e13989b05a) + + plugins/generic/mm-plugin-generic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 60606f1231ade45fffe02b3c72238af7ba024195 +Author: Loic Poulain +Date: Wed Dec 16 15:49:42 2020 +0100 + + broadband-modem-qmi: Add MHI QMI port peek support + + For MHI data port (mhi-net), simply return the primary QMI port. + + Signed-off-by: Loic Poulain + (cherry picked from commit 6895ca836b29dba55f5afd46925967e7795fd43b) + + src/mm-broadband-modem-qmi.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit f27ce401d173eb3f3574e34818f296f3f6fa6634 +Author: Loic Poulain +Date: Wed Dec 16 15:11:48 2020 +0100 + + base: Add support for wwan subsystem + + Add support for the Linux wwan subsystem that started to expose + control channel as character devices (e.g. /dev/wwan0p1MBIM...). + + Signed-off-by: Loic Poulain + (cherry picked from commit 6db2e8f04da458488c374f1a6f6979ce7fe9b67d) + + src/mm-base-modem.c | 26 ++++++++++++++++++++++++++ + src/mm-plugin.c | 9 +++++++++ + src/mm-port-probe.c | 9 ++++++++- + src/mm-port.h | 3 ++- + 4 files changed, 45 insertions(+), 2 deletions(-) + +commit 33cbe975acc78e0b08c70553875c292b2d26fef2 +Author: Loic Poulain +Date: Wed Dec 16 14:01:53 2020 +0100 + + filter: Add wwan port devices + + Allow WWAN control ports. + + Signed-off-by: Loic Poulain + (cherry picked from commit b1db6527cf9d4801e48dfe6e9fe8124532269159) + + src/mm-filter.c | 8 ++++++++ + src/mm-filter.h | 13 +++++++++---- + 2 files changed, 17 insertions(+), 4 deletions(-) + +commit 7b77bedae49457718bece5cf1a262ab561b6af5a +Author: Loic Poulain +Date: Wed Dec 16 13:59:27 2020 +0100 + + udev: add wwan port devices as valid candidates + + The new Linux WWAN subsystem exposes the various WWAN control ports + as character devices. WWAN port device naming follows the following + convention: wwanXpYP, where X is the wwan device index, Y the port + index and P the port type/protocol. -commit 5382e2d64dcf9e1305af55fb7e55e6b0c3760a77 + Signed-off-by: Loic Poulain + (cherry picked from commit aaf8c17e3592cf401913543452002e1e227a8d05) + + src/80-mm-candidate.rules | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit f59095a3bef82cc066788c1c8df0947bca7d1408 Author: Aleksander Morgado -Date: Mon Dec 14 09:58:15 2020 +0100 +Date: Tue May 18 14:29:41 2021 +0200 - cinterion: add QCDM and GPS port type hints for PLS62 + libmm-glib,common-helpers: avoid signed vs unsigned comparisons - (cherry picked from commit ba4b3f60b7605441bb127be231eab49450c29404) + mm-common-helpers.c: In function 'mm_get_int_from_str': + mm-common-helpers.c:1349:13: warning: comparison between signed + and unsigned integer expressions [-Wsign-compare] + if (eol == num) + ^~ + mm-common-helpers.c: In function 'mm_utils_hexstr2bin': + mm-common-helpers.c:1718:19: warning: comparison between signed + and unsigned integer expressions [-Wsign-compare] + for (i = 0; i < len; i += 2) { + ^ - plugins/cinterion/77-mm-cinterion-port-types.rules | 20 - ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) + (cherry picked from commit d661d822f7fc2b31884eb10a586501765250ec2e) + + libmm-glib/mm-common-helpers.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) -commit 7684b8c87c834bce0f1ab141427b82b2e3ed3ac5 +commit 6005b93902a40a27648101933fe2c2cbbe80aac1 Author: Aleksander Morgado -Date: Mon Dec 14 09:35:02 2020 +0100 +Date: Tue May 18 12:24:39 2021 +0200 - cinterion: add PLS83 port type hints + libmm-glib: drop default timeout checks in Command() - (cherry picked from commit 067b09c8358ad92ff0ca3c266d0229e9518069d0) + The g_dbus_proxy_get_default_timeout() is by default -1 unless + explicitly updated, so the check doesn't make any sense really. We + didn't see any warning produced because mmcli provides an explicit + timeout of 30s, so it was never the default -1. - plugins/cinterion/77-mm-cinterion-port-types.rules | 10 ++++++++++ - 1 file changed, 10 insertions(+) + (cherry picked from commit 21ff48ed7d56837567aff3e396acf3bfd24cbc02) -commit 45955463e7b87a0488421284dfb635f91a54d545 + libmm-glib/mm-modem.c | 5 ----- + 1 file changed, 5 deletions(-) + +commit a746c58e30dc8a44885294b382f8c6e7390d0998 Author: Aleksander Morgado -Date: Sun Dec 13 17:33:11 2020 +0100 +Date: Tue May 18 12:07:45 2021 +0200 - broadband-modem-mbim: ignore MS SAR notifications explicitly + libmm-glib: remove unused cmp_allow_roaming() method - SAR service will be introduced in the stable libmbim 1.26.0, but it's - been flagged in the dev 1.25.1 version already. + mm-bearer-properties.c:725:1: warning: 'cmp_allow_roaming' defined + but not used [-Wunused-function] + cmp_allow_roaming (gboolean a, + ^~~~~~~~~~~~~~~~~ - (cherry picked from commit bee8a391bf46e33f8378504f71c4e087d7a82fb5) + (cherry picked from commit a325acd6b1ae3376bb0f9f3eb83ce44617115a55) - src/mm-broadband-modem-mbim.c | 3 +++ + libmm-glib/mm-bearer-properties.c | 19 ------------------- + 1 file changed, 19 deletions(-) + +commit 84388c162dd08677fc98a54c011c2ef4aa6639c6 +Author: Aleksander Morgado +Date: Tue May 18 11:28:18 2021 +0200 + + core: drop "volatile" for g_once_init_enter locations + + This fixes a few (fatal in gcc 11) warnings. + + See https://gitlab.gnome.org/GNOME/glib/-/issues/600 + + (cherry picked from commit 268cab885b62526bb97794cb6b9e8b0f97084841) + + build-aux/mm-enums-template.c | 8 +++---- + build-aux/mm-errors-template.c | 8 +++---- + src/mm-log.c | 2 +- + src/mm-private-boxed-types.c | 48 + +++++++++++++++++++++--------------------- + 4 files changed, 33 insertions(+), 33 deletions(-) + +commit 2b0e0ed48566c7b94e1d3520af1707d0f958c6b8 +Author: Clayton Craft +Date: Fri Apr 16 20:42:15 2021 -0700 + + sms-part-3gpp: add flag for indicating PDU is transfer-route message + + When the message is a transfer-route MT, there is no SMSC address to + parse out. This flag allows indicating when the PDU is one such + message. + + (cherry picked from commit 43c39d5226484eba99211b2fa1add2ae5b398ebf) + + src/mm-broadband-modem-mbim.c | 1 + + src/mm-broadband-modem-qmi.c | 5 +++++ + src/mm-sms-part-3gpp.c | 42 + +++++++++++++++++++++++------------------- + src/mm-sms-part-3gpp.h | 1 + + 4 files changed, 30 insertions(+), 19 deletions(-) + +commit 78d294da18eb11ba44bc2ccd189a522c3721e3bb +Author: Clayton Craft +Date: Sat Apr 17 00:53:27 2021 -0700 + + broadband-modem-qmi: Handle transfer-route MT messages + + This handles transfer-route MT messages, automatically ACKing any that + need to be ACKed. + + Based on work by Angus Ainslie and Elias Rudberg + + (cherry picked from commit 205e9edf3edddfa73b1a9b8ddaff4e3779a20e61) + + src/mm-broadband-modem-qmi.c | 74 + +++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 73 insertions(+), 1 deletion(-) + +commit 17a09e23f96c5ea7dbd8605aa4211ea161ba7dd4 +Author: Aleksander Morgado +Date: Sat May 15 00:34:44 2021 +0200 + + build: require libqmi 1.28.4 + + We're going to use add support for the transfer-route MT messages in + the stable MM 1.16 branch, so we should make sure the related QMI + messages have been added to the basic collection, as already done in + libqmi 1.28.4. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fead7038b963efd16fcf7df62064d0983bf9cd2e +Author: Aleksander Morgado +Date: Tue May 4 00:30:11 2021 +0200 + + ci: stable 1.16 branch relies on libqmi 1.28 and libmbim 1.24 + + So make all CI pipelines on the stable branch run with those specific + libqmi and libmbim branches. + + .gitlab-ci.yml | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 3cec1a0104cbae3406bca9198f552f303efd6c12 +Author: Aleksander Morgado +Date: Wed Apr 28 22:41:06 2021 +0200 + + tools: disable stub tester if no introspection enabled + + TEST: test-stub... + /MM/stub/modem/interface: dbus-daemon[48020]: [session uid=0 + pid=48020] Activating service name='org.freedesktop.ModemManager1' + requested by ':1.0' (uid=0 pid=48005 + comm="/builds/mobile-broadband/ModemManager/tools/tests/") + Traceback (most recent call last): + File + "/builds/mobile-broadband/ModemManager/tools/test-modemmanager-service.py", + line 7, in + gi.require_version('ModemManager', '1.0') + File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, + in require_version + raise ValueError('Namespace %s not available' % namespace) + ValueError: Namespace ModemManager not available + dbus-daemon[48020]: [session uid=0 pid=48020] Activated + service 'org.freedesktop.ModemManager1' failed: Process + org.freedesktop.ModemManager1 exited with status 1 + + (cherry picked from commit 7b7bbdd999d00446966f100212bc469970e769a3) + + tools/tests/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) -commit f125c97ec5fda2b3e4fb69868eebd521ac90e366 +commit 021c3dd6f11dc86103493ea08c9a60fc584d8c2a Author: Aleksander Morgado -Date: Thu Nov 26 23:30:56 2020 +0100 +Date: Wed Apr 28 21:27:22 2021 +0200 - broadband-modem-mbim: plug memleak when processing USSD in GSM7 + ci: disable introspection and gtk-doc in all tests that don't need it - (cherry picked from commit 0729ba5c88eb038e60ffbe3faf9431e9650f7ca1) + The template image we're using already contains all the necessary + build deps to enable introspection and gtk-doc, so we need to + explicitly disable them where we don't need them, or otherwise they'll + be automatically enabled as the deps are found. - src/mm-broadband-modem-mbim.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + (cherry picked from commit 4593eec17385c190747df48155f95d71c591102e) + + .gitlab-ci.yml | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) -commit 2a743d5b109079cd07ed5afa55fb9a79ccb8d155 +commit b877baaa4baae077e54260c3b705ec89a4a35acf Author: Aleksander Morgado -Date: Tue Dec 1 22:59:32 2020 +0100 +Date: Wed Apr 28 21:21:34 2021 +0200 - broadband-modem-qmi: fix reporting of signal strength indications + ci: use latest ubuntu LTS by default - We had all the logic in place... but we were never actually enabling - the signal strength indications because the `enable` flag in the - context was never set. + (cherry picked from commit d9072562cd8d03dc72f072a78e73c24fe4193b8a) - The bug was introduced back in May 2018, and released with 1.10.0. + .gitlab-ci.yml | 28 ++++++++++++++++------------ + 1 file changed, 16 insertions(+), 12 deletions(-) - Fixes baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd +commit 0dbaacf04e52cc2e4b8351e1c325e136ba2541cf +Author: Benjamin Tissoires +Date: Thu Apr 8 10:07:45 2021 +0200 - (cherry picked from commit 12dd53a12e81e4f4752ded5579a52751141461ca) + CI: make use of ci-templates - src/mm-broadband-modem-qmi.c | 1 + - 1 file changed, 1 insertion(+) + full list of benefits at: + https://freedesktop.pages.freedesktop.org/ci-templates/templates.html#why-use-the-ci-templates -commit 30b13bd23073b64ae686fa6dfd6afb244be9c9d0 -Author: David Leonard -Date: Wed Aug 26 14:19:28 2020 +1000 + But the main ones are: + - reproducible (just download the container and run the `script` part + to be in the same environment the CI was running) + - no more before script that pulls hundreds of MB and spend useless + time. - sms: fix 7-bit ASCII SMS decoding + Signed-off-by: Benjamin Tissoires + (cherry picked from commit 01f2109ae0bb8ac9a966f69f88ec2b526b68269b) - Fixes an issue where (5+8n)-character long SMS messages received on a - CDMA network would be dropped with a "cannot read user data" error, - while other length SMS messages would be delivered fine. + .gitlab-ci.yml | 48 +++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 43 insertions(+), 5 deletions(-) - Fix thanks to Peter Hunt +commit 722ae98ba6f920815cf534869bc9b1a8ebdd80f5 +Author: Aleksander Morgado +Date: Mon May 3 22:09:41 2021 +0200 - (cherry picked from commit 7ac42e76482acd687464f9dca2ef3ac7b67825a1) + foxconn: don't assume parent location is available - src/mm-sms-part-cdma.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + If ModemManager is not built with QMI support, the generic MBIM modem + object will not have any location support, so we cannot assume that + iface_modem_location_parent will be valid and that it will have all + load_location_capabilities(), enable_location_gathering() and + disable_location_gathering() implemented. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/362 + + (cherry picked from commit e1567c30df5a0bf320b654cd85942bdff5db6144) + + .../foxconn/mm-broadband-modem-foxconn-t77w968.c | 113 + ++++++++++++++------- + 1 file changed, 79 insertions(+), 34 deletions(-) + +commit b593df29bc8165d3afc771d2c9c4587a3bdf0a11 +Author: Aleksander Morgado +Date: Wed Apr 28 21:58:36 2021 +0200 + + broadband-modem-mbim: fix build with libmbim >= 1.25.3 + + src/mm-broadband-modem-mbim.c | 3 +++ + 1 file changed, 3 insertions(+) -commit bd43afa6bc0eca0973ec8058b7c26d9396020a04 +commit 7a3d9ab290f1ea916248163ac55746caf0a04f53 Author: Aleksander Morgado -Date: Mon Nov 16 10:36:10 2020 +0100 +Date: Wed Apr 21 11:53:17 2021 +0200 - build: post-release version bump to 1.14.9 + build: post-release version bump to 1.16.5 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 19c2266a328ce39033f8d15f5c7ff3561149b22b +commit e0048b690cfd93da4fa47be110008bac260462a8 Author: Aleksander Morgado -Date: Mon Nov 16 09:29:39 2020 +0100 +Date: Wed Apr 21 11:21:08 2021 +0200 - release: bump version to 1.14.8 + release: bump version to 1.16.4 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 71bf197475d9e99ea2ff2baea2f8eed3adf044c9 +commit 0325cd530c35e0854b3f2a6624c7fdc4cad69995 Author: Aleksander Morgado -Date: Mon Nov 16 09:29:32 2020 +0100 +Date: Wed Apr 21 11:20:53 2021 +0200 - NEWS: update for 1.14.8 + NEWS: update for 1.16.4 - NEWS | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) + NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) + +commit 1cd612aab46e442075defeab7f0ce8ba97ba11d1 +Author: Aleksander Morgado +Date: Wed Apr 21 11:33:53 2021 +0200 + + build: disable gtkdocize in autoreconf + + We have a custom modified gtk-doc.make file in our sources, which + disables the gtkdoc-rebase on local install step, so we don't want + autoreconf to copy a different one when we're bootstrapping. + + (cherry picked from commit 4ae623c37b5eb395c79b49a044958c09fd6d23a7) + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5a3dd6d4da2afa4df83781465cd5975ba337d6f5 +Author: Aleksander Morgado +Date: Mon Apr 12 23:37:19 2021 +0200 + + cli: avoid attempting to setup timeout on NULL proxy + + mm_manager_get_proxy() may actually return NULL if creating the + internal GDBusProxy for the Manager interface fails. + + (cherry picked from commit 5a735317f7c0c42b2ddce52dbf1fa1edfc1c41f4) + + cli/mmcli.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 2ed8ee5257e6479f12008b84cf93a196a75ba273 +Author: Aleksander Morgado +Date: Mon Apr 12 23:06:22 2021 +0200 + + kerneldevice: fix segfault when processing event for non-existing port + + ModemManager[6954]: [1618260091.319919] [br0] invalid + sysfs path read for net/br0 + ** + ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename: + assertion failed: (array && sysfs_path && attribute) + Bail out! + ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename: + assertion failed: (array && sysfs_path && attribute) + + Thread 1 "ModemManager" received signal SIGABRT, Aborted. + (gdb) bt + #0 0x00007ffff7438ef5 in raise () at /usr/lib/libc.so.6 + #1 0x00007ffff7422862 in abort () at /usr/lib/libc.so.6 + #2 0x00007ffff76c2084 in () at /usr/lib/libglib-2.0.so.0 + #3 0x00007ffff771d85d in g_assertion_message_expr () at + /usr/lib/libglib-2.0.so.0 + #4 0x00005555556a5337 in + ptr_array_add_sysfs_attribute_link_basename (array=0x5555557de520, + sysfs_path=0x0, attribute=0x555555703bd8 "driver", out_value=0x0) + at kerneldevice/mm-kernel-device-generic.c:235 + #5 0x00005555556a542b in + preload_contents_other (self=0x5555557a6c60) at + kerneldevice/mm-kernel-device-generic.c:255 + #6 0x00005555556a6485 in preload_contents (self=0x5555557a6c60) + at kerneldevice/mm-kernel-device-generic.c:517 + #7 0x00005555556a7fb6 in check_preload (self=0x5555557a6c60) + at kerneldevice/mm-kernel-device-generic.c:980 + #8 0x00005555556a855f in initable_init (initable=0x5555557a6c60, + cancellable=0x0, error=0x7fffffffe5c8) at + kerneldevice/mm-kernel-device-generic.c:1127 + #9 0x00007ffff78a2f41 in g_initable_new_valist () at + /usr/lib/libgio-2.0.so.0 + #10 0x00007ffff78a2ffa in g_initable_new () at + /usr/lib/libgio-2.0.so.0 + #11 0x00005555556a8205 in mm_kernel_device_generic_new_with_rules + (props=0x5555557a5fa0, rules=0x7fffec001e30, error=0x7fffffffe5c8) + at kerneldevice/mm-kernel-device-generic.c:1042 + #12 0x00005555556a827d in mm_kernel_device_generic_new + (props=0x5555557a5fa0, error=0x7fffffffe5c8) at + kerneldevice/mm-kernel-device-generic.c:1063 + #13 0x00005555555aba9c in handle_kernel_event + (self=0x555555793220, properties=0x5555557a5fa0, + error=0x7fffffffe5c8) at mm-base-manager.c:414 + + (cherry picked from commit 3d5a994ca8d8e766fd87a85d346c5b21f5e6c53e) + + src/kerneldevice/mm-kernel-device-generic.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit b793fdc1c7a8a57a8e229f12861de0375174b152 +Author: Aleksander Morgado +Date: Thu Apr 8 22:24:04 2021 +0200 + + iface-modem-time: fix invalid read when loading network timezone fails + + ==226546== Invalid read of size 4 + ==226546== at 0x5068CB7: g_error_matches (in + /usr/lib/libglib-2.0.so.0.6600.7) + ==226546== by 0x1BAC86: load_network_timezone_ready + (mm-iface-modem-time.c:218) + ==226546== by 0x4EA827E: g_simple_async_result_complete (in + /usr/lib/libgio-2.0.so.0.6600.7) + ==226546== by 0x17AE2C: at_command_ready (mm-base-modem-at.c:538) + ==226546== by 0x4EA827E: g_simple_async_result_complete (in + /usr/lib/libgio-2.0.so.0.6600.7) + ==226546== by 0x24B475: serial_command_ready + (mm-port-serial-at.c:378) + ==226546== by 0x4EA827E: g_simple_async_result_complete (in + /usr/lib/libgio-2.0.so.0.6600.7) + ==226546== by 0x244F94: command_context_complete_and_free + (mm-port-serial.c:141) + ==226546== by 0x246861: port_serial_got_response + (mm-port-serial.c:755) + ==226546== by 0x246923: port_serial_timed_out + (mm-port-serial.c:785) + ==226546== by 0x50863C3: ??? (in + /usr/lib/libglib-2.0.so.0.6600.7) + ==226546== by 0x5085B83: g_main_context_dispatch (in + /usr/lib/libglib-2.0.so.0.6600.7) + + (cherry picked from commit b766ded3ca58cee202bd4567dd5530f04dc2290d) + + src/mm-iface-modem-time.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit ab6033e9582ec79a8e0c0a7735a4dbad0e3f8a6b +Author: Aleksander Morgado +Date: Thu Apr 8 22:40:20 2021 +0200 + + libmm-glib,bearer-properties: fix usage of CMP_FLAGS_NO_RM_PROTOCOL + + (cherry picked from commit 3d665d22093b985f6860170bca8d33a5562056d1) + + libmm-glib/mm-bearer-properties.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 124c2c672b773a366decec223aa8bec33f8bbd80 +Author: Aleksander Morgado +Date: Wed Mar 24 21:50:42 2021 +0100 + + iface-modem: avoid check for SIM swap if no interface skeleton + available + + (cherry picked from commit 9f7bbf28d210a4986f2d0d353e4e37024bc91c4a) + + src/mm-iface-modem.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit b0021c3e8c02ed595e651dd4a7561cdeaef647c0 +Author: Aleksander Morgado +Date: Wed Mar 24 21:47:54 2021 +0100 + + iface-modem: avoid lock info update if no interface skeleton available + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/351 + + (cherry picked from commit 96d83392a850b84888661f68cb170dd87fcd3c85) + + src/mm-iface-modem.c | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +commit 15cd1d7003c6a4942e31c57a658029ba36c27c2f +Author: Dylan Van Assche +Date: Tue Mar 16 19:28:09 2021 +0100 + + quectel: ignore QGPSURC + + QGPSURCs are not ignored and causes calls to be rejected in some cases + + (cherry picked from commit 192e067f97153125fe9d3362c750146a5a7215cf) + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 10 +++++ + plugins/quectel/mm-broadband-modem-quectel.c | 10 +++++ + plugins/quectel/mm-shared-quectel.c | 48 + +++++++++++++++++++++++- + plugins/quectel/mm-shared-quectel.h | 7 +++- + 4 files changed, 72 insertions(+), 3 deletions(-) + +commit 99bffc03cff060a752c0c9a4af0e7d06847c0c00 +Author: Aleksander Morgado +Date: Wed Mar 24 11:00:22 2021 +0100 + + libmm-glib,bearer-properties: fix 'allowed-auth' comparison + + (cherry picked from commit 4b19b9693f03ab48c6707508d27b24e38294e022) + + libmm-glib/mm-bearer-properties.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit eed71a6048de040816f81dcf2031ece6fd7eb679 +Author: Aleksander Morgado +Date: Fri Mar 12 17:44:44 2021 +0100 + + base-bearer: ignore forced disconnections + + If using PPP, ModemManager is never in charge of deciding when the + connection is finished, because that would end up making ModemManager + try to use the TTY port while pppd is still using it. + + When the modem goes unregistered for some time, we should not force + the disconnection of the bearer object, we still need to wait for pppd + to tell us the modem is disconnected. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/331 + + (cherry picked from commit 3e58fbe547115bd875754806340b3bb39cc7b053) + + src/mm-base-bearer.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit c5a86261cc1352d040313efa47247821a8d792cf +Author: Aleksander Morgado +Date: Sun Mar 21 13:44:16 2021 +0100 + + cinterion: make sure FALSE sets GError in parse_smong_response() + + The g_regex_match_full() method may return FALSE without setting the + GError, so that case needs to be considered. + + In addition to that, the following g_assert() was not doing what it + should have been, as it was comparing the address of the variable and + not the variable itself; rework the code to avoid that as well: + g_assert (access_tech != MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN); + + (cherry picked from commit 634682b602dd51efbda42a8b2e8764b9bb0024e2) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 48 + +++++++++++----------- + .../cinterion/tests/test-modem-helpers-cinterion.c | 29 ++++++++++--- + 2 files changed, 48 insertions(+), 29 deletions(-) + +commit efef1132101345f48bfe9102ddebed194b3c6cd6 +Author: Aleksander Morgado +Date: Sun Mar 21 13:05:27 2021 +0100 + + cinterion: make sure FALSE sets GError in provcfg_response_to_cid() + + The g_regex_match_full() method may return FALSE without setting the + GError, so that case needs to be considered. + + Reported by Jan Mazura. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/347 + + (cherry picked from commit d01bca493dad933b9df51bec1254c79089ffa1c7) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 14 ++++++++++- + .../cinterion/tests/test-modem-helpers-cinterion.c | 27 + ++++++++++++++++++---- + 2 files changed, 35 insertions(+), 6 deletions(-) + +commit 70f4677c211ccbb278eff65dc56a5ea9b0b34085 +Author: Aleksander Morgado +Date: Sun Mar 21 11:24:18 2021 +0100 + + cinterion: allow '*' in Prov/Cfg response + + E.g. in a Cinterion PLS8-E (REVISION 04.004) to match the following + line: + + ^SCFG: "MEopMode/Prov/Cfg","fallback*" + + Fix suggested by Jan Mazura. + + See + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/347 + + (cherry picked from commit 5285e958abcd734de73a13011b5243bcfdf4d20c) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 2 +- + plugins/cinterion/tests/test-modem-helpers-cinterion.c | 5 +++++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +commit 6c0d96129702e4babdd98255dacaa278633ecd0a +Author: Aleksander Morgado +Date: Tue Mar 23 15:36:58 2021 +0100 + + kerneldevice,udev: don't use autoptr in GUdev types + + The autoptr support in all GUdev types was introduced in + commit 272533131c6ed38479a88805, included in libgudev 232. + + In the MM 1.16 branch we depend on libgudev 147, so avoid + implicitly bumping the required version. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/349 + + src/kerneldevice/mm-kernel-device-udev.c | 30 + +++++++++++++++++++++--------- + 1 file changed, 21 insertions(+), 9 deletions(-) + +commit b69da9d037d4857ad22a5efdb3bb9d1f494e4f21 +Author: Aleksander Morgado +Date: Thu Mar 18 11:20:02 2021 +0100 + + base-modem: plug leaks when organizing ports + + The GLists maintained in the logic need to be explicitly freed (just + the lists, not the list contents) if we exit early on error or if we + end up deciding that the specific ports are available but unsupported + by the plugin (e.g. if a plugin that doesn't support net ports finds + net ports in the modem). + + ==225333== 24 bytes in 1 blocks are definitely lost in loss record + 2,024 of 5,525 + ==225333== at 0x483E77F: malloc (vg_replace_malloc.c:307) + ==225333== by 0x506C539: g_malloc (in + /usr/lib/libglib-2.0.so.0.6600.7) + ==225333== by 0x508DC8F: g_slice_alloc (in + /usr/lib/libglib-2.0.so.0.6600.7) + ==225333== by 0x50636B4: g_list_append (in + /usr/lib/libglib-2.0.so.0.6600.7) + ==225333== by 0x17E671: mm_base_modem_organize_ports + (mm-base-modem.c:1298) + ==225333== by 0x1E4409: mm_plugin_create_modem (mm-plugin.c:1094) + ==225333== by 0x162C81: mm_device_create_modem (mm-device.c:481) + ==225333== by 0x15DE60: device_support_check_ready + (mm-base-manager.c:218) + ==225333== by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) + ==225333== by 0x4EAC6E8: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) + ==225333== by 0x16730F: device_context_run_ready + (mm-plugin-manager.c:1533) + ==225333== by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7) + + (cherry picked from commit ab007a449638eeacaf6f626b707842af5274db95) + + src/mm-base-modem.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 8a1f79bd5d5e2e0f1aa1b00901cbd84aa8e8729f +Author: Aleksander Morgado +Date: Sun Feb 14 22:23:07 2021 +0100 + + charsets: define common translit fallback character + + (cherry picked from commit 8a8e00168b02c5064f01d5da20a97c7268ba1e2b) + + src/mm-charsets.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 2e51229c6fb0e235ea0bc41997abb3220d54f974 +Author: Aleksander Morgado +Date: Sun Feb 14 09:14:21 2021 +0100 + + charsets: remove charset_hex_to_utf8() + + No longer used, replaced by the new common conversion methods. + + (cherry picked from commit c84454c1b00da7d33cc4fd917be4be6756317488) + + src/mm-charsets.c | 41 ----------------------------------------- + src/mm-charsets.h | 6 ------ + 2 files changed, 47 deletions(-) + +commit abd41673a2f3ed9178c08975d223ba744970ac40 +Author: Aleksander Morgado +Date: Sun Feb 14 09:09:45 2021 +0100 + + charsets: remove take_and_convert methods + + These methods worked in a very strict way for some encodings, and in a + very very loose way for others. E.g. when converting from hex-encoded + UCS-2, we would attempt to convert as much text as we could even if + the input string was truly not even close to UCS-2. This kind of "do + our best" could make sense when processing e.g. the operator name + reported by the modem, as that is some string to show to the user and + there may be no strict requirement to have it perfectly fine. But the + kind of loose comparison done for UCS-2 doesn't make sense e.g. when + converting USSD responses or SMS messages. + + (cherry picked from commit 0ff3eb7ee0106423519152a68de1621cedf567c8) + + src/mm-charsets.c | 208 + ------------------------------------------------------ + src/mm-charsets.h | 5 -- + 2 files changed, 213 deletions(-) + +commit a030ea61498e736b3ba8405ce8d6e5ea37045fa7 +Author: Aleksander Morgado +Date: Sun Feb 14 09:07:21 2021 +0100 + + cinterion: rework mno decoding to use str_to_utf8() + + (cherry picked from commit ab4c31ec0b2c79285e24b9a117ff5e5c21f8fd71) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit b42a60e4803916352143a0fc14032fd7bd50a379 +Author: Aleksander Morgado +Date: Sun Feb 14 09:01:49 2021 +0100 + + cinterion: rework band encoding to use str_to_utf8() + + Also providing support to report errors when attempting to decode the + strings. + + (cherry picked from commit 6bc07b4b1487cfc6e171ec1f2c34958f17202a8b) + + plugins/cinterion/mm-modem-helpers-cinterion.c | 88 + ++++++++++++++++++++------ + 1 file changed, 67 insertions(+), 21 deletions(-) + +commit 251d2096f6a8748b031e8434ccea9a17ea7bcd59 +Author: Aleksander Morgado +Date: Sat Feb 13 16:04:56 2021 +0100 + + helpers: rework normalize_operator() to use str_to_utf8() + + Instead of blindly assuming that we can take whatever string given as + valid UTF-8, we'll always attempt to convert from the current modem + charset into UTF-8. Before we were doing this for hex-encoded UCS2, + but not for example for GSM-7. + + And due to the now applied GSM-7 conversion, the mf627a/mf627b +COPS + parsing unit tests are updated accordingly, because when converting + from an input string that contains byte 0x40 ('@' in UTF-8) as if it + were GSM-7, the 0x40 is taken as character '¡', encoded as 0xc2,0xa1 + in UTF-8). + + (cherry picked from commit 16df1e17e6e96f8dd0ba67003c6abb7083b9d7ec) + + plugins/altair/mm-broadband-modem-altair-lte.c | 2 +- + src/mm-broadband-modem.c | 4 +-- + src/mm-modem-helpers.c | 42 + ++++++++++++++++---------- + src/mm-modem-helpers.h | 3 +- + src/tests/test-modem-helpers.c | 8 +++-- + 5 files changed, 36 insertions(+), 23 deletions(-) + +commit bba502c4be260e46c97f266957b3cb1bc67af7eb +Author: Aleksander Morgado +Date: Sat Feb 13 15:45:52 2021 +0100 + + charsets,tests: update take_and_convert tests to str_from/to + + (cherry picked from commit 63fa9eee462de9270e3ab44eab43050877982cf1) + + src/tests/test-charsets.c | 98 + ++++++++++++++++++++++++++--------------------- + 1 file changed, 55 insertions(+), 43 deletions(-) + +commit ada8ec6786cc9aff9b1c93caa62c16292681bdf6 +Author: Aleksander Morgado +Date: Sat Feb 13 14:54:54 2021 +0100 + + cinterion: move sequence to set bands to private ctx + + The sequence of commands is exclusively used during the set current + bands operation, so there is no point in storing it in the private + object data. + + (cherry picked from commit 3ac248a7a6a4ad03d10dc691905e43be8722ab31) + + plugins/cinterion/mm-broadband-modem-cinterion.c | 65 + ++++++++++++++---------- + 1 file changed, 39 insertions(+), 26 deletions(-) + +commit e7a949de935dc09e7012d9bedbf6bd6f0b80f3d4 +Author: Aleksander Morgado +Date: Sat Feb 13 14:44:27 2021 +0100 + + charsets: use new str_from_utf8() instead of + take_and_convert_to_current_charset() + + (cherry picked from commit e5363b546b72403451f14f24502f6c9a90728616) + + plugins/cinterion/mm-broadband-modem-cinterion.c | 77 ++++++++++---- + plugins/mbm/mm-broadband-bearer-mbm.c | 40 ++++--- + src/mm-broadband-modem.c | 126 + +++++++++++------------ + src/mm-broadband-modem.h | 12 --- + 4 files changed, 142 insertions(+), 113 deletions(-) + +commit ee08721984b93303fac2e00ba456b79826a83f4a +Author: Aleksander Morgado +Date: Tue Dec 22 15:10:55 2020 +0100 + + charsets: use new bytearray_to_utf8() instead of hex_to_utf8() + + (cherry picked from commit 395ab06c03086bf127970d14a97102e21222126f) + + src/mm-broadband-modem.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +commit c87f85d4709284e2059da9214df1cb9e36cfdb62 +Author: Aleksander Morgado +Date: Mon Dec 21 14:28:08 2020 +0100 + + charsets: use new bytearray_to_utf8() instead of byte_array_to_utf8() + + (cherry picked from commit 5ea4a591a40748c5be5f9f4b14ac4f7a09fe2857) + + src/mm-broadband-modem-mbim.c | 6 ++---- + src/mm-broadband-modem-qmi.c | 6 ++---- + src/mm-charsets.c | 23 ----------------------- + src/mm-charsets.h | 5 ----- + src/mm-sms-part-3gpp.c | 9 +++------ + 5 files changed, 7 insertions(+), 42 deletions(-) + +commit aa67dd24c3853362d385686b6f1acbbc7f94cccf +Author: Aleksander Morgado +Date: Mon Dec 21 14:20:13 2020 +0100 + + charsets: make charset_gsm_unpacked_to_utf8() private + + Use the generic mm_modem_charset_bytearray_to_utf8() instead. + + (cherry picked from commit 033e174e445ff7606ea43191a4a5c141413e10e2) + + plugins/huawei/mm-broadband-modem-huawei.c | 15 ++++++++++----- + src/mm-base-sim.c | 23 ++++++++++++++++------- + src/mm-broadband-modem-mbim.c | 9 ++++++--- + src/mm-charsets.c | 21 +++++++++++---------- + src/mm-charsets.h | 5 ----- + src/mm-sms-part-3gpp.c | 18 +++++++++++------- + src/tests/test-charsets.c | 6 ++++-- + 7 files changed, 58 insertions(+), 39 deletions(-) + +commit 2b05740820c63d4b977b148eda3e1ca2198669b7 +Author: Aleksander Morgado +Date: Mon Dec 21 13:37:13 2020 +0100 + + charsets: use new bytearray_from_utf8() instead of byte_array_append() + + (cherry picked from commit 8bfdfb187b9c911366376f1574dc7e45fe4f0767) + + src/mm-broadband-modem-mbim.c | 9 ++--- + src/mm-broadband-modem-qmi.c | 4 +-- + src/mm-broadband-modem.c | 34 +++++++++---------- + src/mm-charsets.c | 34 ------------------- + src/mm-charsets.h | 9 ----- + src/mm-sms-part-3gpp.c | 5 ++- + src/mm-sms-part-cdma.c | 76 + ++++++++++++++++++++----------------------- + 7 files changed, 59 insertions(+), 112 deletions(-) + +commit cafdcb1311bbe4afbce56f97148b1794cf59621f +Author: Aleksander Morgado +Date: Sun Feb 14 15:23:43 2021 +0100 + + charsets: make charset_utf8_to_unpacked_gsm() private + + Use the generic mm_modem_charset_bytearray_from_utf8() instead. + + (cherry picked from commit 75b37e16b12ca3807852804fed668ba2fd7ca317) + + plugins/huawei/mm-broadband-modem-huawei.c | 24 ++++++--------- + src/mm-broadband-modem-mbim.c | 13 +++----- + src/mm-charsets.c | 49 + +++++++++++++++--------------- + src/mm-charsets.h | 4 --- + src/mm-sms-part-3gpp.c | 17 +++++------ + src/tests/test-charsets.c | 15 +++++---- + 6 files changed, 55 insertions(+), 67 deletions(-) + +commit 061da8e4921862b5de514f4ca82d142debe28be1 +Author: Aleksander Morgado +Date: Fri Nov 27 00:41:40 2020 +0100 + + charsets: new common APIs to convert from/to charsets and UTF-8 + + (cherry picked from commit 9c613d33e1f60501cc8406f6429097d8bda87c59) + + src/mm-charsets.c | 298 + ++++++++++++++++++++++++++++++++++++++++++++++++++++-- + src/mm-charsets.h | 61 +++++++++++ + 2 files changed, 352 insertions(+), 7 deletions(-) + +commit 6e0a686228ac5a2da1b5a97d57c8d60082f24ffa +Author: Aleksander Morgado +Date: Sun Feb 14 13:47:21 2021 +0100 + + charsets: avoid //TRANSLIT when converting to/from charsets + + The //TRANSLIT extension is not always supported by the different + iconv() implementations that we may find out there, so let's + completely avoid using it. + + For some of the charsets it actually didn't make much sense anyway, + e.g. as converting to UTF-16 or UTF-8 would always be possible without + requiring //TRANSLIT to take effect. + + The //TRANSLIT extension was also being used sometimes in the source + charset identification, which was also not fully correct, as we would + only expect it in the target charset identification. + + (cherry picked from commit 6f32c8d38f2c7ad269c4ccf84190ad6e917293a9) + + src/mm-charsets.c | 81 + +++++++++++++++++++++++++++---------------------------- + 1 file changed, 40 insertions(+), 41 deletions(-) + +commit c23b4cd78a38e860130b6673a926272e8f3930a1 +Author: Aleksander Morgado +Date: Thu Nov 26 23:22:57 2020 +0100 + + charsets: make translit optional in utf8_to_unpacked_gsm() + + If the conversion is not fully compatible, the user of the method + needs to request transliteration enabled explicitly in order to avoid + returning errors in this method. + + (cherry picked from commit bc449cbe87ccebccbe35f926e88a2dd110832ddf) + + plugins/huawei/mm-broadband-modem-huawei.c | 5 +++- + src/mm-broadband-modem-mbim.c | 5 ++-- + src/mm-charsets.c | 39 + ++++++++++++++++++++---------- + src/mm-charsets.h | 4 ++- + src/mm-sms-part-3gpp.c | 7 ++++-- + src/tests/test-charsets.c | 3 ++- + 6 files changed, 42 insertions(+), 21 deletions(-) + +commit 5aa572d7f8604e68d08dc678dcc7f9ccc5240530 +Author: Aleksander Morgado +Date: Thu Nov 26 23:07:11 2020 +0100 + + charsets: make translit optional in gsm_unpacked_to_utf8() + + Until now, this method would automatically apply transliteration; + i.e. replacing characters with '?' when no direct translation was + available. + + We can attempt to do that transliteration on strings that are not + critical, e.g. the operator name reported by the network. But we + should not do that on other types of strings, e.g. on SMS contents + that may really have additional purposes than just being + human-readable. + + This commit makes the transliteration option to be explicitly + requested by the caller. + + (cherry picked from commit 5ce97abd73da12b64393be798f2c294d29be2705) + + plugins/huawei/mm-broadband-modem-huawei.c | 2 +- + src/mm-base-sim.c | 2 +- + src/mm-broadband-modem-mbim.c | 6 +- + src/mm-charsets.c | 21 ++++-- + src/mm-charsets.h | 10 ++- + src/mm-sms-part-3gpp.c | 116 + +++++++++++++++++------------ + src/tests/test-charsets.c | 4 +- + 7 files changed, 96 insertions(+), 65 deletions(-) + +commit 64296ce39744c959aca690d0ab9b2b69820240b4 +Author: Aleksander Morgado +Date: Sun Feb 14 10:20:44 2021 +0100 + + libmm-glib,tests: add ishexstr/hexstr2bin/bin2hexstr unit tests + + (cherry picked from commit 5480cb67b283c078770b02766c37768cb0930d7b) + + libmm-glib/tests/test-common-helpers.c | 104 + +++++++++++++++++++++++++++++++++ + 1 file changed, 104 insertions(+) + +commit da57feee719f234f619567eb7df2a9c69817a7bd +Author: Aleksander Morgado +Date: Sun Feb 14 11:06:50 2021 +0100 + + libmm-glib,common-helpers: make hexstr2bin() return a guint8 array + + It makes much more sense than returning a gchar array, as gchar is + signed. + + (cherry picked from commit 34de613deab1c8728118fce389963ecb29ca51e7) + + libmm-glib/mm-common-helpers.c | 10 +++++----- + libmm-glib/mm-common-helpers.h | 2 +- + plugins/altair/mm-modem-helpers-altair-lte.c | 18 ++++++++--------- + plugins/huawei/mm-broadband-modem-huawei.c | 4 ++-- + plugins/huawei/mm-modem-helpers-huawei.c | 30 + ++++++++++++---------------- + src/mm-base-sim.c | 16 +++++++-------- + src/mm-charsets.c | 12 +++++------ + src/mm-modem-helpers-qmi.c | 2 +- + src/mm-modem-helpers.c | 2 +- + src/mm-sms-part-3gpp.c | 2 +- + src/mm-sms-part-cdma.c | 2 +- + 11 files changed, 48 insertions(+), 52 deletions(-) + +commit 7f272cc84e89137b3dcf1a225882a6d5906dc3f6 +Author: Aleksander Morgado +Date: Sun Feb 14 10:46:49 2021 +0100 + + libmm-glib,common-helpers: ishexstr() fails on empty input string + + (cherry picked from commit 6d8610d63ecb8e53e14486533a580ea4f37c644c) + + libmm-glib/mm-common-helpers.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c1c0319f3e9110155ab19c4838b3372faaa64c53 +Author: Aleksander Morgado +Date: Sun Feb 14 10:43:35 2021 +0100 + + libmm-glib,common-helpers: hexstr2bin fails on empty input string + + Also, remove the trailing NUL byte that was appended to the output + binary stream, as it's not needed in any case. + + (cherry picked from commit 8c30a6b6f813114d0cdc6b8a04ae4336c8393d48) + + libmm-glib/mm-common-helpers.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit ce36979813cdc31692e5ffddd57136aa3165e740 +Author: Aleksander Morgado +Date: Mon Dec 21 13:52:54 2020 +0100 + + libmm-glib,common-helpers: make hexstr2bin() accept input string + length + + Optionally given explicitly, and -1 can be used to assume it's + NUL-terminated. + + (cherry picked from commit a211981d4a12b0ef6cab48b7a04ae9e5674cac01) + + libmm-glib/mm-common-helpers.c | 9 +++++---- + libmm-glib/mm-common-helpers.h | 2 +- + plugins/altair/mm-modem-helpers-altair-lte.c | 2 +- + plugins/huawei/mm-broadband-modem-huawei.c | 2 +- + plugins/huawei/mm-modem-helpers-huawei.c | 2 +- + src/mm-base-sim.c | 4 ++-- + src/mm-charsets.c | 2 +- + src/mm-modem-helpers-qmi.c | 2 +- + src/mm-modem-helpers.c | 2 +- + src/mm-sms-part-3gpp.c | 2 +- + src/mm-sms-part-cdma.c | 2 +- + 11 files changed, 16 insertions(+), 15 deletions(-) + +commit d126fa58069e794fe59b9e48d1b86053522ca9c9 +Author: Aleksander Morgado +Date: Sun Nov 22 17:01:19 2020 +0100 + + libmm-glib,common-helpers: make hexstr2bin() return a GError + + This util method checks whether the input string is a valid hex + string, so make sure we return a GError on failure. + + (cherry picked from commit 657cabcfce6794d2a2f629d63dbd56fc149dab2e) + + libmm-glib/mm-common-helpers.c | 18 ++++-- + libmm-glib/mm-common-helpers.h | 2 +- + plugins/altair/mm-modem-helpers-altair-lte.c | 56 ++++++------------ + plugins/huawei/mm-broadband-modem-huawei.c | 19 +++---- + plugins/huawei/mm-modem-helpers-huawei.c | 2 +- + src/mm-base-sim.c | 85 + ++++++++++------------------ + src/mm-charsets.c | 2 +- + src/mm-modem-helpers-qmi.c | 20 +++---- + src/mm-modem-helpers.c | 5 +- + src/mm-sms-part-3gpp.c | 17 ++---- + src/mm-sms-part-cdma.c | 17 ++---- + 11 files changed, 90 insertions(+), 153 deletions(-) + +commit 24b276a5cbe70b8b283142be6cda251274c7c5af +Author: Aleksander Morgado +Date: Sun Nov 22 16:10:06 2020 +0100 + + charsets: remove unused charset_utf8_to_hex() method + + (cherry picked from commit dbdf67e9f7c55d7f70ed94449160a7ff254359a2) + + src/mm-charsets.c | 28 ---------------------------- + src/mm-charsets.h | 6 ------ + 2 files changed, 34 deletions(-) + +commit 69fcaf3b5c154712bac705f8326210e25b72ca4d +Author: Aleksander Morgado +Date: Sun Nov 22 15:05:56 2020 +0100 + + charsets: don't allow quoting in byte_array_append() + + There's no point in adding a quoting option to this method; if the + caller needs the appended string quoted, it should quote it before + passing it to this method. + + It was nowhere used anyway. + + (cherry picked from commit 8b590721dfdff5c4382dbc3498d92035b2d4ad64) + + src/mm-broadband-modem-mbim.c | 2 +- + src/mm-broadband-modem-qmi.c | 2 +- + src/mm-broadband-modem.c | 6 +----- + src/mm-charsets.c | 5 ----- + src/mm-charsets.h | 1 - + src/mm-sms-part-3gpp.c | 2 +- + src/mm-sms-part-cdma.c | 12 ++---------- + 7 files changed, 6 insertions(+), 24 deletions(-) + +commit 021093232dc1b8f8257ef10e667fceb3f1383ab9 +Author: Aleksander Morgado +Date: Sun Nov 22 15:02:07 2020 +0100 + + charsets: remove HEX charset type + + This is no real charset, it is the fake one we used to represent a + UCS2 hex-encoded string. + + (cherry picked from commit 38a4a9c842bcb0c87bca7b1a5595556fe2c144fc) + + src/mm-charsets.c | 10 ---------- + src/mm-charsets.h | 3 +-- + 2 files changed, 1 insertion(+), 12 deletions(-) + +commit 2122de4a1db0f215b75e20c505a8ada5ff07a195 +Author: Aleksander Morgado +Date: Sun Nov 22 15:00:23 2020 +0100 + + charsets: define charset enum explicitly as flags + + (cherry picked from commit a025e83e5ab10147861334fd94682fdd20fb69d2) + + src/mm-charsets.h | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 36974af255ad5a96824de21400d935a6d2ee0ab2 +Author: Aleksander Morgado +Date: Mon Mar 15 17:46:49 2021 +0100 + + shared-qmi: acquisition order preference TLV always same items + + The acquisition order preference TLV must always have the same number + of elements, just the order of the elements should be different. + + Also, always prefer the acquisition order preference TLV to the + GSM+WCDMA specific one, which is the same logic the modem applies. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/340 + + (cherry picked from commit fdfd4b270aa3bb31185feb833691f134c887f869) + + src/mm-modem-helpers-qmi.c | 108 + ++++++++++++++++++++++++--------------------- + src/mm-modem-helpers-qmi.h | 9 ++-- + src/mm-shared-qmi.c | 64 ++++++++++++++++----------- + 3 files changed, 100 insertions(+), 81 deletions(-) + +commit aae5fe5f5bc49fa0ecb87b2b714611ce16744d66 +Author: Aleksander Morgado +Date: Mon Mar 15 15:19:38 2021 +0100 + + shared-qmi: process all feature checks in SSP response together + + Loading capabilities is the very first step of the state machines, and + so we can rely on the "NAS Get SSP" method performed there to process + all feature checks of the SSP response. + + (cherry picked from commit bb5bc9c8c560a24ef2951bdb9e1da18dedd7c5b0) + + src/mm-shared-qmi.c | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +commit 6f68efc862ca92fcc5d28103224dfdcd31ae10e0 +Author: Aleksander Morgado +Date: Mon Mar 15 15:11:41 2021 +0100 + + shared-qmi: if getting TP/SSP fails, assume unsupported + + Until now we were only considering TP/SSP unsupported if we received + a QMI protocol error (e.g. reporting unknown command). + + We now also consider TP/SSP unsupported if the actual request + succeeds, but an error is reported in the response. There is no point + in considering TP/SSP supported if the plain get request without input + TLVs given fails. + + (cherry picked from commit 65a7624ffdd39b015d5013743913af8361e83513) + + src/mm-shared-qmi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c96524ca7b822341f227bf7b4b8bc9a5c4c2392a +Author: Aleksander Morgado +Date: Mon Mar 15 17:20:30 2021 +0100 + + shared-qmi: add missing feature check flag initialization to UNKNOWN + + (cherry picked from commit 1a5f90f15bda7b939c75c6b8c7d0022c8f919b42) + + src/mm-shared-qmi.c | 1 + + 1 file changed, 1 insertion(+) + +commit 2f42f208ba9dc2a29548e8f7010d08fd45b3bee0 +Author: Aleksander Morgado +Date: Mon Mar 15 14:58:12 2021 +0100 + + shared-qmi: rename feature check variables + + We want the "extended_lte_band_preference" with the "nas_ssp" prefix, + as we're going to add more checks for SSP features. + + (cherry picked from commit 67b64eb7eeab5c50381014945cfbd73ebc4cbe11) + + src/mm-shared-qmi.c | 68 + ++++++++++++++++++++++++++--------------------------- + 1 file changed, 34 insertions(+), 34 deletions(-) + +commit fb0670637687d77cd8de584dcf7961d76c17e9b1 +Author: Aleksander Morgado +Date: Thu Mar 11 10:33:00 2021 +0100 + + bearer-mbim: plug MbimDevice leak in disconnection context + + (cherry picked from commit a772b70632008d6c375487a8e711b80bb343a931) + + src/mm-bearer-mbim.c | 1 + + 1 file changed, 1 insertion(+) + +commit 00ee27b075562814f0a9eee386d033245abf981d +Author: Aleksander Morgado +Date: Tue Mar 2 17:18:39 2021 +0100 + + broadband-modem-qmi: use updated system info API if libqmi >= 1.29.2 + + (cherry picked from commit b509229d5747434be06e17af26c33fd8072a55f9) + + src/mm-broadband-modem-qmi.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +commit f776e6ba27f4ffa4d722a48ec1c86ea3e0566dea +Author: Aleksander Morgado +Date: Tue Mar 2 15:02:37 2021 +0100 + + build: post-release version bump to 1.16.3 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 52df1aa4b938e0dbbdfd780befa54fce3bfdf875 +Author: Aleksander Morgado +Date: Tue Mar 2 14:45:57 2021 +0100 + + release: bump version to 1.16.2 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 35962825c035651df39f698c2bef0e5049deab00 +Author: Aleksander Morgado +Date: Tue Mar 2 14:45:33 2021 +0100 + + NEWS: update for 1.16.2 + + NEWS | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 64ea5d1e8170ad8de8432024f5137d63d2395663 +Author: Aleksander Morgado +Date: Mon Mar 1 16:02:33 2021 +0100 + + libmm-glib,tests: include string.h explicitly + + For strlen() + + (cherry picked from commit 438ff54d0308427dd629e2dbb43b12dc7295873b) + + libmm-glib/tests/test-common-helpers.c | 1 + + 1 file changed, 1 insertion(+) + +commit d8539adbe211ad6b20749df24bb5be403b25a0f7 +Author: Aleksander Morgado +Date: Mon Mar 1 15:56:14 2021 +0100 + + modem-helpers-mbim: include string.h explicitly + + For strstr() + + (cherry picked from commit da0e610f5f020775e32f43b3343a02d864492224) + + src/mm-modem-helpers-mbim.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit ef6e6c5303efe613479dae655962c6395321aed3 +Author: Aleksander Morgado +Date: Mon Mar 1 15:55:22 2021 +0100 + + utils: import ptr array lookup with GEqualFunc from GLib 2.54 + + This fixes the build when using GLib < 2.54. + + (cherry picked from commit a9611c62793377d8da08e4cb5e9cb71f5afda22e) + + src/Makefile.am | 2 +- + src/kerneldevice/mm-kernel-device-generic.c | 1 + + src/mm-plugin-manager.c | 1 + + src/mm-utils.c | 47 + +++++++++++++++++++++++++++++ + src/mm-utils.h | 14 +++++++++ + 5 files changed, 64 insertions(+), 1 deletion(-) + +commit f1f1a7e25e007116a1eeb6284d7989218c80289c +Author: Aleksander Morgado +Date: Fri Feb 26 11:16:59 2021 +0100 + + shared-qmi: network registration cancellation logic with asserts + disabled + + g_assert() calls may be disabled, and if so, the network registration + task would never get completed. + + (cherry picked from commit c7d366671f749689c143f7effe2a183eb710def9) + + src/mm-shared-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4f7ee18d1cf1ce21bba3f2701e408ae83108b3de +Author: Aleksander Morgado +Date: Thu Feb 25 15:17:45 2021 +0100 + + libmm-glib,bearer-properties: fix 'allow roaming' comparison + + Fix the 'allow roaming' setting comparison, which was breaking the + whole bearer properties comparison logic, and therefore making + Simple.Connect() recreate over and over the bearer with the same + settings. + + Fixes 5629f47a59b48f2604fd8e9e4af7209b138aef21 + + (cherry picked from commit f10e4af919df8b92b5680e646a16a490fa80d9c3) + + libmm-glib/mm-bearer-properties.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bf8a6c41754046b12b4f65d1c0c3569e3f26c793 +Author: Aleksander Morgado +Date: Tue Feb 23 12:19:52 2021 +0100 + + build: post-release version bump to 1.16.1 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7a5a49b75301b38c2bac6a94de5afb2f9930cf4e +Author: Aleksander Morgado +Date: Tue Feb 23 11:35:50 2021 +0100 + + release: bump version to 1.16.0 + + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 7a5eae2a36e9a544bfdffdfa57af76cf60b97bae +Author: Aleksander Morgado +Date: Tue Feb 23 11:11:57 2021 +0100 + + NEWS: update for 1.16.0 + + NEWS | 145 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 145 insertions(+) + +commit bbd3638d1233efbe05993bf79aa48ada97589724 +Author: Aleksander Morgado +Date: Tue Feb 23 11:22:18 2021 +0100 + + build: require libqmi 1.28.0 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a546201470ee1067be5494ab5f678016bb2bc2ec +Author: Aleksander Morgado +Date: Mon Feb 22 15:04:43 2021 +0100 + + bearer-mbim: IP type may be reported as deactivated and still have + IP settings + + If we were requesting for IPv4v6 and we only got IPv4 reported as + activated, we would right away ignore the IPv6 bits, even if we + received IPv6 settings later on when querying for them. Change that, + so that if an IP address of a given type is received, we assume the + corresponding context was really activated even if the modem didn't + report it in the connect set response. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/320 + + src/mm-bearer-mbim.c | 61 + +++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 41 insertions(+), 20 deletions(-) + +commit 29d9dc7e0cd9b80e0b75f9833b6bb896c78eda33 +Author: Aleksander Morgado +Date: Wed Feb 17 15:38:50 2021 +0100 + + api,introspection: flag as DEPRECATED the 'number' bearer setting + + This setting is unused since some releases ago, and the corresponding + libmm-glib methods were already flagged as deprecated. Let's add an + explicit mention to this deprecation on the DBus API itself. + + introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 3 ++- + introspection/org.freedesktop.ModemManager1.Modem.xml | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 6dd5ced86d80c695be9898b9ac4ea3e50ff64f32 +Author: Aleksander Morgado +Date: Wed Feb 17 15:31:08 2021 +0100 + + libmm-glib,simple-connect-properties: add missing APIs to get/set + RM protocol + + Probably not a big deal, since no one has asked for these in the past + years, but let's add them for completeness with the DBus API. + + docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++ + libmm-glib/mm-simple-connect-properties.c | 37 + +++++++++++++++++++++++ + libmm-glib/mm-simple-connect-properties.h | 21 +++++++------ + 3 files changed, 51 insertions(+), 9 deletions(-) + +commit c4f215c9cb2d8497e7ebfea2904563526bb08d90 +Author: Aleksander Morgado +Date: Wed Feb 17 15:21:49 2021 +0100 + + libmm-glib,bearer-properties: consume 'rm-protocol' setting + + libmm-glib/mm-bearer-properties.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 69926d93357cc0ed7280586abee1e6871e0894cc +Author: Yegor Yefremov +Date: Mon Feb 15 17:53:39 2021 +0100 + + examples: modem-watcher: get rid of global variables + + Move the code into the main() routine and pass main_loop as + a parameter to the signal handler. + + examples/modem-watcher-python/modem-watcher-python | 25 + ++++++++++++++-------- + 1 file changed, 16 insertions(+), 9 deletions(-) + +commit e685ce9ce51f5f1e18ab3f42106715fd659ed2c6 +Author: Yegor Yefremov +Date: Mon Feb 15 17:53:38 2021 +0100 + + examples: ModemWatcher: convert comments in the doc strings + + Move comments under the class and method definitions. + + Also rework boolean handling. + + examples/modem-watcher-python/ModemWatcher.py | 52 + +++++++++++++-------------- + 1 file changed, 25 insertions(+), 27 deletions(-) + +commit 8bf1869f3c5b69e90b1cef21a04c77ff67f717cc +Author: Yaron Shahrabani +Date: Mon Feb 8 16:37:47 2021 +0000 + + po: add Hebrew translation + + po/LINGUAS | 1 + + po/he.po | 105 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 106 insertions(+) + +commit b2f9771b8559c9cb877d1f44189b390b9704bc1e +Author: Aleksander Morgado +Date: Mon Feb 15 00:43:15 2021 +0100 + + broadband-modem-mbim: detect 5G support in custom data class + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/301 + + src/mm-broadband-modem-mbim.c | 11 ++++++++--- + src/mm-modem-helpers-mbim.c | 11 +++++++++-- + src/mm-modem-helpers-mbim.h | 5 +++-- + 3 files changed, 20 insertions(+), 7 deletions(-) + +commit 3a32409000ad584ec67b0ddd43b312a37ea5a369 +Author: Yegor Yefremov +Date: Sat Feb 13 17:19:13 2021 +0100 + + examples: network-scan: enable modem before the network scan + + Otherwise we get the following exception: + + Traceback (most recent call last): + File "/root/network-scan-python", line 57, in + networks = modem3gpp.scan_sync() + gi.repository.GLib.Error: mm_core_error_quark: + GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: + Cannot scan networks: not enabled yet (8) + + examples/network-scan-python/network-scan-python | 4 ++++ + 1 file changed, 4 insertions(+) + +commit c7d0defddeb03a372fb885eab3480cc56f10115b +Author: Yegor Yefremov +Date: Sat Feb 13 17:19:12 2021 +0100 + + examples: network-scan: resolve PEP8 issues + + Use autopep8 utility to resolve issues like spaces before brackets + and wrong hanging indentation. + + Also treat objects like boolean variables to check whether they are + None or not. + + examples/network-scan-python/network-scan-python | 24 + ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +commit f3f05f397a7f08272718ee9a2ee75799a44e7bfb +Author: Aleksander Morgado +Date: Sun Feb 14 23:31:35 2021 +0100 + + device: avoid trying to remove source multiple times + + ModemManager[115879]: [1613341789.760031] [modem3] + completely disposed + + (ModemManager:115879): GLib-CRITICAL **: 23:29:49.760: Source ID + 2379 was not found when attempting to remove it + + Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint + trap. + 0x00007ffff774b343 in g_logv () from /usr/lib/libglib-2.0.so.0 + (gdb) + (gdb) bt + #0 0x00007ffff774b343 in g_logv () at /usr/lib/libglib-2.0.so.0 + #1 0x00007ffff774b5c0 in g_log () at /usr/lib/libglib-2.0.so.0 + #2 0x00007ffff7741c9e in g_source_remove () at + /usr/lib/libglib-2.0.so.0 + #3 0x00005555555aad02 in dispose (object=0x555555831260) + at mm-device.c:802 + #4 0x00007ffff7843755 in g_object_unref () at + /usr/lib/libgobject-2.0.so.0 + #5 0x00005555555a5107 in glib_autoptr_clear_MMDevice + (_ptr=0x555555831260) at mm-device.h:63 + #6 0x00005555555a5125 in glib_autoptr_cleanup_MMDevice + (_ptr=0x7fffffffe090) at mm-device.h:63 + #7 0x00005555555a59ab in device_removed (self=0x555555769220, + subsystem=0x55555577dc50 "tty", name=0x555555869a40 "ttyUSB3") + at mm-base-manager.c:237 + #8 0x00005555555a620d in handle_uevent (self=0x555555769220, + action=0x5555558987b0 "remove", device=0x555555893840) at + mm-base-manager.c:445 + #9 0x00007ffff7381acd in () at /usr/lib/libffi.so.7 + #10 0x00007ffff738103a in () at /usr/lib/libffi.so.7 + #11 0x00007ffff783c8fe in g_cclosure_marshal_generic () at + /usr/lib/libgobject-2.0.so.0 + #12 0x00007ffff7837072 in g_closure_invoke () at + /usr/lib/libgobject-2.0.so.0 + #13 0x00007ffff785fa85 in () at /usr/lib/libgobject-2.0.so.0 + #14 0x00007ffff78535dd in g_signal_emit_valist () at + /usr/lib/libgobject-2.0.so.0 + #15 0x00007ffff7853b40 in g_signal_emit () at + /usr/lib/libgobject-2.0.so.0 + #16 0x00007ffff7e792aa in () at /usr/lib/libgudev-1.0.so.0 + #17 0x00007ffff7742b84 in g_main_context_dispatch () at + /usr/lib/libglib-2.0.so.0 + #18 0x00007ffff7796c21 in () at /usr/lib/libglib-2.0.so.0 + #19 0x00007ffff77420d3 in g_main_loop_run () at + /usr/lib/libglib-2.0.so.0 + #20 0x00005555555a1df4 in main (argc=2, argv=0x7fffffffea88) + at main.c:213 + + src/mm-device.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 7159b8e27ac47af706e0c2e4d4f77460dce7881e +Author: Dylan Van Assche +Date: Sun Jan 31 15:38:31 2021 +0100 + + context: add test-no-suspend-resume cli parameter + + Disables suspend/resume support at runtime. + This is useful for modems which are never turned off + or suspended when the host suspends. + + src/main.c | 10 +++++++--- + src/mm-context.c | 18 ++++++++++++++++++ + src/mm-context.h | 11 +++++++---- + 3 files changed, 32 insertions(+), 7 deletions(-) + +commit 12329ac7880b5a43eed8b7b2c4b932c544f43898 +Author: Aleksander Morgado +Date: Sat Feb 13 11:24:24 2021 +0100 + + examples,python: ignore scan operation in modems without 3GPP + interface + + Traceback (most recent call last): + File + "/home/aleksander/Development/foss/ModemManager/examples/network-scan-python/./network-scan-python", + line 46, in + modem3gpp.set_default_timeout(300000) + AttributeError: 'NoneType' object has no attribute + 'set_default_timeout' + + examples/network-scan-python/network-scan-python | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit dd3310132f135e57c4d45827c8750920f7dbe5ee +Author: Aleksander Morgado +Date: Sat Feb 13 11:12:49 2021 +0100 + + examples,python: fix undefined NameError in modem watcher example + + $ ./modem-watcher-python + [ModemWatcher] ModemManager 1.15.0 service is available in bus + [ModemWatcher] QUALCOMM INCORPORATED (0) modem + managed by ModemManager [863974040050058]: + /org/freedesktop/ModemManager1/Modem/0 + [ModemWatcher] Sierra Wireless Inc. (Sierra Wireless EM7345 + 4G LTE) modem managed by ModemManager [013937003110648]: + /org/freedesktop/ModemManager1/Modem/1 + Traceback (most recent call last): + File + "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/./modem-watcher-python", + line 35, in + watcher = ModemWatcher.ModemWatcher() + File + "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py", + line 48, in __init__ + self.on_name_owner(self.manager, None) + File + "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py", + line 85, in on_name_owner + self.set_available() + File + "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py", + line 64, in set_available + self.on_object_added(self.manager, obj) + File + "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py", + line 101, in on_object_added + modem_index(obj.get_object_path())) + NameError: name 'modem_index' is not defined + + examples/modem-watcher-python/ModemWatcher.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 16d1cf33183d376fa6cb8925e42c77b2e86be2d9 +Author: Yegor Yefremov +Date: Sat Feb 13 09:40:05 2021 +0100 + + examples: rework imports + + Remove unused imports and fix import sorting using isort utility. + + examples/modem-watcher-python/ModemWatcher.py | 6 +++--- + examples/modem-watcher-python/modem-watcher-python | 6 ++++-- + examples/network-scan-python/network-scan-python | 6 ++++-- + examples/sms-python/sms-python | 6 ++++-- + 4 files changed, 15 insertions(+), 9 deletions(-) + +commit 6107774bb21e55028b87a7d3f23762324410543b +Author: Aleksander Morgado +Date: Sun Jan 17 14:13:40 2021 +0100 + + filter: add missing reference to rpmsg filter + + src/mm-filter.c | 1 + + 1 file changed, 1 insertion(+) + +commit 8838546631958d88ecd0c72c557102876f5b87e4 +Author: Aleksander Morgado +Date: Fri Feb 5 14:56:59 2021 +0100 + + README: add CoC info + + README | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit e732a9afcc8e662df14a7fb5c78a1023705d5ff1 +Author: Andrew Lassalle +Date: Tue Feb 2 13:50:51 2021 -0800 + + broadband-modem-qmi: remove unused variables + + src/mm-broadband-modem-qmi.c | 1 - + 1 file changed, 1 deletion(-) + +commit 52b44aeb4956a223ce9edcb596a896413b4d69fc +Author: Andrew Lassalle +Date: Tue Feb 2 13:43:16 2021 -0800 + + cinterion: remove unused variables + + plugins/cinterion/mm-broadband-modem-cinterion.c | 2 -- + plugins/cinterion/mm-modem-helpers-cinterion.c | 1 - + 2 files changed, 3 deletions(-) + +commit 66010ed17e71714f35bb34a66cc53e1102a28651 +Author: Lukas Senger +Date: Thu Jan 14 15:22:19 2021 +0100 + + simtech: fix updating bitmask during gps disabling + + During disabling of gps sources the bitmask that keeps track of + them is + updated incorrectly. Instead of removing the current source, all other + sources are removed from the mask. + + One problem that arises from this is, that when you enable GPS + after it + has been disabled completely (e.g. by disabling all GPS sources), the + code will not send a "+CGPS=1,1" command because it incorrectly + assumes + that GPS is still enabled on the device. + + plugins/simtech/mm-shared-simtech.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 268bf4f98af0adeef703f02469e47259c73be91e +Author: Aleksander Morgado +Date: Sun Jan 17 10:33:45 2021 +0100 + + core: update copyright years to 2021 + + cli/mmcli.c | 2 +- + docs/reference/api/ModemManager-docs.xml | 1 + + docs/reference/libmm-glib/libmm-glib-docs.xml | 1 + + src/mm-context.c | 2 +- + 4 files changed, 4 insertions(+), 2 deletions(-) + +commit 6c0c67d6f0a65af416448236f07cdccfd1993dd8 +Author: Aleksander Morgado +Date: Sat Jan 16 17:44:42 2021 +0100 + + doc: skip running gtkdoc-rebase on local install step + + We can leave the relative paths to other books (e.g. '../glib' or + '../ModemManager') because running gtkdoc-rebase seems to be broken + since the 1.29 release, see: + + https://gitlab.gnome.org/GNOME/gtk-doc/-/issues/138 + + gtk-doc.make | 1 - + 1 file changed, 1 deletion(-) + +commit 38267952284ded86bb0ea7ca9139236bc80556a3 +Author: Aleksander Morgado +Date: Sat Jan 16 17:42:36 2021 +0100 + + docs: add 'online-location' references + + So that the gtkdoc-rebase step fixes the URLs to contain the correct + links; e.g.: + + $ make dist V=s + make[8]: Entering directory + '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib' + make \ + top_distdir="../../../ModemManager-1.15.0" + distdir="../../../ModemManager-1.15.0/docs/reference/libmm-glib" + \ + dist-hook + ../ModemManager/ -> + https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/ + (914) + ../gio/ -> https://developer.gnome.org/gio/unstable/ (2564) + ../glib/ -> https://developer.gnome.org/glib/unstable/ (5534) + ../gobject/ -> https://developer.gnome.org/gobject/unstable/ (499) + make[8]: Leaving directory + '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib' + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/298 + + docs/reference/api/ModemManager-docs.xml | 2 ++ + docs/reference/libmm-glib/libmm-glib-docs.xml | 2 ++ + 2 files changed, 4 insertions(+) + +commit d1bc67936539b1cf59f07f8f168486263b0005f5 +Author: Aleksander Morgado +Date: Sat Jan 16 15:37:35 2021 +0100 + + build: add new RELEASING doc explaining how releases are made + + RELEASING | 37 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +commit 9c353cf6f0a7650cfe1b914d6881890de9dff0b0 +Author: Louis-Alexis Eyraud +Date: Fri Jan 15 15:14:58 2021 +0100 + + zte: add 1 second delay after sim unlock to avoid IMSI reading issue + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/306 + + Signed-off-by: Louis-Alexis Eyraud + + plugins/zte/mm-broadband-modem-zte.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +commit 89cd1696c3a105f314b1a7e275c68377ed6df5e4 +Author: Frederic Martinsons +Date: Thu Nov 12 10:48:11 2020 +0100 + + tools: add unit test for test-modemmanager-service.py + + The tests spawn the service via GTestDBus framework and make + some test API call while checking libmm interface to verify + that informations are well propagated. + + To be able to use the fresh built libmm typelib, I used a + wrapper script to set GI_TYPELIB_PATH (because DBus activation + process clean the environment so it is not possible to set + it directly in the file). + + This requires also the install of libgirepository-dev and python3-gi + in the CI docker. + + Signed-off-by: Frederic Martinsons + + .gitignore | 4 + + .gitlab-ci.yml | 4 +- + configure.ac | 2 + + tools/Makefile.am | 2 + + tools/tests/Makefile.am | 46 +++ + .../org.freedesktop.ModemManager1.service.in | 3 + + tools/tests/test-stub.c | 459 + +++++++++++++++++++++ + tools/tests/test-wrapper.sh.in | 5 + + 8 files changed, 523 insertions(+), 2 deletions(-) + +commit 17ea1dfa130001599b7dff421a1b7d71c25faa34 +Author: Aleksander Morgado +Date: Sun Jan 10 15:13:45 2021 +0100 + + docs: add MMBearerPropertiesCmpFlags to ignored list + + docs/reference/libmm-glib/libmm-glib-sections.txt | 1 + + 1 file changed, 1 insertion(+) + +commit d12ab8a25a60323a753e3437c81a984a503deb40 +Author: Aleksander Morgado +Date: Mon Jan 11 14:18:36 2021 +0100 + + iface-modem: avoid leaking the MmGdbusModem when bearers are updated + + See See + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302 + + src/mm-iface-modem.c | 1 + + 1 file changed, 1 insertion(+) + +commit 102de14c15b1c278988de376d03262bcb078211d +Author: Aleksander Morgado +Date: Mon Jan 11 14:13:28 2021 +0100 + + telit: plug GPS data port leak + + The _get_port_gps() returns a full reference, use _peek_port_gps() + instead. + + See + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302 + + plugins/telit/mm-broadband-modem-telit.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8f465d44a5f40e1594db4f06b98b2436539a47bf +Author: Timo Jyrinki +Date: Fri Jan 8 15:34:57 2021 +0200 + + po: add Finnish translation + + Translation by JRfi: + https://l10n.gnome.org/vertimus/ModemManager/master/po/fi/ + + po/LINGUAS | 1 + + po/fi.po | 116 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 117 insertions(+) + +commit 8ccd63ef64d8bcc39ac67457674b85c8fe42c265 +Author: Andrew Lassalle +Date: Fri Jan 8 10:49:34 2021 -0800 + + test-sms-part-cdma: fix memory leak + + src/tests/test-sms-part-cdma.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 18b72a046e89d00d7e7b9f2d718c43d64e595de0 +Author: Frederic Martinsons +Date: Sun Dec 20 18:11:06 2020 +0100 + + mmcli: don't assume that mm_object_peek_modem or mm_object_get_modem + return non null + + This very peculiar case can happen when an intermediate initiliazition + step + of a modem fails. + + The ModemManager daemon should always expose the modem interface + but let not + assume that in mmcli and protect these calls. + + Signed-off-by: Frederic Martinsons + + cli/mmcli-common.c | 4 +++- + cli/mmcli-manager.c | 9 +++++++-- + 2 files changed, 10 insertions(+), 3 deletions(-) + +commit 2f53a08e5f1eef8c1892dc55f32fbacba85565a0 +Author: Frederic Martinsons +Date: Sun Dec 20 18:07:44 2020 +0100 + + iface-modem: don't consider charset setup failure as fatal. + + On some modem (for example SORACOM SC-QGLC4-C1) , the character + set setup + step fails with "Unknown error" when the SIM card is missing or + locked. + This leads to not expose Modem interface and not being able to + unlocked + the SIM. + We should not consider this step as fatal but just issue a warning + to let + other steps continue (which will let modem in failed state anyway). + + Closes #289 + + Signed-off-by: Frederic Martinsons + + src/mm-iface-modem.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +commit 3d4dd64dd03622ae5d335f0111c54e184de120c7 +Author: Aleksander Morgado +Date: Tue Dec 1 23:26:42 2020 +0100 + + broadband-modem-qmi: disable signal/access-tech polling if indications + enabled + + We can rely on QMI indications when the signal quality and access tech + changes happen, instead of doing explicit polling. + + The modem will run the signal quality retrieval once, and then just + rely on indications, with polling disabled: + + ModemManager[278759]: [1606862198.230492] [modem1] signal + strength (lte): -79 dBm + ModemManager[278759]: [1606862198.230520] [modem1] signal + strength: -79 dBm --> 55% + ModemManager[278759]: [1606862198.230583] [modem1] access + technology changed (unknown -> lte) + ModemManager[278759]: [1606862198.230654] [modem1] signal + quality updated (55) + ModemManager[278759]: [1606862198.230675] [modem1] periodic + signal quality and access technology checks not rescheduled: + unneeded or unsupported + ModemManager[278759]: [1606862198.230692] [modem1] periodic + signal checks disabled + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/231 + + src/mm-broadband-modem-qmi.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +commit 47f39c9e1a9f37758027dd5072caafe224351089 +Author: Aleksander Morgado +Date: Tue Dec 1 22:55:56 2020 +0100 + + broadband-modem-qmi: fix disabling of signal strength events + + Attempting to disable the signal strength events was failing because + the protocol handler expects a valid set of thresholds also during the + disabling. So, just pass always the thresholds. + + ModemManager[274522]: [/dev/cdc-wdm1] sent generic request + (translated)... + <<<<<< QMUX: + <<<<<< length = 17 + <<<<<< flags = 0x00 + <<<<<< service = "nas" + <<<<<< client = 3 + <<<<<< QMI: + <<<<<< flags = "none" + <<<<<< transaction = 7 + <<<<<< tlv_length = 5 + <<<<<< message = "Set Event Report" (0x0002) + <<<<<< TLV: + <<<<<< type = "Signal Strength Indicator" (0x10) + <<<<<< length = 2 + <<<<<< value = 00:00 + <<<<<< translated = [ report = 'no' thresholds = '{}' ] + + ModemManager[274522]: [/dev/cdc-wdm1] received generic response + (translated)... + <<<<<< QMUX: + <<<<<< length = 19 + <<<<<< flags = 0x80 + <<<<<< service = "nas" + <<<<<< client = 3 + <<<<<< QMI: + <<<<<< flags = "response" + <<<<<< transaction = 7 + <<<<<< tlv_length = 7 + <<<<<< message = "Set Event Report" (0x0002) + <<<<<< TLV: + <<<<<< type = "Result" (0x02) + <<<<<< length = 4 + <<<<<< value = 01:00:08:00 + <<<<<< translated = FAILURE: NoThresholdsProvided + + src/mm-broadband-modem-qmi.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit da159587992d91d61040544fe961a60ef756cf89 +Author: Aleksander Morgado +Date: Tue Dec 1 22:43:35 2020 +0100 + + broadband-modem-qmi: reload initial EPS bearer on data system updates + + src/mm-broadband-modem-qmi.c | 225 + +++++++++++++++++++++++++++++++------------ + 1 file changed, 162 insertions(+), 63 deletions(-) + +commit 2d9b62d23b6abbeea4833bbcb431d0e2adaf04aa +Author: Aleksander Morgado +Date: Tue Dec 1 22:43:16 2020 +0100 + + iface-modem-3gpp: allow requesting the reload of the initial EPS + bearer + + src/mm-iface-modem-3gpp.c | 35 +++++++++++++++++++++++++++++++++++ + src/mm-iface-modem-3gpp.h | 1 + + 2 files changed, 36 insertions(+) + +commit 5629f47a59b48f2604fd8e9e4af7209b138aef21 +Author: Aleksander Morgado +Date: Mon Nov 30 21:51:32 2020 +0100 + + libmm-glib,bearer-properties: allow loose comparisons + + When comparing bearer properties provided by the user versus loaded + from the modem, we shouldn't be very strict, e.g.: + * Password or other fields may not be readable from the device. + * Some fields may not apply at all (e.g. RM protocol for EPS bearers) + * NULL strings could be assumed equal to empty strings. + * If no explicit IP type specified, an IPv4 default may be assumed. + * If no explicit allowed auth specified, 'none' default may be + assumed. + + These loose comparisons are applied when managing the initial EPS + bearer settings and status, and we keep the strict comparison only + during the connection attempt lookup of a bearer with certain + settings, as those bearer objects are all created in the same place + with the same rules. + + libmm-glib/mm-bearer-properties.c | 101 + ++++++++++++++++++++++++++++++++++---- + libmm-glib/mm-bearer-properties.h | 13 ++++- + src/mm-bearer-list.c | 6 ++- + src/mm-iface-modem-3gpp.c | 23 ++++++--- + 4 files changed, 123 insertions(+), 20 deletions(-) + +commit c99cc9210e7a93be1b572d686f5acdeb0160dd3f +Author: Aleksander Morgado +Date: Mon Nov 30 16:05:52 2020 +0100 + + iface-modem-3gpp: log requested/updates initial EPS bearer settings + + src/mm-iface-modem-3gpp.c | 44 + ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 44 insertions(+) + +commit 5613215db8e5b3d4bbd7d3e6ad937b342ccd4c76 +Author: Aleksander Morgado +Date: Sun Nov 29 22:41:08 2020 +0100 + + broadband-modem-qmi: implement initial EPS bearer settings loading + and setting + + src/mm-broadband-modem-qmi.c | 469 + +++++++++++++++++++++++++++++++++++++++++++ + src/mm-modem-helpers-qmi.c | 51 +++++ + src/mm-modem-helpers-qmi.h | 8 +- + 3 files changed, 526 insertions(+), 2 deletions(-) + +commit 527b4e3232a611bde1cab6e6302924fb65f453a7 +Author: Aleksander Morgado +Date: Sun Nov 29 22:08:04 2020 +0100 + + broadband-modem-qmi: implement initial EPS bearer info loading + + src/mm-broadband-modem-qmi.c | 75 + ++++++++++++++++++++++++++++++++++++++++++++ + src/mm-modem-helpers-qmi.c | 15 +++++++++ + src/mm-modem-helpers-qmi.h | 1 + + 3 files changed, 91 insertions(+) + +commit 295400688acc4d670a1f7c58d45359bb891bf44d +Author: Aleksander Morgado +Date: Sun Nov 29 21:55:48 2020 +0100 + + broadband-modem-qmi: allocate a generic WDS client + + For generic WDS operations not tied to any connection attempt. + + src/mm-broadband-modem-qmi.c | 79 + +++++++++----------------------------------- + 1 file changed, 15 insertions(+), 64 deletions(-) + +commit 7b52efda3421f09ddb5dd4ae65d3d03b7e952490 +Author: Aleksander Morgado +Date: Mon Nov 30 10:35:32 2020 +0100 + + build: require libqmi 1.27.3 to support initial EPS management + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0729ba5c88eb038e60ffbe3faf9431e9650f7ca1 +Author: Aleksander Morgado +Date: Thu Nov 26 23:30:56 2020 +0100 + + broadband-modem-mbim: plug memleak when processing USSD in GSM7 + + src/mm-broadband-modem-mbim.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 7f88280929c350b087751e71e56e81b9b88d3495 +Author: Aleksander Morgado +Date: Sun Nov 22 16:55:22 2020 +0100 + + altair: make sure parse_vendor_pco_info() always returns an error + + The parse_vendor_pco_info() method was returning NULL without error if + the pco info string was empty. + + Under this situation, the code would have tried to add a NULL MMPco + into the pco_list list, which is not desired. + + Avoid this, by making sure a NULL return always sets an error. + + plugins/altair/mm-broadband-modem-altair-lte.c | 6 +++++- + plugins/altair/mm-modem-helpers-altair-lte.c | 6 ++++-- + 2 files changed, 9 insertions(+), 3 deletions(-) + +commit 243272c11178e68914d7cc2dcfdc28248edb2aa7 +Author: Aleksander Morgado +Date: Mon Dec 14 09:58:59 2020 +0100 + + cinterion: add AT primary/secondary port type hints for PLS8 + + plugins/cinterion/77-mm-cinterion-port-types.rules | 2 ++ + 1 file changed, 2 insertions(+) + +commit ba4b3f60b7605441bb127be231eab49450c29404 +Author: Aleksander Morgado +Date: Mon Dec 14 09:58:15 2020 +0100 + + cinterion: add QCDM and GPS port type hints for PLS62 + + plugins/cinterion/77-mm-cinterion-port-types.rules | 20 + ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 067b09c8358ad92ff0ca3c266d0229e9518069d0 +Author: Aleksander Morgado +Date: Mon Dec 14 09:35:02 2020 +0100 + + cinterion: add PLS83 port type hints + + plugins/cinterion/77-mm-cinterion-port-types.rules | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit bee8a391bf46e33f8378504f71c4e087d7a82fb5 +Author: Aleksander Morgado +Date: Sun Dec 13 17:33:11 2020 +0100 + + broadband-modem-mbim: ignore MS SAR notifications explicitly + + SAR service will be introduced in the stable libmbim 1.26.0, but it's + been flagged in the dev 1.25.1 version already. + + src/mm-broadband-modem-mbim.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 8072ed2d6f4240ceb7b66f5e618192fd54ea94b2 +Author: Torsten Hilbrich +Date: Wed Dec 2 12:46:32 2020 +0100 + + broadband-modem-mbim: Add MM_BROADBAND_MODEM_MBIM_QMI_UNSUPPORTED + + This property (initially set to FALSE) controls whether QMI over MBIM + should never be considered. This property is set to TRUE for XMM-based + MBIM devices as they don't support QMI. + + This fixes a probing delay of 15s on a Fibocom L850-GL device + (2cb7:0007) found in the Lenovo T14 Gen 1. + + The establishing of a QMI connection was refused multiple time with + MBIM error OperationNotAllowed. Only the timeout of 15s for this + connection resumed the probing. + + The properties in the MMBroadbandModemMbim are only installed when + WITH_QMI and QMI_MBIM_QMUX_SUPPORTED are set. Actually, this + should only + disable the PROP_QMI_UNSUPPORTED but as this is the only property this + avoids the "unused variable 'self'" warnings/errors when trying to + compile set_property and get_property without QMI support. This can be + changed once other properties are needed. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/284 + + plugins/xmm/mm-broadband-modem-mbim-xmm.c | 3 ++ + src/mm-broadband-modem-mbim.c | 71 + ++++++++++++++++++++++++++++++- + src/mm-broadband-modem-mbim.h | 2 + + 3 files changed, 75 insertions(+), 1 deletion(-) + +commit f80c8d8be6a22accb71f06b33f53daed3d255bec +Author: Aleksander Morgado +Date: Tue Dec 1 22:59:32 2020 +0100 + + broadband-modem-qmi: fix reporting of signal strength indications + + We had all the logic in place... but we were never actually enabling + the signal strength indications because the `enable` flag in the + context was never set. + + The bug was introduced back in May 2018, and released with 1.10.0. + + Fixes baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd + + src/mm-broadband-modem-qmi.c | 1 + + 1 file changed, 1 insertion(+) + +commit d531992897fe4a99005da03e83c818dd138a06d5 +Author: Dylan Van Assche +Date: Sun Nov 29 15:59:49 2020 +0100 + + tests: added parse ERROR response test + + src/tests/test-at-serial-port.c | 75 + ++++++++++++++++++++++++++++++++--------- + 1 file changed, 60 insertions(+), 15 deletions(-) + +commit c15d103ca62cec7287764f1b5d0d3316ac891ce5 +Author: Dylan Van Assche +Date: Sun Nov 29 15:59:21 2020 +0100 + + serial-parsers: also match ERROR responses that are not at end of line + + Do not fail to detect an error response with a call or text + incoming. This happens during port probing when there's no URC + parsers installed in the serial port. This probably will not happen + when the serial port was managed by the modem object.w + + src/mm-serial-parsers.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit c05580ca9a69b491042921d2fe40383fde1657ea +Author: Dylan Van Assche +Date: Fri Nov 27 18:46:42 2020 +0100 + + tests: added parse OK response test + + src/tests/test-at-serial-port.c | 42 + +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +commit 750fb2bc4ab9bdc779a9e3919d74c64059b9e963 +Author: Dylan Van Assche +Date: Wed Nov 25 19:58:25 2020 +0100 + + serial-parsers: also match OK responses that are not at end of line + + Do not fail to detect a valid response with a call or text incoming. + This happens also during port probing when there's no URC parsers + installed in the serial port. This probably will not happen when the + serial port was managed by the modem object. + + src/mm-serial-parsers.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 446d497040f5e71a1d6a842b82cdab07ef54a0fa +Author: Eric Caruso +Date: Mon Nov 30 09:25:10 2020 -0800 + + introspection: fix Bearer documentation + + If e.g. a bearer with IPv6 configuration has DNS servers but exports + its link-local address, MM will avoid giving it the "static" method + type, and instead fall back to the "dhcp" type. However, it may + still have DNS information. Therefore, the comment that "method" is + the only property on configuration with type DHCP is misleading. + + introspection/org.freedesktop.ModemManager1.Bearer.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 756894bc7682250821c3b80e96fea66d73a3e837 +Author: Dylan Van Assche +Date: Fri Nov 27 18:07:02 2020 +0100 + + build: Allow elogind for suspend/resume support + + configure.ac | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 1f0c04644dd48b086bc00f9765f94342f3badc3f +Author: Pavan Holla +Date: Mon Nov 23 20:24:05 2020 +0000 + + base-sim: Reprobe modem if puk lock is discovered after sending pin1 + + Enabling/Disabling/Changing/Sending the PIN1 lock is usually + limited to + 3 retries. If these attempts are exhausted, the modem is puk_locked. + We reprobe the modem to get rid of any unwanted interfaces and move + to a locked state. + + src/mm-base-sim.c | 33 ++++++++++++++++++++++++++------- + 1 file changed, 26 insertions(+), 7 deletions(-) + +commit 38f6704fa1d6f602be84bcbf016b3386ac82c426 +Author: Pavan Holla +Date: Mon Nov 23 17:52:17 2020 +0000 + + base-sim: Reprobe modem if lock status cannot be read after sending + puk + + If the lock status cannot be read during a puk unblock attempt, + reprobe + the modem. It is likely that the SIM was permanently blocked if + the lock + status cannot be read. + + src/mm-base-modem.c | 2 +- + src/mm-base-modem.h | 2 +- + src/mm-base-sim.c | 37 ++++++++++++++++++++++++++----------- + src/mm-broadband-modem.c | 2 +- + src/mm-device.c | 1 + + src/mm-iface-modem.c | 5 ++++- + 6 files changed, 34 insertions(+), 15 deletions(-) + +commit 92c86e2b1bcdaab991d89bdd8f670b248c246bae +Author: Thomas Dendale +Date: Mon Nov 23 09:04:50 2020 +0000 + + huawei: add GPS port type hints for Huawei ME906e + + plugins/huawei/77-mm-huawei-net-port-types.rules | 2 ++ + 1 file changed, 2 insertions(+) + +commit 935e73c8dfc8ad557100005baa506439526a702e +Author: Aleksander Morgado +Date: Sun Nov 22 14:34:07 2020 +0100 + + build: fix build with single plugins + + We need to quote arguments with [] so that lists are not expanded as + different arguments. + + Fixes 65560dd8854f01eec1b28587c37d544bfff360d3 + + m4/mm-enable-plugin.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6e0380c165cb7ab2a464ee4cf117e8e6caa4fe25 +Author: Aleksander Morgado +Date: Thu Nov 19 12:51:58 2020 +0100 + + base-modem: order ports by name by default + + When there are multiple ports with the same purpose (e.g. multiple net + data ports, or multiple QMI control ports), sort them by name by + default. + + The port order does not make any difference for ports that have + flagged with a specific purpose (e.g. AT primary). + + The sorting is done both in the internal lists and when looking up + ports with find_ports(). + + src/mm-base-modem.c | 141 + ++++++++++++++++++++++++++-------------------------- + 1 file changed, 71 insertions(+), 70 deletions(-) + +commit 65560dd8854f01eec1b28587c37d544bfff360d3 +Author: Aleksander Morgado +Date: Thu Nov 19 12:00:34 2020 +0100 + + build: qcom-soc plugin by default disabled + + It will not be automatically enabled by the implicit + --enable-all-plugins; instead, it must be explicitly enabled with + --enable-plugin-qcom-soc. + + This plugin only makes sense under very specific SoC builds, so there + is no point in always building it by default. It should be explicitly + requested only in those SoC builds that are really going to make use + of it (e.g. postmarketOS). + + configure.ac | 2 +- + m4/mm-enable-plugin.m4 | 22 ++++++++++++++++++---- + 2 files changed, 19 insertions(+), 5 deletions(-) + +commit 9065e3b22777c5c811a2239de6353ecd3baade5d +Author: Stephan Gerhold +Date: Wed Nov 4 18:20:39 2020 +0100 + + qcom-soc: simplify port type hint rules + + plugins/qcom-soc/77-mm-qcom-soc.rules | 19 ++++--------------- + 1 file changed, 4 insertions(+), 15 deletions(-) + +commit 8fc60754dd1df91560a3123454df1ad0ecf0ac92 +Author: Aleksander Morgado +Date: Thu Oct 22 12:48:35 2020 +0200 + + qcom-soc: new plugin for Qualcomm SoCs + + This plugin implements support for old Qualcomm SoCs like the MSM8916 + or the MSM8974, where: + * control ports are available via RPMSG channels exported as devices + e.g. with rpmsgexport: + https://github.com/andersson/rpmsgexport + * network ports are exposed by the bam-dmux kernel driver: + https://github.com/msm8916-mainline/linux/commits/bam-dmux + + Adding support for newer Qualcomm SoCs (e.g. QRTR+IPA) could be done + in a similar way on this very same plugin. + + This plugin is the first and only one that implements support for a + modem device that is "built in" the system, as opposed to external + modems that may be available via USB or PCI. + + The ID_MM_PHYSDEV_UID based udev tags provided by the plugin provide + the logic to bind all the SoC ports together in the same modem object, + and therefore ID_MM_PHYSDEV_UID should not be used by users to + override the ones set by the plugin. + + All "rpmsg[0-9]*" ports that are considered part of the modem are + flagged as candidate, ignoring the parent "rpmsg_ctrl[0-9]*" ports on + purpose. This setup therefore assumes that the channels have been + exported already as devices (e.g. using rpmsgexport). + + libqmi 1.27.2 is required to support the "WDS Bind Data Port" message. + + .gitlab-ci.yml | 2 +- + configure.ac | 4 +- + plugins/Makefile.am | 25 ++++ + plugins/qcom-soc/77-mm-qcom-soc.rules | 46 +++++++ + plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c | 133 + +++++++++++++++++++++ + plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.h | 49 ++++++++ + plugins/qcom-soc/mm-plugin-qcom-soc.c | 92 ++++++++++++++ + plugins/qcom-soc/mm-plugin-qcom-soc.h | 40 +++++++ + plugins/tests/test-udev-rules.c | 11 ++ + 9 files changed, 400 insertions(+), 2 deletions(-) + +commit cab4b54ad106caadb7f70025348f0aab5522bde4 +Author: Aleksander Morgado +Date: Sun Oct 25 14:23:29 2020 +0100 + + core: new 'rpmsg' subsystem + + Most older Qualcomm SoCs (e.g. MSM8916, MSM8974, ...) communicate with + the integrated modem via shared memory (SMD channels). This is similar + to QRTR on newer SoCs, but without the "network" layer. In fact, the + older SoCs also have QRTR, but the modem QMI services are not exposed + there. + + The mainline Linux kernel exposes SMD channels via the "remote + processor + messaging bus" (rpmsg). Through special IOCTL calls it is possible to + create a char device for a rpmsg/SMD channel. We can then use these to + send QMI/AT messages to the modem, much like the ordinary serial char + devices when using a Qualcomm modem through USB. + + This commit introduces support for the new 'rpmsg' subsystem, which + allows exporting QMI-capable and AT-capable ports. + + By default NO rpmsg port is flagged as candidate, it is assumed that + the plugin adding support for the rpmsg subsystem will add specific + rules to do so (e.g. so that non-modem ports are explicitly not + flagged as candidate). + + All rpmsg ports will be probed for AT or QMI capabilities, unless + explicit port type hints (e.g. ID_MM_PORT_TYPE_QMI or + ID_MM_PORT_TYPE_AT_PRIMARY) are set. + + These changes are highly based on the initial integration work done by + Stephan Gerhold in postmarketOS, see: + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/363 + + cli/mmcli-manager.c | 2 +- + src/mm-base-modem.c | 18 ++++++++++++++++-- + src/mm-filter.c | 7 +++++++ + src/mm-filter.h | 23 ++++++++++++++--------- + src/mm-plugin.c | 5 +++++ + src/mm-port-probe.c | 26 +++++++++++++++++--------- + src/mm-port.h | 4 ++-- + 7 files changed, 62 insertions(+), 23 deletions(-) + +commit 3d12272d183061c11cd80bfe96ae89898f4c081c +Author: Aleksander Morgado +Date: Fri Oct 30 10:05:24 2020 +0100 + + kerneldevice: allow loading port attributes + + In addition to loading port and device properties, we now also allow + loading sysfs properties that are assumed to be static (i.e. their + values won't change since loaded the first time). + + src/kerneldevice/mm-kernel-device-generic.c | 37 ++++++++++++++++++++ + src/kerneldevice/mm-kernel-device-udev.c | 30 ++++++++++++++++ + src/kerneldevice/mm-kernel-device.c | 54 + +++++++++++++++++++++++++++++ + src/kerneldevice/mm-kernel-device.h | 9 +++++ + 4 files changed, 130 insertions(+) + +commit 399a042dad2e2c5cca9e0cfe0af6d41ae1fb0c35 +Author: Aleksander Morgado +Date: Sun Oct 25 15:11:02 2020 +0100 + + bearer-qmi: support binding to data port + + Allow plugins to specify a QmiSioPort value to bind to. This is used + e.g. in the RPMSG+BAM-DMUX setup in order to allow any RPMSG port to + control all the available net ports. + + src/mm-bearer-qmi.c | 73 + +++++++++++++++++++++++++++++++++++++++++++- + src/mm-broadband-modem-qmi.c | 9 ++++-- + src/mm-broadband-modem-qmi.h | 3 ++ + 3 files changed, 82 insertions(+), 3 deletions(-) + +commit 3be07bb38db2f1295d5ef240232ac046a579808b +Author: Aleksander Morgado +Date: Fri Nov 20 00:36:04 2020 +0100 + + tests,cdma: test CDMA SMS with different text lengths + + src/tests/test-sms-part-cdma.c | 38 + ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +commit 7ac42e76482acd687464f9dca2ef3ac7b67825a1 +Author: David Leonard +Date: Wed Aug 26 14:19:28 2020 +1000 + + sms: fix 7-bit ASCII SMS decoding + + Fixes an issue where (5+8n)-character long SMS messages received on a + CDMA network would be dropped with a "cannot read user data" error, + while other length SMS messages would be delivered fine. + + Fix thanks to Peter Hunt + + src/mm-sms-part-cdma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c3bc515b8a8eb77b3517cc96827fa48573459dd8 +Author: Aleksander Morgado +Date: Thu Nov 19 15:52:20 2020 +0100 + + base-manager: never create kernel device objects for remove events + + There is no point in creating a new kernel device object just to + process a remove event; instead, do any matching with existing + kernel device objects by subsystem and name, which is what the generic + backend already did anyway. + + This avoids unnecessary lookup of information in sysfs during removal + events, because the port is anyway already gone when we try to look + those up. + + src/mm-base-manager.c | 104 + +++++++++++++++++++++++++++++++------------------- + src/mm-device.c | 73 ++++++++++++++++++++++++++++------- + src/mm-device.h | 21 ++++++---- + 3 files changed, 138 insertions(+), 60 deletions(-) + +commit 047805348db1fdaac4c24b6ea4f4d382e6bc03c8 +Author: Aleksander Morgado +Date: Sat Nov 14 23:17:00 2020 +0100 + + iface-modem-firmware: allow plugins to ignore carrier info + + Skip building the firmware version information with carrier config + information if the plugin already knows that the firmware upgrade + method doesn't implement carrier-specific upgrade paths. + + src/mm-broadband-modem.c | 14 +++++++++++++- + src/mm-iface-modem-firmware.c | 43 + ++++++++++++++++++++++++++++++------------- + src/mm-iface-modem-firmware.h | 3 ++- + 3 files changed, 45 insertions(+), 15 deletions(-) + +commit c7016f8933a265d9cb325b9d65eab4eecaffd0e4 +Author: Aleksander Morgado +Date: Sat Nov 14 22:37:16 2020 +0100 + + iface-modem-firmware: report generic IDs for both USB and PCI devices + + Instead of assuming that all modules supporting firmware upgrade are + USB based. + + src/mm-iface-modem-firmware.c | 42 + +++++++++++++++++++++++++++++------------- + 1 file changed, 29 insertions(+), 13 deletions(-) + +commit 9533ee2f22a6795d5eea6c88038fef7f02b631e3 +Author: Andrew Lassalle +Date: Sun Nov 15 06:49:42 2020 -0800 + + mm-plugin-manager: Fix typos + + Change-Id: I662061384cf48abd0975e15a91b090aa6b33ac34 + + src/mm-plugin-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e112896994454d357861619c7db87fcea8b2d2fb +Author: Aleksander Morgado +Date: Mon Nov 9 00:36:13 2020 +0100 + + base-manager: allow forcing the testing without udev + + Even if udev support is really built and available. + + This is extremely useful to test the udev-less setup without fully + recompiling the whole daemon. + + E.g.: the daemon can be run like this: + $ sudo /usr/sbin/ModemManager --debug --test-no-udev + + And then, the kernel events may be reported using mmcli like this: + $ sudo mmcli --report-kernel-event-auto-scan + + src/mm-base-manager.c | 52 + +++++++++++++++++++++++++++------------------------ + src/mm-context.c | 21 +++++++++++++++++++++ + src/mm-context.h | 3 +++ + 3 files changed, 52 insertions(+), 24 deletions(-) + +commit 6e642418bb36c627b9ad6185b36f78216ecaccfe +Author: Aleksander Morgado +Date: Mon Nov 9 21:30:36 2020 +0100 + + kerneldevice,generic: use regex to implement string matching + + Instead of the custom simple implementation which only supported the + '*' modifier in the pattern. This allows us to support e.g. attribute + value matches like e.g. 'DATA[0-9]*_CNTL'. + + src/kerneldevice/mm-kernel-device-generic.c | 57 + ++++++++++++----------------- + 1 file changed, 24 insertions(+), 33 deletions(-) + +commit cca83392f09a2a67178203d493656c4355863106 +Author: Aleksander Morgado +Date: Mon Nov 9 12:11:43 2020 +0100 + + kerneldevice,generic: implement ATTRS matching for any attribute + + Until now we did not support ATTRS{} matches against attributes we + don't support in the core codebase. Implement now a simple lookup + mechanism which traverses the tree of sysfs path from the port sysfs + path to the physical device sysfs path, looking up the attribute + requested. + + This is not completely equivalent to what udev does, because the udev + rules matching ATTRS would usually also include an additional previous + matching e.g. SUBSYSTEMS and such, so that the ATTRS is looked up + exactly in the device that also matches the additional previous + rules. In our case, we just simplify the logic and return the first + one found. + + src/kerneldevice/mm-kernel-device-generic.c | 38 + +++++++++++++++++++++++++++-- + 1 file changed, 36 insertions(+), 2 deletions(-) + +commit 769ba3cee6fa7c985069165ee4ace99c356df949 +Author: Aleksander Morgado +Date: Mon Nov 9 11:39:11 2020 +0100 + + kerneldevice,generic: fix DRIVERS and SUBSYSTEMS checks + + We were applying the DRIVERS check looking only at the single port + driver. Instead, we now lookup and cache all drivers found in the + device tree, and apply the loose DRIVERS check properly looking at all + of them. + + We were applying the SUBSYSTEMS and SUBSYSTEM check looking at the + sysfs path and just hoping the subsystem we're looking for is included + in the path itself. Instead, we now lookup and cache all susystems + found in the device tree, and apply the loose SUBSYSTEMS check + properly looking at all of them. + + E.g. we can now match SUBSYSTEMS="mhi_q" in the following device tree, + without needing it to be found in the sysfs path: + + looking at device + '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0/1001_00.01.00_MBIM/mhi_uci_q/mhi_MBIM': + SUBSYSTEM=="mhi_uci_q" + looking at parent device + '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0/1001_00.01.00_MBIM': + SUBSYSTEMS=="mhi_q" + looking at parent device + '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0': + SUBSYSTEMS=="pci" + + src/kerneldevice/mm-kernel-device-generic.c | 176 + ++++++++++++++++++++-------- + 1 file changed, 127 insertions(+), 49 deletions(-) + +commit ba361f41c497acc81e03d66455db002045db623f +Author: Aleksander Morgado +Date: Mon Nov 9 11:03:48 2020 +0100 + + kerneldevice,generic: support PCI device common attribute names + + The vendor and product IDs stored for the MMKernelDevice object in the + PCI subsystem are mapped to the "vendor" and "device" attributes. + + src/kerneldevice/mm-kernel-device-generic.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d3a7f701350fc45d590bbc25b84c29549ebd7afd +Author: Aleksander Morgado +Date: Mon Nov 9 00:14:19 2020 +0100 + + kerneldevice,generic: preload port info based on the system bus + + The generic backend implementation was really based on detecting USB + devices, not so much devices in other subsystems. This patch puts the + generic backend at the same level as the udev backend to support + non-USB modems. + + src/kerneldevice/mm-kernel-device-generic.c | 497 + +++++++++++++++------------- + 1 file changed, 262 insertions(+), 235 deletions(-) + +commit bc895067ec5b4acfb71693bfbf73bae9c55a7552 +Author: Aleksander Morgado +Date: Sun Nov 8 21:57:49 2020 +0100 + + kerneldevice,udev: preload port info based on the system bus + + USB, PCI, PCMCIA... all these different system buses expose modems in + different ways. Instead of having single methods to attempt to load + different things for all these device types, detect first which is the + system bus in use, and then perform a bus-specific operation to + preload the different things. + + src/kerneldevice/mm-kernel-device-udev.c | 542 + +++++++++++++------------------ + 1 file changed, 220 insertions(+), 322 deletions(-) + +commit 4550dcfbdf2e1c8c4db0d7b7260144fb653c095d +Author: Aleksander Morgado +Date: Tue Nov 3 10:29:50 2020 +0100 + + kerneldevice: no need to subclass the type getters + + We can just subclass the methods to check whether a given property + exists and to get it as a string, and then implement in the generic + class the actual boolean/int/hex type getters common for all. + + src/kerneldevice/mm-kernel-device-generic.c | 42 +------- + src/kerneldevice/mm-kernel-device-udev.c | 148 + +++++----------------------- + src/kerneldevice/mm-kernel-device.c | 49 +++++---- + src/kerneldevice/mm-kernel-device.h | 15 +-- + 4 files changed, 59 insertions(+), 195 deletions(-) + +commit 1e1fe8fb9c9b02de5f29f33bd46575d4d88f1464 +Author: Aleksander Morgado +Date: Tue Nov 3 10:16:11 2020 +0100 + + kerneldevice: remove all unneeded g_return_if_fail() checks + + These kind of checks are only useful on public APIs really, there + should be no need to have them in internal code. + + src/kerneldevice/mm-kernel-device-generic.c | 51 -------------------- + src/kerneldevice/mm-kernel-device-udev.c | 72 + ++++------------------------- + src/kerneldevice/mm-kernel-device.c | 57 ----------------------- + 3 files changed, 8 insertions(+), 172 deletions(-) + +commit 5d150ed23e122c06e1a4add0ca9c6f7e07502a17 +Author: Aleksander Morgado +Date: Tue Nov 10 23:01:10 2020 +0100 + + core,plugins: consolidate connection/disconnection timeout values + + Each different plugin or protocol had a different connection attempt + value. E.g. QMI and MBIM both used 60s max for the connection attempt, + while the u-blox plugin had up to 180s for ECM based connection + setups. + + This commit consolidates all plugins and protocols to use the same + timeout values for commands that may take long to respond, e.g. a + connection atempt under low signal quality conditions. + + A value of 180s for the connection attempt steps and 120s for a + disconnection attempt step is considered. Note, though, that in some + cases (like a IPv4v6 setup attempt using QMI) we may have more than + one such long step, so this doesn't mean that a connection attempt + will always take less than 180s. + + Users of the connection/disconnection APIs should be able to handle + the case where the attempt times out in their side (e.g. with a lower + DBus request timeout), and which would not mean the actual request + they did really failed. E.g. a connection attempt with a DBus timeout + of 30s may fail in the user with a timeout error, but the attempt + would still go on for as much as the plugin/protocol needs. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/270 + + plugins/altair/mm-broadband-bearer-altair-lte.c | 4 ++-- + plugins/cinterion/mm-broadband-bearer-cinterion.c | 4 ++-- + plugins/huawei/mm-broadband-bearer-huawei.c | 10 +++++----- + plugins/icera/mm-broadband-bearer-icera.c | 10 +++++----- + plugins/iridium/mm-bearer-iridium.c | 2 +- + plugins/mbm/mm-broadband-bearer-mbm.c | 6 +++--- + plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++-- + plugins/option/mm-broadband-bearer-hso.c | 4 ++-- + plugins/sierra/mm-broadband-bearer-sierra.c | 4 ++-- + plugins/ublox/mm-broadband-bearer-ublox.c | 6 +++--- + src/mm-base-bearer.h | 11 +++++++++++ + src/mm-bearer-mbim.c | 6 +++--- + src/mm-bearer-qmi.c | 12 ++++++------ + src/mm-broadband-bearer.c | 4 ++-- + 14 files changed, 49 insertions(+), 38 deletions(-) + +commit da77dc7152b76728de0ce63cedf96ceb30f37046 +Author: Aleksander Morgado +Date: Sun Oct 25 07:20:30 2020 +0100 + + plugin: build probing needs based on subsystem + + Don't rely on the QMI or MBIM ports named cdc-wdm, use the device + subsystem instead. + + src/mm-plugin.c | 20 ++++++-------------- + 1 file changed, 6 insertions(+), 14 deletions(-) + +commit 71f5c975430b0455e7ca81b2d2d1bef0174d0be2 +Author: Aleksander Morgado +Date: Sat Oct 24 15:40:57 2020 +0200 + + base-manager: automatic required subsystem detection + + Instead of assuming we require a fixed set of subsystems to monitor, + compile the full list based on what the plugins have requested + themselves. + + src/mm-base-manager.c | 62 +++++++++++++------------------ + src/mm-plugin-manager.c | 98 + ++++++++++++++++++++++++++++++++++--------------- + src/mm-plugin-manager.h | 1 + + src/mm-plugin.c | 6 +++ + src/mm-plugin.h | 1 + + 5 files changed, 103 insertions(+), 65 deletions(-) + +commit 950abbf8ee8624827d63a0d0186beac81232e8f6 +Author: Aleksander Morgado +Date: Fri Nov 6 12:27:40 2020 +0100 + + core: stop monitoring the 'usb' subsystem + + Back in Linux < 3.6 days, the cdc-wdm ports exposed by the QMI driver + were flagged as owned by the 'usb' subsystem. That changed in 3.6 when + the subsystem was renamed to 'usbmisc': + + https://mail.gnome.org/archives/networkmanager-list/2012-June/msg00125.html + + This patch removes all monitoring of the 'usb' subsystem completely, + which is anyway a valid subsystem but for which we shouldn't need any + special handling. Right now, with newer kernels, we were using that + monitoring exclusively to get notified of full USB device remove + events, which is really not required as we already process the port + removals one by one. + + We simplify the logic everywhere that attempted to match either the + 'usb' or 'usbmisc' subsystems, and we no longer require the explicit + checks for the port name being named 'cdc-wdm[0-9]*' in the code, as + that is already taken care of by the ID_MM_CANDIDATE udev tag rule. + + plugins/anydata/mm-plugin-anydata.c | 2 +- + plugins/broadmobi/mm-plugin-broadmobi.c | 2 +- + plugins/cinterion/mm-plugin-cinterion.c | 2 +- + plugins/dell/mm-plugin-dell.c | 2 +- + plugins/dlink/mm-plugin-dlink.c | 2 +- + plugins/fibocom/mm-plugin-fibocom.c | 2 +- + plugins/foxconn/mm-plugin-foxconn.c | 2 +- + plugins/generic/mm-plugin-generic.c | 2 +- + plugins/gosuncn/mm-plugin-gosuncn.c | 2 +- + plugins/huawei/mm-plugin-huawei.c | 5 +- + plugins/mbm/mm-plugin-mbm.c | 2 +- + plugins/novatel/mm-plugin-novatel.c | 2 +- + plugins/pantech/mm-plugin-pantech.c | 2 +- + plugins/quectel/mm-plugin-quectel.c | 2 +- + plugins/sierra/mm-plugin-sierra.c | 2 +- + plugins/simtech/mm-plugin-simtech.c | 2 +- + plugins/telit/mm-plugin-telit.c | 2 +- + plugins/tplink/mm-plugin-tplink.c | 2 +- + plugins/x22x/mm-plugin-x22x.c | 2 +- + plugins/zte/mm-plugin-zte.c | 2 +- + src/80-mm-candidate.rules | 3 +- + src/mm-base-manager.c | 142 + +++++++------------------------- + src/mm-base-modem.c | 2 +- + src/mm-filter.c | 2 +- + src/mm-plugin.c | 4 - + src/mm-port-probe.c | 2 +- + 26 files changed, 55 insertions(+), 143 deletions(-) + +commit 519df2544b04ccbc9cf87fbfbdbbaf44edeef75b +Author: Frederic Martinsons +Date: Tue Nov 10 16:48:22 2020 +0100 + + tools: add new system daemon stub tester application + + This script mock some of ModemManager DBus interfaces (main object, + Modem, Sim), + it also adds a test interface + "org.freedesktop.ModemManager1.LibmmGlibTest" + which allow to inject some errors and simulate behavior: + - Add a modem object + - Emit modem state changed + - Set modem error + + This script also add the possibility to log in a file for debugging + purpose. + Because the stdout/stderr are not shown when the program is spawned + by DBus + auto activation. + + Note: Script is heavily inspired from test-networkmanager-service.py + from + NetworkManager project + + Signed-off-by: Frederic Martinsons + + Makefile.am | 1 + + configure.ac | 1 + + tools/Makefile.am | 1 + + tools/test-modemmanager-service.py | 490 + +++++++++++++++++++++++++++++++++++++ + 4 files changed, 493 insertions(+) + +commit 06f75500dbc3f471bf0c40221bbfb5f970f65f32 +Author: Aleksander Morgado +Date: Mon Nov 9 00:43:33 2020 +0100 + + base-manager: log kernel event handling failures + + Don't just return the error to the client, we want this info in the + daemon log as well. + + src/mm-base-manager.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 37b3771ef5003adb1797c29deceb6500ebe60e6d +Author: Aleksander Morgado +Date: Mon Nov 9 11:54:58 2020 +0100 + + kerneldevice,generic: plug cached string leaks + + Both 'physdev_subsystem' and 'interface_description' were leaking. + + src/kerneldevice/mm-kernel-device-generic.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 5b91e489ebc2a19fda20b07583f494041331d047 +Author: Aleksander Morgado +Date: Wed Oct 21 18:22:15 2020 +0200 + + port-qmi: expected kernel data format is qmi_wwan specific + + The qmi_wwan driver is the only one that allows switching between + 802.3 and raw-ip during runtime, and therefore we must not assume that + every QMI port managed allows to do so, we'll limit that feature only + to QMI ports in the 'usbmisc' subsystem. + + For every other port, we assume the kernel expects raw-ip by default, + and so we include logic to switch the modem to raw-ip both using WDA + and CTL (WDA preferred over CTL). This assumption may not be perfect, + but it's probably a good guess, as raw-ip is the preferred and + sometimes the only format supported by new devices. + + src/mm-port-qmi.c | 172 + +++++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 120 insertions(+), 52 deletions(-) + +commit 799c4c72ce1494c8e094c091aa2d20ab62e4a569 +Author: Aleksander Morgado +Date: Sun Oct 25 14:10:45 2020 +0100 + + port-qmi: allow specifying input subsystem + + We have assumed until now that all QMI ports are based on the + qmi_wwan driver, exposed in the 'usbmisc' subsystem by the cdc-wdm + driver. + + This may no longer be true, so allow creating QMI ports with + an explicit subsystem instead of defaulting always to USBMISC. + + src/mm-base-modem.c | 2 +- + src/mm-port-probe.c | 3 ++- + src/mm-port-qmi.c | 5 +++-- + src/mm-port-qmi.h | 34 +++++++++++++++++----------------- + 4 files changed, 23 insertions(+), 21 deletions(-) + +commit 7faa3a5e2518765bb3683c26ecdf3155046424b0 +Author: Aleksander Morgado +Date: Sun Oct 25 14:05:50 2020 +0100 + + port-mbim: allow specifying input subsystem + + We have assumed until now that all MBIM ports are based on the + cdc_mbim driver, exposed in the 'usbmisc' subsystem by the cdc-wdm + driver. + + This may no longer be true, so allow creating MBIM ports with + an explicit subsystem instead of defaulting always to USBMISC. + + src/mm-base-modem.c | 2 +- + src/mm-port-mbim.c | 5 +++-- + src/mm-port-mbim.h | 3 ++- + src/mm-port-probe.c | 3 ++- + 4 files changed, 8 insertions(+), 5 deletions(-) + +commit 4ec2db75b8fc1175c12d007ca64d2edcf630e3cc +Author: Aleksander Morgado +Date: Mon Nov 9 12:31:03 2020 +0100 + + port-serial-qcdm: allow specifying input subsystem + + We have assumed until now that all QCDM ports are based on TTY + drivers, e.g. exposed via USB. + + This may no longer be true, so allow creating QCDM ports with + an explicit subsystem instead of defaulting always to TTY. + + src/mm-base-modem.c | 2 +- + src/mm-port-probe.c | 2 +- + src/mm-port-serial-qcdm.c | 5 +++-- + src/mm-port-serial-qcdm.h | 3 ++- + 4 files changed, 7 insertions(+), 5 deletions(-) + +commit 56fca1447324f6ac47f2c7e7c9534c49f1bf1da3 +Author: Aleksander Morgado +Date: Sun Oct 25 09:06:41 2020 +0100 + + base-modem: refactor port grabbing logic + + Split in its own method the per-subsystem port creation mechanism, and + apply all common AT port settings (e.g. response parser, flags) in a + single place. + + src/mm-base-modem.c | 344 + +++++++++++++++++++++++----------------------------- + 1 file changed, 152 insertions(+), 192 deletions(-) + +commit 2a6b596bcfa83a91d93c07046dc067f1e1d08a6c +Author: Aleksander Morgado +Date: Sun Oct 25 13:53:26 2020 +0100 + + port-serial-at: skip validating input subsystem argument + + This check is pointless given that we're not implementing API, if + anything it should be an assert. Anyway, just get rid of it, so that + we don't need to update it on every new subsystem we add as supported. + + src/mm-port-serial-at.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit f052e914c84ef3a60d0cb9ddce3f77006e59a586 +Author: Aleksander Morgado +Date: Fri Nov 6 12:01:53 2020 +0100 + + port: rename subsystem from 'usb' to 'usbmisc' + + Back in Linux < 3.6 days, the cdc-wdm ports exposed by the QMI driver + were flagged as owned by the 'usb' subsystem. That changed in 3.6 when + the subsystem was renamed to 'usbmisc': + + https://mail.gnome.org/archives/networkmanager-list/2012-June/msg00125.html + + So, rename the port subsystem type enumn to 'usbmisc'. + + plugins/huawei/mm-broadband-modem-huawei.c | 4 ++-- + src/mm-base-modem.c | 2 +- + src/mm-broadband-modem-mbim.c | 2 +- + src/mm-broadband-modem-qmi.c | 2 +- + src/mm-port-mbim.c | 2 +- + src/mm-port-probe.c | 2 +- + src/mm-port-qmi.c | 2 +- + src/mm-port-serial-at.c | 2 +- + src/mm-port.h | 2 +- + 9 files changed, 10 insertions(+), 10 deletions(-) + +commit c92dc21a18e6e79de2195bf6d2ec821c7f6195ef +Author: Aleksander Morgado +Date: Sat Oct 24 09:29:39 2020 +0200 + + api: new ID_MM_PORT_TYPE_QMI and ID_MM_PORT_TYPE_MBIM udev hints + + It is no longer true that all QMI ports are exposed by the qmi_wwan + driver and that all MBIM ports are exposed by the cdc_mbim driver. + There are other generic setups that allow exposing these types of + ports using different drivers, and usually we can also know the type + of port in advance via other means. Therefore, allow adding udev port + type hints for QMI and MBIM ports as well. + + docs/reference/api/ModemManager-docs.xml | 4 +++ + docs/reference/api/ModemManager-sections.txt | 2 ++ + include/ModemManager-tags.h | 30 ++++++++++++++++++ + src/mm-port-probe.c | 46 + ++++++++++++++++++++++------ + 4 files changed, 73 insertions(+), 9 deletions(-) + +commit e01c8b379cbd77b7085e40f9448df68b368faae2 +Author: Aleksander Morgado +Date: Sat Oct 24 10:38:40 2020 +0200 + + broadband-modem-qmi: peek QMI port from any subsystem + + No longer has to be bound to the USB subsystem. + + src/mm-broadband-modem-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b8cbc87249b3f85cd5b2ce5ca7d75e9a4739b4c6 +Author: Aleksander Morgado +Date: Thu Oct 22 12:28:26 2020 +0200 + + broadband-modem-qmi: allow subclassing the match of control vs + net ports + + By default we provide the implementation for the qmi_wwan driver, + where both control and net ports share the same USB interface. + + src/mm-broadband-modem-qmi.c | 32 ++++++++++++++++++++++++++++---- + src/mm-broadband-modem-qmi.h | 4 ++++ + 2 files changed, 32 insertions(+), 4 deletions(-) + +commit b8f6fb59ed3f9c314c6b13b0830c0930c718902d +Author: Aleksander Morgado +Date: Thu Oct 22 12:07:09 2020 +0200 + + broadband-modem-qmi: peeking QMI port only in QMI modems + + Move the logic out of the base modem, and make it applicable only for + QMI modems. + + src/mm-base-modem.c | 79 ------------------------------ + src/mm-base-modem.h | 8 ---- + src/mm-bearer-qmi.c | 2 +- + src/mm-broadband-modem-qmi.c | 109 + ++++++++++++++++++++++++++++++++++++++++-- + src/mm-broadband-modem-qmi.h | 17 +++++-- + src/mm-iface-modem-firmware.c | 6 ++- + src/mm-iface-modem.c | 6 ++- + src/mm-sim-qmi.c | 3 +- + src/mm-sms-qmi.c | 3 +- + 9 files changed, 133 insertions(+), 100 deletions(-) + +commit 0dbb8d03f59d0db8cf6be63020b78289c3168154 +Author: Aleksander Morgado +Date: Sat Oct 24 10:39:29 2020 +0200 + + broadband-modem-mbim: peek MBIM port from any subsystem + + No longer has to be bound to the USB subsystem. + + src/mm-broadband-modem-mbim.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 85d549ef0066f1a47d15c40e4857033bea82e4c2 +Author: Aleksander Morgado +Date: Thu Oct 22 12:32:06 2020 +0200 + + broadband-modem-mbim: allow subclassing the match of control vs + net ports + + By default we provide the implementation for the cdc_mbim driver, + where both control and net ports share the same USB interface. + + src/mm-broadband-modem-mbim.c | 32 ++++++++++++++++++++++++++++---- + src/mm-broadband-modem-mbim.h | 4 ++++ + 2 files changed, 32 insertions(+), 4 deletions(-) + +commit 6defec2faed9e796584dd9b519ab777f9019d31b +Author: Aleksander Morgado +Date: Thu Oct 22 11:52:46 2020 +0200 + + broadband-modem-mbim: peeking MBIM port only in MBIM modems + + Move the logic out of the base modem, and make it applicable only for + MBIM modems. + + src/mm-base-modem.c | 80 ----------------------------- + src/mm-base-modem.h | 8 --- + src/mm-bearer-mbim.c | 2 +- + src/mm-broadband-modem-mbim.c | 116 + +++++++++++++++++++++++++++++++++++++++--- + src/mm-broadband-modem-mbim.h | 17 +++++-- + src/mm-iface-modem-firmware.c | 8 ++- + src/mm-iface-modem.c | 7 ++- + src/mm-sim-mbim.c | 3 +- + src/mm-sms-mbim.c | 3 +- + 9 files changed, 138 insertions(+), 106 deletions(-) + +commit ca0dbd07288d67c91e7018819cdd4aa36d57cf2a +Author: Aleksander Morgado +Date: Thu Oct 22 11:09:00 2020 +0200 + + plugin: network interface force ignore rules for certain drivers only + + The rules to force ignoring certain network ports because the modem is + using some specific drivers should definitely only be applied for the + very known qmi_wwan and cdc_mbim drivers. + + If network ports for QMI or MBIM modems are exposed using different + network drivers, don't ignore them. + + src/mm-plugin.c | 107 + ++++++++++++++++++++++++++++++-------------------------- + 1 file changed, 58 insertions(+), 49 deletions(-) + +commit 5aa7632e88f70f678b4d88d3bab6d4b1b2def1d1 +Author: Aleksander Morgado +Date: Wed Oct 21 13:02:50 2020 +0200 + + port-probe: avoid subsystem based checks when reading probe results + + There should be no need to do an early check to filter out ports of + the wrong subsystem. + + For the user of these methods it is irrelevant if the FALSE is + returned because the port is of the wrong subsystem, or because the + test wasn't added to be probed, or because the test actually failed. + + In other words, the ports where the test succeeded will only have + succeeded if they are of the correct subsystem and if the test was + actually executed successfully. + + src/mm-port-probe.c | 82 + +++++++++-------------------------------------------- + 1 file changed, 13 insertions(+), 69 deletions(-) + +commit 50c69d540341733dfee031282e5d8e18ebc814cb +Author: Aleksander Morgado +Date: Sun Nov 8 09:22:09 2020 +0100 + + build: fix distcheck with new gtk-doc + + The .actions file is generated by newer gtk-doc releases, we just + treat it as e.g. the .signals or .types files. + + This is also already fixed in upstream gtk-doc: + https://gitlab.gnome.org/GNOME/gtk-doc/-/merge_requests/61 + + .gitignore | 1 + + docs/reference/libmm-glib/Makefile.am | 1 + + 2 files changed, 2 insertions(+) + +commit f874b0f6b701acccdc93991c0f857bc78e67d045 +Author: Aleksander Morgado +Date: Sun Nov 8 09:10:39 2020 +0100 + + build: update builtin gtk-doc support + + From gtkdocize (gtk-doc) 1.33.0. + + gtk-doc.make | 103 + ++++++++++++++++++++++++++++++++++------------------------ + m4/gtk-doc.m4 | 27 ++++++++++++++- + 2 files changed, 86 insertions(+), 44 deletions(-) + +commit 904adbfb5e07e538516c26b8467c2238fc2718e9 +Author: Aleksander Morgado +Date: Sun Nov 8 08:10:45 2020 +0100 + + build: do not require xsltproc when building from a release tarball + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/276 + + configure.ac | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 3bda0562b94aa56177f0e481cd29e4149f5a531d +Author: Aleksander Morgado +Date: Sun Nov 8 09:29:20 2020 +0100 + + build: don't remove ModemManager-names.h on 'clean' + + The ModemManager-names.h header file is generated on git builds, and + shipped within the release tarball, so treat it as a maintainer + managed file that should only be removed on 'maintainer-clean'. + + This allows us to avoid requiring xsltproc to build release tarballs. + + include/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5df9ddac183d52d71ee5b0c079a32560aa07eb04 +Author: Aleksander Morgado +Date: Fri Nov 6 12:14:49 2020 +0100 + + filter: simplify CDC_WDM rule to a subsystem-only USBMISC check + + This is not just a rename of the rule, we also now avoid doing an + explicit check on the port name as well, and we rely on subsystem + checks only; i.e. the same logic applied for net ports. + + The port candidate rules already do a 'cdc-wdm*' device name check + so it shouldn't be a big deal. + + docs/reference/api/ModemManager-overview.xml | 16 ++++++++-------- + src/mm-filter.c | 9 ++++----- + src/mm-filter.h | 10 +++++----- + 3 files changed, 17 insertions(+), 18 deletions(-) + +commit 5265c0bd7c3bc28a0d77c836f691d0b0fca2fa0f +Author: Aleksander Morgado +Date: Thu Oct 29 23:41:28 2020 +0100 + + modem-helpers-qmi: don't check result when parsing UIM Get Card + Status Output + + Do it earlier, before running the parser. + + src/mm-broadband-modem-qmi.c | 7 +++---- + src/mm-modem-helpers-qmi.c | 5 ----- + 2 files changed, 3 insertions(+), 9 deletions(-) + +commit d7288861a595db7f07b8ecf6bdc30d957b8b6843 +Author: Andrew Lassalle +Date: Tue Nov 3 12:36:31 2020 -0800 + + mm-kernel-device: Fix cmp to exclude subtypes + + If multiple kernel device types inherit from MMKernerDevice, and those + are compared against each other, the current logic returns TRUE if the + G_OBJECT_TYPE of one of them is smaller than the other. This + function is + checking for equality, so returning FALSE is enough. + + src/kerneldevice/mm-kernel-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 30f0824ea1473f5d63a27fa4c8095a5b2858ee2d +Author: Aleksander Morgado +Date: Wed Aug 12 13:11:27 2020 +0200 + + huawei: apply GETPORTMODE hints to serial ports in order + + The numbers associated to each port mode given by the AT^GETPORTMODE + response are not USB interface numbers, they are 'port numbers'. + Moreover, these numbers may start either at 0 or at 1, depending on + the firmware. + + The only reasonable way to parse this response is to just gather the + order of all the port modes reported, and apply the modes to each + serial port found in the system in the same order. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/239 + + plugins/huawei/mm-plugin-huawei.c | 139 + +++++++++++++++++--------------------- + 1 file changed, 63 insertions(+), 76 deletions(-) + +commit 4fdf28bb56ec30c73de35cef270b787afa7ceaa7 +Author: Aleksander Morgado +Date: Wed Aug 12 09:47:17 2020 +0200 + + huawei: new ^GETPORTMODE response parser + + .gitignore | 2 +- + plugins/Makefile.am | 35 ++++++ + plugins/huawei/mm-modem-helpers-huawei.c | 98 +++++++++++++++ + plugins/huawei/mm-modem-helpers-huawei.h | 31 ++++- + plugins/huawei/tests/test-modem-helpers-huawei.c | 147 + +++++++++++++++++++++++ + 5 files changed, 311 insertions(+), 2 deletions(-) + +commit b2621b4336b5fffd03ce34a85b568910bc373bb2 +Author: Aleksander Morgado +Date: Tue Aug 11 11:41:43 2020 +0200 + + huawei: plugin already processes generic tags + + So don't re-process them in the generic modem when grabbing the port. + + plugins/huawei/mm-plugin-huawei.c | 4 ++++ + src/mm-base-modem.c | 8 ++++++++ + src/mm-port-serial-at.c | 2 ++ + src/mm-port-serial-at.h | 13 ++++++++----- + 4 files changed, 22 insertions(+), 5 deletions(-) + +commit 824ad11356f82b5b91d557fa22b88c445ccc777c +Author: Aleksander Morgado +Date: Tue Aug 11 11:16:05 2020 +0200 + + huawei: don't apply multiple port type hints methods + + We will use one single method to apply port type hints, not a mix of + them: + * If AT^GETPORTMODE is supported, prefer its hints over any other + method. + * Otherwise, try to guess hints from USB interface descriptions. + * And if none of the plugin-specific hints are supported, we'll + default to applying generic port type hints from udev tags. + + Once the hints have been applied by one of the methods above, the + fallback hint sequences are run: + * Flag the first cdc-wdm port as primary if no other port has been + flagged as primary. + * Flag the USB interface 0 as PPP if no other port type hint has + been set in any other port. + + The logic applying all these procedures has been refactored so that we + have separate functions for each, which is much easier to read and + follow, even if it requires multiple iterations over the port probe + list. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/238 + + plugins/huawei/mm-plugin-huawei.c | 225 + +++++++++++++++++++++++++++++--------- + 1 file changed, 172 insertions(+), 53 deletions(-) + +commit f21fde38559141e382ad64f8ce048d73c7e197a4 +Author: Aleksander Morgado +Date: Wed Nov 4 09:45:29 2020 +0100 + + cinterion: fix port reference leaks + + The mm_base_modem_get_port_*() returns a full reference, we should use + the mm_base_modem_peek_port_*() methods instead. Also, refactor a bit + the logic because both ports are really configured in the same way, so + just apply the same setup to both. + + plugins/cinterion/mm-broadband-modem-cinterion.c | 27 + ++++++++---------------- + 1 file changed, 9 insertions(+), 18 deletions(-) + +commit 2d28969df74c687cfc4ea03dee6317874525e313 +Author: Aleksander Morgado +Date: Wed Sep 9 14:46:14 2020 +0200 + + cinterion: source reorder + + The class object definition should always be last in the file, + following the interface definitions. The actual method implementations + should be given before any other type system method (i.e. before even + the _new() method). + + plugins/cinterion/mm-broadband-modem-cinterion.c | 340 + +++++++++++------------ + 1 file changed, 170 insertions(+), 170 deletions(-) + +commit 35ecd45b66ff46e24ee99c199cbfc37702796cdd +Author: Aleksander Morgado +Date: Wed Sep 9 14:41:59 2020 +0200 + + cinterion: load initial EPS bearer cid only once + + There is no need to reload it on every settings update attempt; just + load it once when the 3GPP interface is initialized, and re-use the + loaded value on every new update attempt. + + plugins/cinterion/mm-broadband-modem-cinterion.c | 220 + ++++++++++++--------- + plugins/cinterion/mm-modem-helpers-cinterion.c | 63 +++--- + plugins/cinterion/mm-modem-helpers-cinterion.h | 11 +- + .../cinterion/tests/test-modem-helpers-cinterion.c | 27 ++- + 4 files changed, 176 insertions(+), 145 deletions(-) + +commit eb6ec1913f1403e7081f510d3e01e076fcfb9ddd +Author: Aleksander Morgado +Date: Wed Sep 9 11:35:23 2020 +0200 + + cinterion: fallback to RF on on error right away + + Don't go to next step and then check if we need to jump to the RF on + step, jump right away. + + plugins/cinterion/mm-broadband-modem-cinterion.c | 42 + ++++++++++-------------- + 1 file changed, 18 insertions(+), 24 deletions(-) -commit 46b21606e63ed29c2d93029296a91c6dc513da24 +commit 7e70911074fbe281ebd27b673666287bac0f222e Author: Aleksander Morgado -Date: Mon Nov 9 11:54:58 2020 +0100 - - kerneldevice,generic: plug cached string leaks +Date: Wed Sep 9 11:00:10 2020 +0200 - Both 'physdev_subsystem' and 'interface_description' were leaking. + cinterion: failure to set low power in initial EPS setting is fatal - (cherry picked from commit 37b3771ef5003adb1797c29deceb6500ebe60e6d) + Attempting to change the initial EPS bearer settings while in full + functionality mode shouldn't happen, so make sure we don't attempt to + do that if going into low power mode fails. - src/kerneldevice/mm-kernel-device-generic.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) + plugins/cinterion/mm-broadband-modem-cinterion.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) -commit 9ad8bd13949418aef5f886538dd8573648cd5bfa +commit f280573f6ded8da447f8f3bc934c4d3204a27f1c Author: Aleksander Morgado -Date: Sun Nov 8 09:22:09 2020 +0100 +Date: Wed Sep 9 10:55:33 2020 +0200 - build: fix distcheck with new gtk-doc + cinterion: setup SGAUTH response parser as a helper method - The .actions file is generated by newer gtk-doc releases, we just - treat it as e.g. the .signals or .types files. + plugins/cinterion/mm-broadband-modem-cinterion.c | 44 + +++++-------------- + plugins/cinterion/mm-modem-helpers-cinterion.c | 45 + +++++++++++++++++++ + plugins/cinterion/mm-modem-helpers-cinterion.h | 9 ++++ + .../cinterion/tests/test-modem-helpers-cinterion.c | 51 + ++++++++++++++++++++++ + 4 files changed, 116 insertions(+), 33 deletions(-) - This is also already fixed in upstream gtk-doc: - https://gitlab.gnome.org/GNOME/gtk-doc/-/merge_requests/61 +commit eb338c967f613b4de8ef2933d496e1bc0936f037 +Author: Aleksander Morgado +Date: Wed Sep 9 10:44:45 2020 +0200 - (cherry picked from commit 50c69d540341733dfee031282e5d8e18ebc814cb) + cinterion: move auth helpers to the helpers sources - .gitignore | 1 + - docs/reference/libmm-glib/Makefile.am | 1 + - 2 files changed, 2 insertions(+) + plugins/Makefile.am | 1 + + plugins/cinterion/mm-broadband-bearer-cinterion.c | 118 + +--------------------- + plugins/cinterion/mm-broadband-bearer-cinterion.h | 7 -- + plugins/cinterion/mm-broadband-modem-cinterion.c | 8 +- + plugins/cinterion/mm-modem-helpers-cinterion.c | 111 + ++++++++++++++++++++ + plugins/cinterion/mm-modem-helpers-cinterion.h | 10 ++ + 6 files changed, 130 insertions(+), 125 deletions(-) -commit f8ce24d4547ccb0c8a9ba71c14c2e54549942f6e +commit 9ce496613bada6001a0770f951cc197c2c89084d Author: Aleksander Morgado -Date: Sun Nov 8 08:10:45 2020 +0100 +Date: Wed Sep 9 10:24:06 2020 +0200 - build: do not require xsltproc when building from a release tarball + cinterion: improve logging when loading initial EPS status or settings - Fixes - https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/276 + plugins/cinterion/mm-broadband-modem-cinterion.c | 30 + +++++++++++++++++------- + 1 file changed, 21 insertions(+), 9 deletions(-) - (cherry picked from commit 904adbfb5e07e538516c26b8467c2238fc2718e9) +commit 411cce677dd03905a771b6d7b3e6050acddd3053 +Author: Aleksander Morgado +Date: Tue Sep 8 12:00:45 2020 +0200 - configure.ac | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) + cinterion: refactor the initial EPS related logic -commit ec425f961944c70a19f2277cabd0fcdf0ad1d4b5 -Author: Aleksander Morgado -Date: Sun Nov 8 09:29:20 2020 +0100 + Multiple changes that shouldn't affect behavior: - build: don't remove ModemManager-names.h on 'clean' + * Avoid reusing the same context and state machine for the set and + the load operations, because they truly have different behaviors. - The ModemManager-names.h header file is generated on git builds, and - shipped within the release tarball, so treat it as a maintainer - managed file that should only be removed on 'maintainer-clean'. + * Setup the common load operation in a separate async method, and + reuse the common operation for both the runtime state loading and + the settings configuration loading. - This allows us to avoid requiring xsltproc to build release tarballs. + * Avoid having a "generic step ready" method, and instead provide + proper ready methods for each step, so that we can give + comprehensive warning logs when things fail. - (cherry picked from commit 3bda0562b94aa56177f0e481cd29e4149f5a531d) + * Use the common CFUN? response parser instead of a custom + implementation. - include/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + plugins/cinterion/mm-broadband-modem-cinterion.c | 596 + +++++++++++++---------- + 1 file changed, 340 insertions(+), 256 deletions(-) -commit 5c90f2487f2ba9ca2a74e4407dacbda70c7b55ca +commit ff7c0794f488bc6efbd2e0b6c6fd35dd136517b5 Author: Andrew Lassalle -Date: Tue Nov 3 12:36:31 2020 -0800 - - mm-kernel-device: Fix cmp to exclude subtypes +Date: Thu Oct 29 16:41:43 2020 -0700 - If multiple kernel device types inherit from MMKernerDevice, and those - are compared against each other, the current logic returns TRUE if the - G_OBJECT_TYPE of one of them is smaller than the other. This - function is - checking for equality, so returning FALSE is enough. + mm-broadband-modem: Allow hot SIM insertion - (cherry picked from commit d7288861a595db7f07b8ecf6bdc30d957b8b6843) + If the QMI modem is initialized without a SIM card in it, and it goes + to failed state, allow the modem to be reprobed when a SIM card is + inserted. - src/kerneldevice/mm-kernel-device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/mm-broadband-modem.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) -commit e0ee654a55765adecb6a05bda90404a5782b4cae +commit c385031941c9cd1ce07ae2d5b37ded26e4838dae Author: Aleksander Morgado Date: Sun Oct 25 22:10:28 2020 +0100 @@ -408,12 +4068,59 @@ Date: Sun Oct 25 22:10:28 2020 +0100 | rmnet7 (net), rmnet0 (net), rmnet6 (net) - (cherry picked from commit c385031941c9cd1ce07ae2d5b37ded26e4838dae) - src/mm-base-modem.c | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) -commit 11ee6a86071dda5bc139a28bd73483fa4a30f161 +commit a174edb74dc81f63932c212483bc9546de12ff95 +Author: Stephan Gerhold +Date: Tue Oct 27 15:05:31 2020 +0100 + + api: expose ignored ports as MM_MODEM_PORT_TYPE_IGNORED + + At the moment, ignored ports show up as (unknown) in the ports list + in mmcli. This makes it look like something went wrong while probing. + + Actually ModemManager already tracks unknown and ignored ports + separately + (MM_PORT_TYPE_UNKNOWN vs MM_PORT_TYPE_IGNORED) but the API always + exposes + them as MM_MODEM_PORT_TYPE_UNKNOWN. + + Add MM_MODEM_PORT_TYPE_IGNORED and use this for ignored ports so they + show up as (ignored) instead in mmcli. + + include/ModemManager-enums.h | 2 ++ + src/mm-base-modem.c | 4 +++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit fb14d0dbb24a81be95502e098b8ed23e45db8e1c +Author: Aleksander Morgado +Date: Thu Oct 29 23:04:08 2020 +0100 + + helpers-qmi: 'illegal' card application state is fatal + + No need to retry checking card status when the application state is + illegal, just treat the SIM card as unusable right away. + + https://forum.sierrawireless.com/t/uim-card-application-state-illegal/21842 + + src/mm-modem-helpers-qmi.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 9c1843c38153ff022491d1a5a663d527f4d8ebc2 +Author: Aleksander Morgado +Date: Thu Oct 29 22:46:52 2020 +0100 + + shared-qmi: ignore NoEffect errors on slot switching + + When "UIM Switch Slot" returns a NoEffect error it's because we're + already in the desired slot, so just treat it as a successful + operation. + + src/mm-shared-qmi.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit a31d762250edba7bbad34adec051d9cff0279f66 Author: Aleksander Morgado Date: Sun Oct 25 16:32:23 2020 +0100 @@ -422,12 +4129,30 @@ Date: Sun Oct 25 16:32:23 2020 +0100 Running with G_DEBUG=fatal-warnings will end up reporting warning logs with G_LOG_FLAG_FATAL, which breaks our own logging logic. - (cherry picked from commit a31d762250edba7bbad34adec051d9cff0279f66) - src/mm-log.c | 5 +++++ 1 file changed, 5 insertions(+) -commit 6e8f36a619beff8f193701d56ea62645b03a4c0f +commit ba1d3f944b2a90bf75f0a5e6232dfe6cb34a8eb9 +Author: Aleksander Morgado +Date: Sun Oct 25 21:36:59 2020 +0100 + + libmm-glib,docs: add missing reference to mm_gdbus_sim_set_eid() + + It's a private method, so add it in the Private subsection. + + docs/reference/libmm-glib/libmm-glib-sections.txt | 1 + + 1 file changed, 1 insertion(+) + +commit 7d6647968d2ff4acf683375156a94258a55290e3 +Author: Aleksander Morgado +Date: Wed Oct 21 12:32:24 2020 +0200 + + broadband-modem-qmi: minor coding style fix + + src/mm-broadband-modem-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8a54baa346c7fe375b2683e2e333104acf648eff Author: Aleksander Morgado Date: Mon Oct 19 22:30:37 2020 +0200 @@ -462,160 +4187,131 @@ Date: Mon Oct 19 22:30:37 2020 +0200 /usr/lib/libqmi-glib.so.5 ... - (cherry picked from commit 8a54baa346c7fe375b2683e2e333104acf648eff) - src/mm-broadband-modem-qmi.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) -commit c3b09d39d27aa37de55db9252bf4effa4d8657b7 -Author: Aleksander Morgado -Date: Mon Oct 19 22:11:02 2020 +0200 +commit 61739ab934e46c9693e964a20aced349e0f02d51 +Author: Eric Caruso +Date: Fri Oct 16 12:28:10 2020 -0700 - broadband-modem-qmi: minor coding style fixes + libmm-glib,mmcli: add mm_sim_get_eid and add EID to mmcli output - (cherry picked from commit 1ed9f7e94e5948f408d1d09ad8c219a594669066) + This exposes the new EID property of the SIM object on mmcli. - src/mm-broadband-modem-qmi.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + cli/mmcli-output.c | 1 + + cli/mmcli-output.h | 1 + + cli/mmcli-sim.c | 1 + + docs/reference/libmm-glib/libmm-glib-sections.txt | 2 + + libmm-glib/mm-sim.c | 46 + +++++++++++++++++++++++ + libmm-glib/mm-sim.h | 3 ++ + 6 files changed, 54 insertions(+) -commit 5a06a78107ebd8b1a366ff93e79636c958970c83 -Author: Aleksander Morgado -Date: Wed Oct 14 15:06:44 2020 +0200 +commit e24a8240cb957c1875f2f3eab14aa5005c3b8f40 +Author: Eric Caruso +Date: Fri Jun 12 15:18:28 2020 -0700 - build: post-release version bump to 1.14.7 + mm-shared-qmi: load EID during SIM slot loading - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + SIMs can be created with an EID fetched during load_sim_slots + while initializing the modem, if present. -commit 5ac0d258a3d20e1bde3b1d9858f3856559ee42fa -Author: Aleksander Morgado -Date: Wed Oct 14 14:47:15 2020 +0200 + Since load_eid would be implemented with the same mechanism + we avoid using it here (if Get Slot Status fails once, it + probably doesn't make a lot of sense to try it again). + + src/mm-base-sim.c | 2 ++ + src/mm-base-sim.h | 1 + + src/mm-modem-helpers-qmi.c | 14 ++++++++++++++ + src/mm-modem-helpers-qmi.h | 4 ++++ + src/mm-shared-qmi.c | 43 + +++++++++++++++++++++++++++++++++++++------ + src/mm-sim-qmi.c | 2 ++ + src/mm-sim-qmi.h | 1 + + 7 files changed, 61 insertions(+), 6 deletions(-) - release: bump version to 1.14.6 +commit 9fca0467801d41598666dd63e9394ed806c5a399 +Author: Eric Caruso +Date: Fri Jun 12 15:16:50 2020 -0700 - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + mm-base-sim: add EID D-Bus property -commit c04d343b902b693bbebebb9183c1d21743a8f51e + This provides a new D-Bus property on the Sim object that + exposes the EID of the SIM, if available. + + docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++ + introspection/org.freedesktop.ModemManager1.Sim.xml | 7 +++++++ + src/mm-base-sim.c | 19 + +++++++++++++++++++ + src/mm-base-sim.h | 8 ++++++++ + 4 files changed, 36 insertions(+) + +commit 1ed9f7e94e5948f408d1d09ad8c219a594669066 Author: Aleksander Morgado -Date: Wed Oct 14 14:31:44 2020 +0200 +Date: Mon Oct 19 22:11:02 2020 +0200 - NEWS: update for 1.14.6 + broadband-modem-qmi: minor coding style fixes - NEWS | 13 +++++++++++++ - 1 file changed, 13 insertions(+) + src/mm-broadband-modem-qmi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 1800983b6c77b495a97eb4335541561456abfed5 +Author: Eric Caruso +Date: Fri Oct 16 11:22:37 2020 -0700 + + mm-modem-helpers: add low_nybble_first argument to mm_bcd_to_string + + All BCD-encoded strings used by MM currently have the low nybble + of each byte come before the high nybble, but some strings (such + as the EID string returned by QMI Get Slot Status) are meant to + be read in order with the high nybble before the low one. As such, + extend mm_bcd_to_string to decode both. -commit 5ca8f8ce1208fcf8b3216b1acfc44406e2881477 + src/mm-modem-helpers.c | 9 ++++++--- + src/mm-modem-helpers.h | 4 +++- + src/mm-shared-qmi.c | 9 ++++++--- + src/mm-sim-qmi.c | 6 ++++-- + src/tests/test-modem-helpers.c | 35 ++++++++++++++++++++++------------- + 5 files changed, 41 insertions(+), 22 deletions(-) + +commit f013e94ff89680d1acd7dba12ff4a6a0fa7b58bf Author: Aleksander Morgado Date: Wed Oct 14 14:40:00 2020 +0200 xmm: fix missing GError initialization - (cherry picked from commit f013e94ff89680d1acd7dba12ff4a6a0fa7b58bf) - plugins/xmm/mm-shared-xmm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -commit 889d301854346f74f215101508be9b636e9ed797 +commit 3b6176cbe2bc64bbf19fa0378b1c65b646bb6d13 Author: Aleksander Morgado Date: Wed Oct 14 14:38:52 2020 +0200 simtech: fix missing GError initialization - (cherry picked from commit 3b6176cbe2bc64bbf19fa0378b1c65b646bb6d13) - plugins/simtech/mm-shared-simtech.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -commit 60b603117f61539762688ffc48184da4ea9c72e6 +commit 50c1550c9f808ddd080f7992bf2d7f4dfae6e0ec Author: Aleksander Morgado Date: Wed Oct 14 14:38:40 2020 +0200 cinterion: fix missing GError initialization - (cherry picked from commit 50c1550c9f808ddd080f7992bf2d7f4dfae6e0ec) - plugins/cinterion/mm-shared-cinterion.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -commit 781cc706cad1fae080ad952b2a357e480fe04da8 -Author: Aleksander Morgado -Date: Wed Oct 14 14:24:35 2020 +0200 - - broadband-modem-qmi: ensure GError is initialized to NULL - - (ModemManager:21568): GLib-WARNING **: 22:11:27.828: GError set - over the top of a previous GError or uninitialized memory. - This indicates a bug in someone's code. You must ensure an error - is NULL before it's set. - The overwriting error message was: QMI protocol error (94): - 'NotSupported' - [21568]: [1582841487.829678] [modem0] couldn't load facility - locks: (NULL) - [21568]: [1582841487.830746] [modem0] loading UE mode of - operation for EPS... - [21568]: [1582841487.832138] [modem0/ttyUSB2/at] device - open count is 2 (open) - Segmentation fault - - This issue is only applicable in the mm-1-14 branch. - Fixes cd686f10e049cf0494678f4d87e17e62e8f53e76. - - src/mm-broadband-modem-qmi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 327f509f04224c105ab2227317270ce6b998d9ed -Author: Aleksander Morgado -Date: Wed Oct 14 12:51:08 2020 +0200 - - build: post-release version bump to 1.14.5 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit db38b333c0f0915e4e7c9a0344a8c4c95baba484 -Author: Aleksander Morgado -Date: Wed Oct 14 12:29:08 2020 +0200 - - release: bump version to 1.14.4 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c67b1ef8acbbaf2ea805be283aee42a7c99717c7 -Author: Aleksander Morgado -Date: Wed Oct 14 12:28:13 2020 +0200 - - NEWS: update for 1.14.4 - - NEWS | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -commit 38b4b8e507c3b2d414c75a1a2d48d607db592dc4 -Author: Aleksander Morgado -Date: Sat Oct 10 15:08:29 2020 +0200 - - iface-modem-3gpp: print consolidated reg state info only when updating - - (cherry picked from commit c6f38ecac3ed2ac783dbab706c5e155ba7409747) - - src/mm-iface-modem-3gpp.c | 86 - +++++++++++++++++++---------------------------- - 1 file changed, 34 insertions(+), 52 deletions(-) - -commit b871d4f1dd7213a4d3a152c9c7574e0561d8ac3a +commit df9cb4a8f6f0abaad8052e36c10874bfbea2ac76 Author: Aleksander Morgado Date: Sat Oct 10 14:38:24 2020 +0200 iface-modem-location: log old and new 3GPP location ids when updating - (cherry picked from commit df9cb4a8f6f0abaad8052e36c10874bfbea2ac76) - src/mm-iface-modem-location.c | 74 ++++++++++++++++++++++++++++--------------- 1 file changed, 49 insertions(+), 25 deletions(-) -commit 846765afeba2a57da63d21272e180ff519ed9dfc +commit 135d484501dbf641b51b02033377871100323049 Author: Aleksander Morgado Date: Fri Oct 9 12:50:49 2020 +0200 @@ -677,14 +4373,50 @@ Date: Fri Oct 9 12:50:49 2020 +0200 We should therefore allow changes only in the CID, maintaining whatever LAC/TAC value we had before. - (cherry picked from commit 135d484501dbf641b51b02033377871100323049) - src/mm-broadband-modem-qmi.c | 2 +- src/mm-iface-modem-3gpp.c | 8 ++++---- src/mm-iface-modem-location.c | 26 ++++++++++++++++++++------ 3 files changed, 25 insertions(+), 11 deletions(-) -commit 97a1a763792967c5581dcd9fe8fcb8558f3d4784 +commit c6f38ecac3ed2ac783dbab706c5e155ba7409747 +Author: Aleksander Morgado +Date: Sat Oct 10 15:08:29 2020 +0200 + + iface-modem-3gpp: print consolidated reg state info only when updating + + src/mm-iface-modem-3gpp.c | 86 + +++++++++++++++++++---------------------------- + 1 file changed, 34 insertions(+), 52 deletions(-) + +commit 408a3d58c2629fa197ddeadc65b5a5789195e810 +Author: Eric Caruso +Date: Thu Jun 25 11:31:18 2020 -0700 + + mm-bearer-qmi: remove default_ip_family_set check + + According to QC, we should set the IP family in both the + Set IP Family and Start Network messages. After removing this + check the member is never read, only written; this means it's + effectively dead and can be removed. + + src/mm-bearer-qmi.c | 15 ++------------- + 1 file changed, 2 insertions(+), 13 deletions(-) + +commit b0c212635d3fe4ec0bd4257d4554d6cf3767fb29 +Author: Pavan Holla +Date: Wed Oct 7 22:33:27 2020 +0000 + + broadband-modem: Disconnect bearers during disable + + Fixes a bug introduced in commit 7e386389, which caused user requested + disable operations to go to step + DISABLING_STEP_FIRST_AFTER_ENABLE_FAILED. For user requested disable, + the first step should be DISABLING_STEP_FIRST. + + src/mm-broadband-modem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 075bcb74f30d18985e1ada82312fe58215f82040 Author: Daniele Palmas Date: Thu Oct 1 13:19:28 2020 +0200 @@ -693,23 +4425,19 @@ Date: Thu Oct 1 13:19:28 2020 +0200 Telit FN980 requires more time for becoming responsive to qmi requests after device appearance. - (cherry picked from commit 075bcb74f30d18985e1ada82312fe58215f82040) - src/mm-port-qmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 6af45d01b962eae87eb9f51f569b92b15ee30295 +commit dcf188d2ef27a17afc0b3447c5c464286e7d250b Author: Daniele Palmas Date: Tue Sep 29 22:43:55 2020 +0200 telit: add tag ID_MM_TELIT_PORT_DELAY for initial delay mechanism - (cherry picked from commit dcf188d2ef27a17afc0b3447c5c464286e7d250b) - plugins/telit/77-mm-telit-port-types.rules | 10 ++++++++++ 1 file changed, 10 insertions(+) -commit 5d4567fc3dadc5c81cf0e35bcb1b1b4ec8b9a73a +commit f6c4e3369a29c1f1bf14325be5a362a3ba29a71c Author: Daniele Palmas Date: Tue Sep 29 16:03:55 2020 +0200 @@ -719,35 +4447,29 @@ Date: Tue Sep 29 16:03:55 2020 +0200 families require some time before being usable after the serial ports have been exposed by the kernel. - (cherry picked from commit f6c4e3369a29c1f1bf14325be5a362a3ba29a71c) - plugins/telit/mm-common-telit.c | 82 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) -commit d5af56365eb2be776cf8f5b5f70df773c197b78a +commit 71cd727425d66bb5f7854cde2d4c033e73cbba97 Author: Daniele Palmas Date: Tue Sep 29 22:37:00 2020 +0200 telit: add FN980 and LM9x0 MBIM compositions rules - (cherry picked from commit 71cd727425d66bb5f7854cde2d4c033e73cbba97) - plugins/telit/77-mm-telit-port-types.rules | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -commit bf01ae5d66289e766932f3ab52af02bc72b6e1aa +commit ed8cf8d04c38495526a2958ee9454adca2d2a67d Author: Daniele Palmas Date: Tue Sep 29 10:16:22 2020 +0200 telit: fix LM9x0 udev rules - (cherry picked from commit ed8cf8d04c38495526a2958ee9454adca2d2a67d) - plugins/telit/77-mm-telit-port-types.rules | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) -commit b891e4bcb290a1850fa4addb2722298cfe725d9b +commit bab0f44e74031896b9fd4c3a0390285d838aaa07 Author: Pavan Holla Date: Wed Sep 30 20:44:48 2020 +0000 @@ -757,12 +4479,10 @@ Date: Wed Sep 30 20:44:48 2020 +0000 PIN2 lock is enabled. - (cherry picked from commit bab0f44e74031896b9fd4c3a0390285d838aaa07) - src/mm-broadband-modem-qmi.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) -commit cd686f10e049cf0494678f4d87e17e62e8f53e76 +commit 74ab15d3239b62c53a0eecfac5a0488b6731bb71 Author: Pavan Holla Date: Wed Sep 30 20:29:36 2020 +0000 @@ -774,35 +4494,238 @@ Date: Wed Sep 30 20:29:36 2020 +0000 error and we return it to higher layers. - (cherry picked from commit 74ab15d3239b62c53a0eecfac5a0488b6731bb71) - src/mm-broadband-modem-qmi.c | 51 +++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 24 deletions(-) -commit 072ce5920f8266be7f92478dfbda3139389ccbfc +commit aa4dce2afc804d6ba4670392919dd12dbc62a162 +Author: Pavan Holla +Date: Mon Sep 28 20:38:24 2020 +0000 + + broadband-modem-qmi: Use UIM service for querying facility locks + + DMS_UIM messages have been deprecated, and have been replaced by + equivalent UIM messages. Use UIM_GET_CARD_STATUS while querying + for facility + locks if dms_uim messages were found to be deprecated. + + src/mm-broadband-modem-qmi.c | 109 + ++++++++++++++++++++++++++++++++++++++----- + src/mm-modem-helpers-qmi.c | 8 +++- + src/mm-modem-helpers-qmi.h | 2 + + src/mm-sim-qmi.c | 2 +- + 4 files changed, 108 insertions(+), 13 deletions(-) + +commit 72d8bae65b74000c7c6f24e5a6ccb303e3c67b30 +Author: wicadmin +Date: Tue Sep 29 08:58:08 2020 +0000 + + ci: create release tarball and hash as build artifacts + + .gitlab-ci.yml | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 2494645448a1bedc8c4d254a72f25447ee983cc3 +Author: Aleksander Morgado +Date: Fri Sep 18 12:37:06 2020 +0200 + + shared-qmi: cleanup UIM client if SIM hot swap setup fails + + The cleanup was missing in one of the steps. + + src/mm-shared-qmi.c | 1 + + 1 file changed, 1 insertion(+) + +commit f3619f99f5538056d186cbb5cd7182c2f95c519a +Author: Aleksander Morgado +Date: Fri Sep 18 12:36:07 2020 +0200 + + shared-qmi: minor style changes in SIM hot swap logic + + src/mm-shared-qmi.c | 198 + +++++++++++++++++++++++++--------------------------- + 1 file changed, 94 insertions(+), 104 deletions(-) + +commit e4308a529e1b05b772a0fbbf7296c7132e9e8a9e +Author: Aleksander Morgado +Date: Fri Sep 18 12:03:07 2020 +0200 + + quectel: setup parent SIM hot swap in addition to +QUSIM + + So that e.g. in QMI-based devices we have both things, not just one. + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 14 +++++++-- + plugins/quectel/mm-broadband-modem-quectel.c | 14 +++++++-- + plugins/quectel/mm-shared-quectel.c | 40 + ++++++++++++++++++++++-- + plugins/quectel/mm-shared-quectel.h | 3 +- + 4 files changed, 64 insertions(+), 7 deletions(-) + +commit a2eb80e1709766cb92024481d3ffc3533acd4ecf +Author: Aleksander Morgado +Date: Fri Sep 18 11:49:52 2020 +0200 + + broadband-modem-mbim: also setup SIM hot swap with QMI over MBIM + + On QMI-capable MBIM devices, also setup the SIM hot swap logic using + QMI over MBIM, so that profile changes are detected. + + src/mm-broadband-modem-mbim.c | 70 + ++++++++++++++++++++++++++++++++++++------- + 1 file changed, 59 insertions(+), 11 deletions(-) + +commit 18b33e2e4a971460a983d3680e69954baab3735e +Author: Aleksander Morgado +Date: Fri Sep 18 11:27:32 2020 +0200 + + broadband-modem-mbim: don't cleanup subscriber info on disable + + The SIM hot swap setup is run during initialization and if it succeeds + it must be available throughout the whole execution of this modem + object. + + So, do not cleanup the SUBSCRIBER_INFO flag on 3GPP interface disable, + which is completely unrelated to the SIM hot swap setup logic. + + src/mm-broadband-modem-mbim.c | 7 ------- + 1 file changed, 7 deletions(-) + +commit 20176767ad9224884790f0d5ad04a70a49731a9f +Author: Aleksander Morgado +Date: Fri Sep 18 11:26:03 2020 +0200 + + broadband-modem-mbim: cleanup the subscriber info setup if enabling + fails + + If enabling the subscriber info notifications fails, we should no + longer have the setup for those notifications, so make sure it's + cleaned up on error. + + src/mm-broadband-modem-mbim.c | 67 + ++++++++++++++++++++++++------------------- + 1 file changed, 38 insertions(+), 29 deletions(-) + +commit 5285720c486762ffb40e0c561bafc29ea3678f98 +Author: Teijo Kinnunen +Date: Tue Sep 8 13:46:48 2020 +0300 + + shared-qmi: implement SIM/profile change detection + + Implement eUICC change detection for QMI based modems using one of the + following mechanisms (in order of preference): + + 1. If the modem supports "get slot status" operation, we monitor + physical slot status indications from the modem for the active + slot to detect when ICCID changes. + 2. Use "refresh register all" to subscribe refresh indications when + the eUICC triggers REFRESH operation following the enablement of + a new profile. + 3. Use "refresh register" to subscribe refresh indications (file + path of EF_ICCID is used) in a similar way. This is used with + older modems that do not support "refresh register all". + + If ICCID change is detected, the already existing SIM hot swap + mechanism in MM is triggered. + + src/mm-broadband-modem-qmi.c | 2 + + src/mm-shared-qmi.c | 464 + +++++++++++++++++++++++++++++++++++++++++++ + src/mm-shared-qmi.h | 6 + + 3 files changed, 472 insertions(+) + +commit 0880bf3f9aa97ef6e2e4c5040f36d1d4411cb72b +Author: Aleksander Morgado +Date: Mon Sep 28 11:57:55 2020 +0200 + + Revert "shared-qmi: implement SIM/profile change detection" + + This reverts commit e91f2ef315526a1a8a1b451acb5a190686b05225. + + This was wrongly merged squashing multiple commits together. Reverting + to merge separate commits. + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 14 +- + plugins/quectel/mm-broadband-modem-quectel.c | 14 +- + plugins/quectel/mm-shared-quectel.c | 40 +- + plugins/quectel/mm-shared-quectel.h | 3 +- + src/mm-broadband-modem-mbim.c | 136 +++---- + src/mm-broadband-modem-qmi.c | 2 - + src/mm-shared-qmi.c | 455 + ----------------------- + src/mm-shared-qmi.h | 6 - + 8 files changed, 50 insertions(+), 620 deletions(-) + +commit e91f2ef315526a1a8a1b451acb5a190686b05225 +Author: Teijo Kinnunen +Date: Mon Sep 28 09:29:09 2020 +0000 + + shared-qmi: implement SIM/profile change detection + + Implement eUICC change detection for QMI based modems using one of the + following mechanisms (in order of preference): + + 1. If the modem supports "get slot status" operation, we monitor + physical slot status indications from the modem for the active + slot to detect when ICCID changes. + 2. Use "refresh register all" to subscribe refresh indications when + the eUICC triggers REFRESH operation following the enablement of + a new profile. + 3. Use "refresh register" to subscribe refresh indications (file + path of EF_ICCID is used) in a similar way. This is used with + older modems that do not support "refresh register all". + + If ICCID change is detected, the already existing SIM hot swap + mechanism in MM is triggered. + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 14 +- + plugins/quectel/mm-broadband-modem-quectel.c | 14 +- + plugins/quectel/mm-shared-quectel.c | 40 +- + plugins/quectel/mm-shared-quectel.h | 3 +- + src/mm-broadband-modem-mbim.c | 136 ++++--- + src/mm-broadband-modem-qmi.c | 2 + + src/mm-shared-qmi.c | 455 + +++++++++++++++++++++++ + src/mm-shared-qmi.h | 6 + + 8 files changed, 620 insertions(+), 50 deletions(-) + +commit 318b2b01e340936e3f3b8d443f89acc432b85190 Author: Dušan Kazik Date: Fri Sep 18 05:36:07 2020 +0000 po: slovak translation update - (cherry picked from commit 318b2b01e340936e3f3b8d443f89acc432b85190) - po/sk.po | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) -commit 1892d975c8d1bd92ff17dc112d09f2ec9853d243 +commit 9397ed420d8d3e9e16c1b04c9866063798f0a975 +Author: Aleksander Morgado +Date: Fri Sep 18 10:52:06 2020 +0200 + + gosuncn: new plugin + + For now, just with port type hints for the GM800 in MBIM mode. + + .gitlab-ci.yml | 2 +- + configure.ac | 2 + + plugins/Makefile.am | 23 +++++ + plugins/README.txt | 5 ++ + plugins/gosuncn/77-mm-gosuncn-port-types.rules | 17 ++++ + plugins/gosuncn/mm-plugin-gosuncn.c | 113 + +++++++++++++++++++++++++ + plugins/gosuncn/mm-plugin-gosuncn.h | 40 +++++++++ + plugins/tests/test-udev-rules.c | 11 +++ + 8 files changed, 212 insertions(+), 1 deletion(-) + +commit 8e8c794815fe1ef079101ce2eff5af43ee48b0f1 Author: Aleksander Morgado Date: Fri Sep 25 09:27:15 2020 +0200 samsung: fix typo in plugin name - (cherry picked from commit 8e8c794815fe1ef079101ce2eff5af43ee48b0f1) - plugins/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 2e8d1d8c5dbd8bdf0b38585bb03b9a66b809080a +commit 4e0f849bb98b535a9d48795ef85174727d9636da Author: Aleksander Morgado Date: Sat Sep 19 18:38:04 2020 +0200 @@ -835,19 +4758,15 @@ Date: Sat Sep 19 18:38:04 2020 +0200 (mbim-device.c:236) ==19138== by 0x4D396B9: process_message (mbim-device.c:616) - (cherry picked from commit 4e0f849bb98b535a9d48795ef85174727d9636da) - src/mm-iface-modem-messaging.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) -commit a4d34530a76dadebeba4aab343c5f143d43e1842 +commit 00949c4ad34326722f6044a39aff8e1a33da6f18 Author: Aleksander Morgado Date: Sat Sep 19 20:26:43 2020 +0200 core: add autoptr cleanup methods to all internal types - (cherry picked from commit 00949c4ad34326722f6044a39aff8e1a33da6f18) - src/kerneldevice/mm-kernel-device-generic.h | 4 +++- src/kerneldevice/mm-kernel-device-udev.h | 4 +++- src/kerneldevice/mm-kernel-device.h | 1 + @@ -898,25 +4817,21 @@ Date: Sat Sep 19 20:26:43 2020 +0200 src/mm-sms-qmi.h | 1 + 48 files changed, 55 insertions(+), 3 deletions(-) -commit bd96f8874c66f7b3a96e58e6fb7454da21afd2b8 +commit 19ddfa18bbbce29315429436f461696d50b752b3 Author: Anders Jonsson Date: Sat Sep 19 00:05:53 2020 +0200 po: Update Swedish translation - (cherry picked from commit 19ddfa18bbbce29315429436f461696d50b752b3) - po/sv.po | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) -commit 8d8ac9e8462f6dd209c3833e8bef378cbc3a002d +commit 856ea932678e62ffccd9f1cf53e8671324efd569 Author: Aleksander Morgado Date: Fri Sep 18 10:32:02 2020 +0200 po: use package bugreport as MSGID_BUGS_ADDRESS - (cherry picked from commit 856ea932678e62ffccd9f1cf53e8671324efd569) - po/Makevars | 2 +- po/cs.po | 5 +++-- po/da.po | 5 +++-- @@ -937,18 +4852,29 @@ Date: Fri Sep 18 10:32:02 2020 +0200 po/zh_CN.po | 5 +++-- 18 files changed, 52 insertions(+), 35 deletions(-) -commit f5ff58729d0cc2d6badb926b9957ddb23ffe7632 +commit 6a3b7bdf95bbdb4b6bf75ea331abc1f885f802dc Author: Aleksander Morgado Date: Fri Sep 18 10:31:32 2020 +0200 build: set package bugreport to the gitlab issues URL - (cherry picked from commit 6a3b7bdf95bbdb4b6bf75ea331abc1f885f802dc) - configure.ac | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -commit ae03d32c7a72bf034ff3c636013a692a6d03f5b8 +commit 7f39c16c8c0c0e0597640deb3b6912bd8043e017 +Author: Jessy Diamond Exum +Date: Wed Aug 26 13:52:04 2020 -0700 + + cinterion: Add SIM hot swap to AT broadband modems (PLS8 & PLAS9). + + Enable the SCKS Unsolicited Result Code (URC) to detect SIM hot + swap, and trigger SIM redetection. + + plugins/cinterion/mm-broadband-modem-cinterion.c | 120 + +++++++++++++++++++++++ + 1 file changed, 120 insertions(+) + +commit b1679b58939fc2563b827d478ac0eea937fd16c8 Author: Jessy Diamond Exum Date: Wed Aug 26 13:52:04 2020 -0700 @@ -965,13 +4891,47 @@ Date: Wed Aug 26 13:52:04 2020 -0700 on both modems, it is necessary to explicitly set the URC reporting port to APPLICATION. - (cherry picked from commit b1679b58939fc2563b827d478ac0eea937fd16c8) - plugins/cinterion/mm-broadband-modem-cinterion.c | 29 ++++++++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) -commit 1cd78cc28a9c82be70b56731636bb9299bdd1fb2 +commit af5c242e9234a7061ec0d6624e3712153c7c2c6b +Author: Aleksander Morgado +Date: Fri Sep 11 10:21:03 2020 +0200 + + iface-modem: don't reconfigure sim hot swap context on SIM PIN unlock + + If we had already successfully run the sim hot swap context setup + during the initial initialization, make sure we don't re-run on SIM + PIN unlock, because we may be re-creating signal handlers and such. + + src/mm-iface-modem.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit ab4160afa676404859d4e9fdb751217cbff8a0bb +Author: Aleksander Morgado +Date: Fri Sep 11 10:15:50 2020 +0200 + + quectel: minor refactor in the sim hot swap setup logic + + plugins/quectel/mm-shared-quectel.c | 81 + ++++++++++++++++++------------------- + 1 file changed, 39 insertions(+), 42 deletions(-) + +commit 06148aba480a3a336092b5675483e9d6268c50d6 +Author: Teijo Kinnunen +Date: Tue Sep 8 09:52:31 2020 +0000 + + iface-modem: add mm_iface_modem_check_for_sim_swap function + + The function shall be needed for profile switch checking. + + src/mm-iface-modem.c | 76 + ++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/mm-iface-modem.h | 10 +++++++ + 2 files changed, 86 insertions(+) + +commit 958ca74391481616db41cd412a9e12556dd21971 Author: Aleksander Morgado Date: Mon Sep 7 10:55:02 2020 +0200 @@ -1013,12 +4973,10 @@ Date: Mon Sep 7 10:55:02 2020 +0200 | gateway: 10.182.100.1 | dns: 80.58.61.250, 80.58.61.254 - (cherry picked from commit 958ca74391481616db41cd412a9e12556dd21971) - src/mm-bearer-mbim.c | 5 +++++ 1 file changed, 5 insertions(+) -commit 4d78be6fd99ce4c20862eee921ad6c351d811b11 +commit f8eeab21213e4ec487ce3f91b0ca09f11e52cec0 Author: Aleksander Morgado Date: Mon Sep 7 10:46:38 2020 +0200 @@ -1032,12 +4990,63 @@ Date: Mon Sep 7 10:46:38 2020 +0200 We therefore change the logic to skip processing the nw_error unless the activation state is reported as ACTIVATED or ACTIVATING. - (cherry picked from commit f8eeab21213e4ec487ce3f91b0ca09f11e52cec0) - src/mm-bearer-mbim.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) -commit d195ee9d3399f8c7dc709e6893c268453768a792 +commit e52ad1cc88601b2da1946678a2743465362d88c6 +Author: Teijo Kinnunen +Date: Mon Sep 7 15:18:52 2020 +0300 + + iface-modem: add an optional iccid parameter to check_for_sim_swap + + If the new iccid is already available, reading the iccid from the + card can be skipped. + + plugins/quectel/mm-shared-quectel.c | 1 + + src/mm-broadband-modem.c | 23 ++++++++++++++++++++++- + src/mm-iface-modem.c | 1 + + src/mm-iface-modem.h | 1 + + 4 files changed, 25 insertions(+), 1 deletion(-) + +commit 49b4e6a6ff1104393edb53a812f4a23d32f04ff1 +Author: Aleksander Morgado +Date: Sun Aug 16 14:07:58 2020 +0200 + + quectel: prefer +CTZU=3 to +CTZU=1 if supported + + Some quectel modems, like the EC25, require +CTZU=3 in order to have + CCLK? report localtime instead of UTC time. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233 + + plugins/quectel/mm-shared-quectel.c | 116 + +++++++++++++++++++++++++++++++----- + 1 file changed, 101 insertions(+), 15 deletions(-) + +commit e65175234b769cbf68f04e989948a428552c6740 +Author: Aleksander Morgado +Date: Sun Aug 16 11:07:20 2020 +0200 + + quectel: new custom +CTZU=? parser + + Some quectel devices, like the EC25 have a non-standard additional '3' + mode value: + + 0: Disable automatic time zone update via NITZ + 1: Enable automatic time zone update via NITZ + 3: Enable automatic time zone update via NITZ and update LOCAL + time to RTC + + plugins/Makefile.am | 23 ++++++ + plugins/quectel/mm-modem-helpers-quectel.c | 91 + +++++++++++++++++++++ + plugins/quectel/mm-modem-helpers-quectel.h | 32 ++++++++ + plugins/quectel/tests/test-modem-helpers-quectel.c | 93 + ++++++++++++++++++++++ + 4 files changed, 239 insertions(+) + +commit 42288fc2a10b5e1740d86ebe6249e21a2337d3bc Author: Aleksander Morgado Date: Fri Aug 28 18:45:59 2020 +0200 @@ -1105,12 +5114,350 @@ Date: Fri Aug 28 18:45:59 2020 +0200 * ttyUSB4: DAM interface. * ttyUSB5: AT-capable port (data). - (cherry picked from commit 42288fc2a10b5e1740d86ebe6249e21a2337d3bc) - plugins/simtech/77-mm-simtech-port-types.rules | 14 ++++++++++++++ 1 file changed, 14 insertions(+) -commit 97e20d1e2b93e9908ebebb17c2d59f3c8fe4e781 +commit ddb5b0bb579ccd8783467afd0a569395bbb08a38 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:07 2020 +0200 + + libmm-glib,docs: add index for 1.16 + + docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++ + 1 file changed, 4 insertions(+) + +commit e4fd17d8c30c5bacc5eedb8c48db7317089bbcef +Author: Aleksander Morgado +Date: Sat Aug 1 10:00:37 2020 +0200 + + shared-qmi: implement SIM slot switching + + Using the 'UIM switch slot' operation, this commit introduces the + ability to change which SIM slot to be active at any given time in a + Multi-SIM Single-Standby setup. + + There is no validation done on whether the selected SIM slot has a + valid SIM card inserted or not; if the user selects a slot without any + SIM card, the newly probed modem object will start in Failed state + right away. + + src/mm-broadband-modem-mbim.c | 2 + + src/mm-broadband-modem-qmi.c | 2 + + src/mm-shared-qmi.c | 127 + ++++++++++++++++++++++++++++++++++++++++++ + src/mm-shared-qmi.h | 8 +++ + 4 files changed, 139 insertions(+) + +commit 7c76450c15555204d14a8ce0550dc2c639d288b3 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:54 2020 +0200 + + shared-qmi: implement SIM slots loading during initialization + + This commit introduces Multi-SIM Single-Standby support in all QMI + capable devices that support multiple SIM slots. + + The 'UIM Get Slot Status' method is used to list all available + physical slots as well as the availability of SIM cards in the + different slots. This method also provides UICC already, so the SIM + objects are created early and exposed early in DBus. + + Once all slots are listed, the logic will briefly make each of the + available SIM cards active in order to read additional settings like + IMSI, MCCMNC or the Operator name. This brief switching is required + because in a Single-Standby setup only one SIM can be active at any + given time. + + The last slot to probe is always the one that was active originally, + making sure that the modem initialization logic can go on with the + correct SIM slot. + + src/mm-broadband-modem-mbim.c | 4 + + src/mm-broadband-modem-qmi.c | 2 + + src/mm-shared-qmi.c | 312 + ++++++++++++++++++++++++++++++++++++++++++ + src/mm-shared-qmi.h | 9 +- + 4 files changed, 326 insertions(+), 1 deletion(-) + +commit 48ca1aea3c12262307c2ce13fbdedb1d91c640c6 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:50 2020 +0200 + + sim-qmi: implement explicit wait for SIM readiness + + During the base SIM initialization process, where we ask the modem for + the properties of the currently primary active SIM, we need to make + sure that the SIM is ready before attempting to query this + information. + + This explicit wait is required when loading properties for non + active SIMs during the short period of time when they're made active. + + src/mm-sim-qmi.c | 128 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 128 insertions(+) + +commit b564d5f2e508537dc5b10fd5fe20497113226526 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:47 2020 +0200 + + sim-qmi: allow creating preinitialized SIM objects + + The default SIM creation method will attempt to initialize the SIM + properties during the object creation. + + This new method allows creating SIM objects with already known + property values, and therefore not explicitly running the + asynchronous initialization process. + + Completely equivalent to mm_base_sim_new_initialized() but creating a + subclassed MMSimQmi instead of the generic MMBaseSim. + + src/mm-sim-qmi.c | 31 +++++++++++++++++++++++++++++++ + src/mm-sim-qmi.h | 10 ++++++++++ + 2 files changed, 41 insertions(+) + +commit 89b6e811b984f2f9f6e0eea652246a58e3200c8f +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:43 2020 +0200 + + helpers-qmi: fix detection of primary active SIM status + + The original logic that parsed the 'UIM Get Card Status Output' did a + bit of guessing to decide what was the current lock status to consider + in the modem. This guessing was fine on systems with a single SIM + slot, but it was very wrong as soon as multiple SIMs had to be + considered. + + In a Multi-SIM Multi-Standby setup, with multiple SIMs reported as + active, we should look for the one flagged as "GW primary" to consider + it the primary SIM card of the system,the one required to start a data + connection. + + We explicitly ignore the ones flagged as "1X primary", as we don't + consider a SIM card required in CDMA/EVDO setups. + + src/mm-modem-helpers-qmi.c | 175 + +++++++++++++++++++++------------------------ + 1 file changed, 80 insertions(+), 95 deletions(-) + +commit e6ab1182df861e1243f5b93ec334008bec84943e +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:40 2020 +0200 + + helpers-qmi: move 'UIM Get Card Status Output' parsing to helpers + + This is going to be used in handling the multi-SIM setup, so make it a + common helper. + + src/mm-broadband-modem-qmi.c | 265 + ++----------------------------------------- + src/mm-modem-helpers-qmi.c | 244 + +++++++++++++++++++++++++++++++++++++++ + src/mm-modem-helpers-qmi.h | 12 ++ + 3 files changed, 267 insertions(+), 254 deletions(-) + +commit 924cf1af3c5e1aec1df680d50e4b9ae6dd8e0ba9 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:37 2020 +0200 + + api,modem: new 'SetPrimarySimSlot' method + + This new method allows changing the SIM slot considered as primary, + when the modem supports multiple SIM slots. + + The generic handling of this method will make sure that the modem + object and all its SIM objects are re-probed from scratch as soon as a + successful SIM slot switch happens. + + Implementations may report MM_CORE_ERROR_EXISTS when the switch + doesn't need to happen (e.g. if the requested SIM slot is already the + active one). + + cli/mmcli-modem.c | 51 ++++++++++ + docs/man/mmcli.1 | 6 ++ + docs/reference/libmm-glib/libmm-glib-sections.txt | 7 ++ + .../org.freedesktop.ModemManager1.Modem.xml | 18 ++++ + libmm-glib/mm-modem.c | 87 ++++++++++++++++ + libmm-glib/mm-modem.h | 13 +++ + src/mm-iface-modem.c | 112 + +++++++++++++++++++++ + src/mm-iface-modem.h | 9 ++ + 8 files changed, 303 insertions(+) + +commit 5041b9c99b8587185b629715e3466d31a619abf3 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:33 2020 +0200 + + mmcli: also lookup SIM objects in the 'SimSlots' property + + If the device supports multiple SIM slots, when the user provides a + PATH or INDEX of a SIM card to use, don't look for the SIM object only + in the 'Sim' property, also look for it in the 'SimSlots' property. + + cli/mmcli-common.c | 102 + ++++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 97 insertions(+), 5 deletions(-) + +commit e20eebff473c37868b528f5031809c18645309ac +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:30 2020 +0200 + + base-modem: SIM switch handling at base modem level + + When the SIM switch doesn't happen as part of an async hot swap + detection, we should trigger the switch handling at base modem level, + which e.g. doesn't require explicit cleanup of the SIM hot swap + detection port context. + + src/mm-base-modem.c | 22 ++++++++++++++++++++++ + src/mm-base-modem.h | 2 ++ + src/mm-broadband-modem.c | 19 +------------------ + 3 files changed, 25 insertions(+), 18 deletions(-) + +commit e7409b689876488594409e945687486adb1d9514 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:27 2020 +0200 + + api,modem: new 'SimSlots' and 'PrimarySimSlot' properties + + The 'SimSlots' property exposes an array of SIM object paths, with one + array item for each available SIM slot in the system. If a valid SIM + card is found in a given slot, the path of the SIM object will be + exposed in the array item; if no valid SIM card is found, the empty + object path ("/") will be exposed instead. + + The 'PrimarySimSlot' property exposes which of the SIM slots available + in the system is the one configured as being primary. In a Multi-SIM + Single-Standby setup, the primary slot will be the one corresponding + to the single active SIM in the system. In a Multi-SIM Multi-Standby + setup, the primary slot will be the one configured to act as primary + (e.g. the one that will be used for the data connection) among all the + active SIM cards found. + + cli/mmcli-modem.c | 2 + + cli/mmcli-output.c | 35 ++- + cli/mmcli-output.h | 20 +- + docs/reference/libmm-glib/libmm-glib-sections.txt | 11 + + .../org.freedesktop.ModemManager1.Modem.xml | 47 ++- + libmm-glib/mm-modem.c | 316 + +++++++++++++++++++++ + libmm-glib/mm-modem.h | 16 ++ + src/mm-broadband-modem.c | 14 + + src/mm-iface-modem.c | 94 +++++- + src/mm-iface-modem.h | 11 + + src/mm-private-boxed-types.c | 29 ++ + src/mm-private-boxed-types.h | 3 + + 12 files changed, 587 insertions(+), 11 deletions(-) + +commit b2979c63eb2d724512c7a96c071f3d4b422e79cb +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:24 2020 +0200 + + base-sim: allow explicit wait for SIM readiness during initialization + + Before attempting to load any SIM property value, allow checking + whether the SIM is ready for operation or not. + + This action is implicitly done by the "unlock required check" step + that is triggered before initializing the primary SIM card, but it + would not be done when initializing other available SIM cards. + + src/mm-base-sim.c | 30 ++++++++++++++++++++++++++++++ + src/mm-base-sim.h | 8 ++++++++ + 2 files changed, 38 insertions(+) + +commit 18084f89394491d4a363a90354000c55af1490c8 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:21 2020 +0200 + + base-sim: allow creating preinitialized SIM objects + + The default SIM creation method will attempt to initialize the SIM + properties during the object creation. + + This new method allows creating SIM objects with already known + property values, and therefore not explicitly running the + asynchronous initialization process. + + src/mm-base-sim.c | 29 +++++++++++++++++++++++++++++ + src/mm-base-sim.h | 9 +++++++++ + 2 files changed, 38 insertions(+) + +commit c999c8e9cf54a6ef34b16325c32a03aa1e31db2d +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:19 2020 +0200 + + base-sim: new 'slot number' property + + This new property helps us identify in which SIM slot the SIM card is + inserted, when multiple slots are available, in the [1,N] range. + + For the single-SIM systems this value will always be '0'. + + This property is not publicly exposed in DBus, it is considered an + implementation detail. + + src/mm-base-sim.c | 25 +++++++++++++++++++++++++ + src/mm-base-sim.h | 9 ++++++--- + 2 files changed, 31 insertions(+), 3 deletions(-) + +commit 842ad4bd64404e4a98d089c9a8fa60715c7018c6 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:16 2020 +0200 + + base-sim: only allow operations on active SIMs + + If a SIM is inactive we cannot perform any SIM-PIN or SIM-PUK related + operation with it. + + src/mm-base-sim.c | 56 + +++++++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 48 insertions(+), 8 deletions(-) + +commit 86a183778b5b123f6556ecbe53ec7d06d6e7c575 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:13 2020 +0200 + + api,sim: new 'Active' property + + In preparation for the multi-SIM setup, we need a way to tell whether + a given SIM card is active or not in the system. + + On systems with one single SIM slot, the available SIM card will + always be active. + + On Multi-SIM Single-Standby setups we may have multiple SIM slots with + multiple SIM cards, but only one of them will be active at any given + time. + + On Multi-SIM Multi-Standby setups we may have multiple SIM slots with + multiple SIM cards that may be active at the same time. E.g. the QMI + protocol allows up to 5 different active SIM cards (primary, + secondary, tertiary...). + + cli/mmcli-output.c | 1 + + cli/mmcli-output.h | 1 + + cli/mmcli-sim.c | 1 + + docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++ + introspection/org.freedesktop.ModemManager1.Sim.xml | 13 +++++++++++++ + libmm-glib/mm-sim.c | 20 + ++++++++++++++++++++ + libmm-glib/mm-sim.h | 2 ++ + plugins/huawei/mm-sim-huawei.c | 1 + + plugins/iridium/mm-sim-iridium.c | 1 + + plugins/mbm/mm-sim-mbm.c | 1 + + plugins/nokia/mm-sim-nokia.c | 1 + + plugins/novatel/mm-sim-novatel-lte.c | 1 + + plugins/pantech/mm-sim-pantech.c | 1 + + plugins/sierra/mm-sim-sierra.c | 1 + + plugins/ublox/mm-sim-ublox.c | 1 + + src/mm-base-sim.c | 1 + + src/mm-sim-mbim.c | 1 + + src/mm-sim-qmi.c | 1 + + 18 files changed, 52 insertions(+) + +commit 48973e3d72307ca84375d1c7811eb0b04def91ce Author: David Leonard Date: Wed Aug 26 14:37:10 2020 +1000 @@ -1129,12 +5476,10 @@ Date: Wed Aug 26 14:37:10 2020 +1000 Fix thanks to Peter Hunt - (cherry picked from commit 48973e3d72307ca84375d1c7811eb0b04def91ce) - src/mm-sms-part-cdma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 5bbef22215bf3cfead5436a431543c17a6ffa29f +commit 599f545c0d905505516c6546ff77caced2aa14f1 Author: Aleksander Morgado Date: Thu Aug 20 12:18:05 2020 +0200 @@ -1154,15 +5499,13 @@ Date: Thu Aug 20 12:18:05 2020 +0200 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/250 - (cherry picked from commit 599f545c0d905505516c6546ff77caced2aa14f1) - src/mm-sms-part-3gpp.c | 159 +++++++++++++++++++++-------------------- src/mm-sms-part.h | 18 ++++- src/tests/test-sms-part-3gpp.c | 78 ++++++++++++++++---- 3 files changed, 165 insertions(+), 90 deletions(-) -commit f38c3bf7615b9d8366598f32cdd645d0bc503363 +commit 81162df15dc9a409d0979ff8d472a026f31ed883 Author: Aleksander Morgado Date: Thu Aug 20 11:32:18 2020 +0200 @@ -1171,14 +5514,12 @@ Date: Thu Aug 20 11:32:18 2020 +0200 Mostly to use GLib types like gchar or gint, and also to use G_N_ELEMENTS() instead of custom end of array terminating items. - (cherry picked from commit 81162df15dc9a409d0979ff8d472a026f31ed883) - src/mm-charsets.c | 290 ++++++++++++++++++++++++++++-------------------------- src/mm-charsets.h | 42 ++++---- 2 files changed, 170 insertions(+), 162 deletions(-) -commit 901426c3ac3e52971e06530066ac6527ab7cb08f +commit eb5443b197464e55c85d7a8af67a28f2088506a3 Author: Aleksander Morgado Date: Thu Aug 20 10:58:24 2020 +0200 @@ -1187,75 +5528,99 @@ Date: Thu Aug 20 10:58:24 2020 +0200 Just as an implementation detail to be taken as an extension of UCS2BE, never really to be used as a real modem charset. - (cherry picked from commit eb5443b197464e55c85d7a8af67a28f2088506a3) - src/mm-charsets.c | 16 ++++++++++++++-- src/mm-charsets.h | 3 ++- src/tests/test-charsets.c | 18 ++++++++++-------- 3 files changed, 26 insertions(+), 11 deletions(-) -commit 55f90b1dafcd50fec79b20e4ecd73a31b2a86339 +commit 93686510d737bc373100beaeeb3edb7ca091a3f0 Author: Aleksander Morgado Date: Thu Aug 20 10:57:01 2020 +0200 sms-part-3gpp: minor refactor in text split logic - (cherry picked from commit 93686510d737bc373100beaeeb3edb7ca091a3f0) - src/mm-sms-part-3gpp.c | 167 ++++++++++++++++++++++++++++--------------------- 1 file changed, 94 insertions(+), 73 deletions(-) -commit 028b359d0365f6750834aed90bd545c1a5768cc3 +commit d43d595c0270ff5fdbe62626679493d97824c668 Author: Aleksander Morgado -Date: Wed Aug 19 18:34:04 2020 +0200 - - build: post-release version bump to 1.14.3 +Date: Wed Aug 19 14:55:41 2020 +0200 - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + broadband-modem-qmi: avoid unused functions -commit 88bbae4fe8b2b3b4dfca6bf4370a8124810ed74f -Author: Aleksander Morgado -Date: Wed Aug 19 18:09:32 2020 +0200 + Only applicable when building with WITH_NEWEST_QMI_COMMANDS. - release: bump version to 1.14.2 + mm-broadband-modem-qmi.c:4741:1: error: + ‘common_enable_disable_unsolicited_events_signal_strength’ + defined but not used [-Werror=unused-function] + 4741 | common_enable_disable_unsolicited_events_signal_strength + (GTask *task) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mm-broadband-modem-qmi.c:4528:1: error: + ‘serving_system_indication_cb’ defined but not used + [-Werror=unused-function] + 4528 | serving_system_indication_cb (QmiClientNas *client, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mm-broadband-modem-qmi.c:3468:1: error: + ‘common_enable_disable_unsolicited_registration_events_serving_system’ + defined but not used [-Werror=unused-function] + 3468 | + common_enable_disable_unsolicited_registration_events_serving_system + (GTask *task) + | + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mm-broadband-modem-qmi.c:2812:1: error: + ‘get_serving_system_3gpp_ready’ defined but not used + [-Werror=unused-function] + 2812 | get_serving_system_3gpp_ready (QmiClientNas *client, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mm-broadband-modem-qmi.c:1652:1: error: + ‘get_signal_strength_ready’ defined but not used + [-Werror=unused-function] + 1652 | get_signal_strength_ready (QmiClientNas *client, - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/mm-broadband-modem-qmi.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) -commit d2b1beb9ea73af92555e173bb84d1092ac36f06f +commit 9b8fb447b0b2b967fe7fbb980ed2debd12be67ed Author: Aleksander Morgado -Date: Wed Aug 19 18:08:31 2020 +0200 +Date: Wed Aug 19 14:48:12 2020 +0200 - NEWS: update for 1.14.2 + broadband-modem-qmi: fix type comparison - NEWS | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) + Only applicable when building with WITH_NEWEST_QMI_COMMANDS. -commit 901d994a1291864ac0ec493401f95f7148c139c5 -Author: root -Date: Thu Aug 13 11:25:59 2020 +0800 + mm-broadband-modem-qmi.c: In function ‘process_common_info’: + mm-broadband-modem-qmi.c:2924:20: error: comparison is always + false due to limited range of data type [-Werror=type-limits] + 2924 | if (mnc[2] == 0xFF) { + | ^~ - quectel: allow MBIM devices + src/mm-broadband-modem-qmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 65f56122b53f52dfd9b5ffdcce53d829d80b31e7 +Author: Aleksander Morgado +Date: Wed Aug 19 14:59:01 2020 +0200 - (cherry picked from commit d9a64c74ff0244b96a44fa27abcdc411d29f4874) + ci: add build test for WITH_NEWEST_QMI_COMMANDS - plugins/quectel/mm-plugin-quectel.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) + We keep this logic around, so lets add a build test as well. + + .gitlab-ci.yml | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) -commit ec1ddf30828adc743d09412d64bd36b83b84e5bd +commit 5346d3c55c7ffc38af58c879fd426a2c3accd489 Author: carlyin Date: Sun Aug 16 16:55:25 2020 +0800 quectel: add port type hints for the Quectel 5G RM500 - (cherry picked from commit 5346d3c55c7ffc38af58c879fd426a2c3accd489) - plugins/quectel/77-mm-quectel-port-types.rules | 10 ++++++++++ 1 file changed, 10 insertions(+) -commit f192ffc3774a02dc451216b7ad0fae2d0df47b80 +commit de23b53ee4d91367b50a960f8b19b2e29449e49a Author: Aleksander Morgado Date: Sun Aug 16 11:13:26 2020 +0200 @@ -1265,24 +5630,29 @@ Date: Sun Aug 16 11:13:26 2020 +0200 If splitting the +CPMS=? response in groups fails, make sure we set the GError when returning FALSE. - (cherry picked from commit de23b53ee4d91367b50a960f8b19b2e29449e49a) - src/mm-modem-helpers.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -commit 37af15eba298c0676225d4dded01a65495655028 +commit 55ae47a3bb874991ca621e4aa17cf16b08d28139 Author: Aleksander Morgado Date: Sun Aug 16 11:06:57 2020 +0200 quectel: add udev rules unit tester - (cherry picked from commit 55ae47a3bb874991ca621e4aa17cf16b08d28139) - plugins/Makefile.am | 5 +++-- plugins/tests/test-udev-rules.c | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) -commit 0d53df68c78203bc2f2f4ee279a20f0306a6b41b +commit d9a64c74ff0244b96a44fa27abcdc411d29f4874 +Author: root +Date: Thu Aug 13 11:25:59 2020 +0800 + + quectel: allow MBIM devices + + plugins/quectel/mm-plugin-quectel.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 7cd373589cb7d81633a5df279e0b63c405cc2bb6 Author: Aleksander Morgado Date: Tue Aug 4 16:33:11 2020 +0200 @@ -1390,13 +5760,11 @@ Date: Tue Aug 4 16:33:11 2020 +0200 (0x01) <<<<<< length = 4 <<<<<< value = 00:00:00:00 <<<<<< translated = 0 - (cherry picked from commit 7cd373589cb7d81633a5df279e0b63c405cc2bb6) - src/mm-bearer-qmi.c | 65 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 22 deletions(-) -commit 8c0872fb554dc4bd07b3498d34be1b8ed5d082dc +commit 16e3bb892d25e3cb7796889082943b073924a695 Author: Aleksander Morgado Date: Tue Aug 4 14:13:45 2020 +0200 @@ -1458,12 +5826,10 @@ Date: Tue Aug 4 14:13:45 2020 +0200 3GPP unregistration' timeout expires, as that will force the bearer to be disconnected. - (cherry picked from commit 16e3bb892d25e3cb7796889082943b073924a695) - src/mm-iface-modem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -commit b7852f658775c903192f1065d5e938ec6319c27d +commit 2f684ce92ea9cc772a36db2e7bd9d48e677d3935 Author: Giacinto Cifelli Date: Tue Aug 11 14:26:13 2020 +0200 @@ -1479,23 +5845,78 @@ Date: Tue Aug 11 14:26:13 2020 +0200 af2d6c1c4b7f815862313bf0f84b1ff0e91ccd60, but we didn't remove the IPv4 limitation at that point. - (cherry picked from commit 2f684ce92ea9cc772a36db2e7bd9d48e677d3935) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 8 -------- - 1 file changed, 8 deletions(-) + plugins/cinterion/mm-broadband-modem-cinterion.c | 7 ------- + 2 files changed, 15 deletions(-) -commit 660e8612b3f77fd1074b91e9586a3a5c5d63fc67 +commit a36beb0a958f65bcaa5939e04bf340d98d4180a1 Author: Giacinto Cifelli Date: Tue Aug 11 07:10:36 2020 +0200 cinterion: clarify role of the AT ports for the ELS61/PLS62 family - (cherry picked from commit a36beb0a958f65bcaa5939e04bf340d98d4180a1) - plugins/cinterion/77-mm-cinterion-port-types.rules | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -commit e34d1fffa16cf931736425509559db6f156c4226 +commit e2ab49db0f5078716156c70a23f8f5d5b6d27848 +Author: Giacinto Cifelli +Date: Mon Jul 27 10:29:14 2020 +0200 + + cinterion: setup initial LTE parameters + + plugins/cinterion/mm-broadband-bearer-cinterion.c | 37 +- + plugins/cinterion/mm-broadband-bearer-cinterion.h | 7 + + plugins/cinterion/mm-broadband-modem-cinterion.c | 563 + ++++++++++++++++++++- + plugins/cinterion/mm-modem-helpers-cinterion.c | 52 ++ + plugins/cinterion/mm-modem-helpers-cinterion.h | 9 + + .../cinterion/tests/test-modem-helpers-cinterion.c | 66 +++ + 6 files changed, 722 insertions(+), 12 deletions(-) + +commit 28ad994e372dc58e474567c70adbb0f58022cb22 +Author: Aleksander Morgado +Date: Mon Aug 10 19:26:56 2020 +0200 + + sierra: XMM-specific features in XMM based modems (e.g. EM7345) + + We create XMM-based modems like the EM7345 with XMM-specific features + like the AT+XLCSLSR based GNSS support. E.g.: + + $ mmcli -m a --location-status + ------------------------ + Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, + agps-msa, agps-msb + | enabled: 3gpp-lac-ci + | signals: no + ------------------------ + GPS | refresh rate: 30 seconds + + $ sudo mmcli -m a --location-enable-gps-nmea + successfully setup location gathering + + $ sudo mmcli -m a --location-get + -------------------------- + 3GPP | operator code: 214 + | operator name: 7 + | location area code: 0000 + | tracking area code: 6FFE + | cell id: 0465CD20 + -------------------------- + GPS | nmea: $GPGSA,A,1,,,,,,,,,,,,,,,*1E + | $GNGSA,A,1,,,,,,,,,,,,,,,,1*1D + | $GNRMC,235951.000,V,,,,,,,,,,N,V*20 + | $GNVTG,,T,,M,,N,,K,N*32 + | $GNGGA,235951.000,,,,,0,0,,,M,,M,,*5F + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/25 + + configure.ac | 3 ++- + plugins/Makefile.am | 1 + + plugins/sierra/mm-plugin-sierra.c | 20 ++++++++++++++++++++ + 3 files changed, 23 insertions(+), 1 deletion(-) + +commit 422a9070c40c48847870cb2cf141fe102cd72cba Author: Giacinto Cifelli Date: Tue Aug 4 11:04:17 2020 +0200 @@ -1505,38 +5926,41 @@ Date: Tue Aug 4 11:04:17 2020 +0200 (ctx->modem here) and not to a *MMBaseBearer (self here) - (cherry picked from commit 422a9070c40c48847870cb2cf141fe102cd72cba) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 0e57e5ce93f39ad1cf8d18be6e3aaeee4c49cad0 +commit 1620f04b9b1b3166c37ca7e9170322df1e185258 +Author: Aleksander Morgado +Date: Sat Aug 1 09:59:10 2020 +0200 + + mmcli,output: use 'path' instead of 'dbus path' in field descriptions + + cli/mmcli-output.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 74dd28c4e31cca38d0b4c7ed034af4226566b404 Author: Aleksander Morgado Date: Sat Aug 1 09:59:05 2020 +0200 broadband-modem: minor method rename - (cherry picked from commit 74dd28c4e31cca38d0b4c7ed034af4226566b404) - plugins/telit/mm-broadband-modem-telit.c | 2 +- src/mm-broadband-modem-mbim.c | 2 +- src/mm-broadband-modem.c | 4 ++-- src/mm-broadband-modem.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) -commit 38151a0c8fe131ec3a23a9f8961ec97d2c6b3733 +commit 130ea74cc953e9029a9a1662a788048ac765a0b3 Author: Aleksander Morgado Date: Sat Aug 1 09:59:01 2020 +0200 iface-modem: move sim hot swap ready to correct place in sequence - (cherry picked from commit 130ea74cc953e9029a9a1662a788048ac765a0b3) - src/mm-iface-modem.c | 53 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) -commit 47074c17a2b0ff32b122069307a98173a6fcf8d3 +commit 4f1da8797213fb79856a5e8e1c6e6dca7236c2e0 Author: Giacinto Cifelli Date: Mon Jul 27 12:27:26 2020 +0200 @@ -1548,24 +5972,20 @@ Date: Mon Jul 27 12:27:26 2020 +0200 Fortunately, all modules of the IMT family tolerate this syntax, so it can be adopted for the entire family. - (cherry picked from commit 4f1da8797213fb79856a5e8e1c6e6dca7236c2e0) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 ++ 1 file changed, 2 insertions(+) -commit 6ad247f89840f5bc245a6c9e65f8ccf8fed1709a +commit 07ac85e2f70706e377c2019b07ce29958c70668c Author: Giacinto Cifelli Date: Mon Jul 27 12:24:17 2020 +0200 cinterion: ignore ^SYSSTART urc - (cherry picked from commit 07ac85e2f70706e377c2019b07ce29958c70668c) - plugins/cinterion/mm-broadband-modem-cinterion.c | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) -commit 8b3eac8323129565b007f5460972086170e67204 +commit 408ec530e0442137194cf048de72183011fdc40b Author: Giacinto Cifelli Date: Mon Jul 27 06:23:52 2020 +0200 @@ -1575,15 +5995,13 @@ Date: Mon Jul 27 06:23:52 2020 +0200 AT^SGAUTH=cid,type,user,pwd for the IMT family AT^SGAUTH=cid,type,pwd,user for the rest - (cherry picked from commit 408ec530e0442137194cf048de72183011fdc40b) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 19 +++++++++++++++++-- plugins/cinterion/mm-broadband-modem-cinterion.c | 8 ++++++++ plugins/cinterion/mm-broadband-modem-cinterion.h | 3 +++ 3 files changed, 28 insertions(+), 2 deletions(-) -commit bd940922ed623d27b0266a411f6dfc808274b8c9 +commit cec6fe9cce4f7f49f941262d48d081e30f8ea444 Author: Giacinto Cifelli Date: Fri Jul 24 16:25:03 2020 +0200 @@ -1596,14 +6014,34 @@ Date: Fri Jul 24 16:25:03 2020 +0200 at the time of this operation, and therefore the string was unchanged anyway. - (cherry picked from commit cec6fe9cce4f7f49f941262d48d081e30f8ea444) - plugins/cinterion/mm-modem-helpers-cinterion.c | 13 ++----------- plugins/cinterion/tests/test-modem-helpers-cinterion.c | 18 ------------------ 2 files changed, 2 insertions(+), 29 deletions(-) -commit ddcac7fda32ed6da7781966ab5ed08c473b21ffe +commit 4d58278d7ffd65375e93b0da85ca88c08cba96c2 +Author: Giacinto Cifelli +Date: Wed Jul 22 06:58:22 2020 +0200 + + changed default authentication algorithm to CHAP + + CHAP is almost universal nowadays, and so it is a better default + than PAP + + Not changed for uBlox, that prefers an error if not specified, + and for Huawei, which uses NONE with user/pwd and has 2 CHAP choices + + plugins/cinterion/mm-broadband-bearer-cinterion.c | 6 +++--- + plugins/huawei/mm-broadband-bearer-huawei.c | 12 ++++++------ + plugins/icera/mm-broadband-bearer-icera.c | 10 +++++----- + plugins/option/mm-broadband-bearer-hso.c | 10 +++++----- + plugins/sierra/mm-broadband-bearer-sierra.c | 10 +++++----- + plugins/ublox/mm-broadband-bearer-ublox.c | 4 ++-- + src/mm-bearer-qmi.c | 6 +++--- + src/mm-modem-helpers-mbim.c | 8 ++++---- + 8 files changed, 33 insertions(+), 33 deletions(-) + +commit c70b3557184fdf1472ff0cb36e9fd937cc7f9024 Author: Sven Schwermer Date: Fri Jul 3 15:16:26 2020 +0200 @@ -1617,13 +6055,12 @@ Date: Fri Jul 3 15:16:26 2020 +0200 Signed-off-by: Sven Schwermer - (cherry picked from commit c70b3557184fdf1472ff0cb36e9fd937cc7f9024) src/mm-shared-qmi.c | 138 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 105 insertions(+), 33 deletions(-) -commit 83f2717ea4794ef92f5dc93d8a93d3d92602372e +commit 47a28114baa2504c16bf2bca2325cefe426aea95 Author: Justin Standring Date: Thu Jul 16 13:21:23 2020 +1200 @@ -1636,73 +6073,11 @@ Date: Thu Jul 16 13:21:23 2020 +1200 ^ Signed-off-by: Justin Standring - (cherry picked from commit 47a28114baa2504c16bf2bca2325cefe426aea95) src/mm-broadband-modem-qmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -commit c4c840fca4fda4f24492c39e7145abeadd9e73ce -Author: Aleksander Morgado -Date: Wed Aug 19 14:55:41 2020 +0200 - - broadband-modem-qmi: avoid unused functions - - Only applicable when building with WITH_NEWEST_QMI_COMMANDS. - - mm-broadband-modem-qmi.c:4741:1: error: - ‘common_enable_disable_unsolicited_events_signal_strength’ - defined but not used [-Werror=unused-function] - 4741 | common_enable_disable_unsolicited_events_signal_strength - (GTask *task) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - mm-broadband-modem-qmi.c:4528:1: error: - ‘serving_system_indication_cb’ defined but not used - [-Werror=unused-function] - 4528 | serving_system_indication_cb (QmiClientNas *client, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ - mm-broadband-modem-qmi.c:3468:1: error: - ‘common_enable_disable_unsolicited_registration_events_serving_system’ - defined but not used [-Werror=unused-function] - 3468 | - common_enable_disable_unsolicited_registration_events_serving_system - (GTask *task) - | - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - mm-broadband-modem-qmi.c:2812:1: error: - ‘get_serving_system_3gpp_ready’ defined but not used - [-Werror=unused-function] - 2812 | get_serving_system_3gpp_ready (QmiClientNas *client, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - mm-broadband-modem-qmi.c:1652:1: error: - ‘get_signal_strength_ready’ defined but not used - [-Werror=unused-function] - 1652 | get_signal_strength_ready (QmiClientNas *client, - - (cherry picked from commit 0f60b225a21cc69291b7783c58e8f957ff426ee4) - - src/mm-broadband-modem-qmi.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -commit 53a787a531215ccd46eb8f8709f87ecc02d8d60d -Author: Aleksander Morgado -Date: Wed Aug 19 14:48:12 2020 +0200 - - broadband-modem-qmi: fix type comparison - - Only applicable when building with WITH_NEWEST_QMI_COMMANDS. - - mm-broadband-modem-qmi.c: In function ‘process_common_info’: - mm-broadband-modem-qmi.c:2924:20: error: comparison is always - false due to limited range of data type [-Werror=type-limits] - 2924 | if (mnc[2] == 0xFF) { - | ^~ - - (cherry picked from commit 0a5ab352e137e9c18a0c59be0533fde0bd307f03) - - src/mm-broadband-modem-qmi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1fca2c2b492a29488ae117c9f9f2b3be83d90b2e +commit 6ec12add1ba6625a8470ae3cf7b30cefcf28d503 Author: Justin Standring Date: Thu Jul 16 12:55:31 2020 +1200 @@ -1741,12 +6116,11 @@ Date: Thu Jul 16 12:55:31 2020 +1200 ^~~~ Signed-off-by: Justin Standring - (cherry picked from commit 6ec12add1ba6625a8470ae3cf7b30cefcf28d503) - src/mm-broadband-modem-qmi.c | 26 +++++++++++++++++--------- - 1 file changed, 17 insertions(+), 9 deletions(-) + src/mm-broadband-modem-qmi.c | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) -commit e519cac608c2e28a60dc9fc8d54d49c8def36b8d +commit e98bc7cc0803595db8eb498817fb0d5f99d25813 Author: Aleksander Morgado Date: Wed Jul 8 11:40:41 2020 +0200 @@ -1755,12 +6129,10 @@ Date: Wed Jul 8 11:40:41 2020 +0200 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/240 - (cherry picked from commit e98bc7cc0803595db8eb498817fb0d5f99d25813) - src/mm-broadband-modem-qmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 864b8cdae76c7be976a3b61599318e44cb7ca5aa +commit a131c6953a0a24a6ed8c365cb5e398fa5e52afcf Author: Aleksander Morgado Date: Mon Jul 6 16:53:08 2020 +0200 @@ -1774,12 +6146,10 @@ Date: Mon Jul 6 16:53:08 2020 +0200 [modem6/ttyACM1/at] --> 'AT^SGAUTH=8,1,"t-mobile","tm"' [modem6/ttyACM1/at] <-- 'OK' - (cherry picked from commit a131c6953a0a24a6ed8c365cb5e398fa5e52afcf) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -commit 44175db16c4ad83a35a0661a3758c90b3cf2ce8c +commit 0a89a9ae4ee62ba36b616fc444a866d61c203696 Author: Aleksander Morgado Date: Mon Jul 6 16:23:57 2020 +0200 @@ -1790,12 +6160,10 @@ Date: Mon Jul 6 16:23:57 2020 +0200 We should use an empty string instead. - (cherry picked from commit 0a89a9ae4ee62ba36b616fc444a866d61c203696) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -commit d544b93d484b315a7e04bd93343d30963ca04a92 +commit e933fe14130b20785b6ddd2993a8fc982976c7af Author: Aleksander Morgado Date: Thu Jun 25 18:43:57 2020 +0200 @@ -1813,12 +6181,20 @@ Date: Thu Jun 25 18:43:57 2020 +0200 ModemManager[26829]: [1593098091.167987] [modem1] port ttyACM0 timed out 10 consecutive times, marking modem as invalid - (cherry picked from commit e933fe14130b20785b6ddd2993a8fc982976c7af) - plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit ca66500716d798a91a617ca6c4c502e2f75c25d7 +commit bdbd0fc049f7e818b8ac29285bcbf187d9a0b8ed +Author: Aleksander Morgado +Date: Sat Jul 4 06:08:40 2020 +0200 + + iface-modem-signal: port skeleton update logic to use g_autoptr + + src/mm-iface-modem-signal.c | 112 + +++++++++++++++++--------------------------- + 1 file changed, 44 insertions(+), 68 deletions(-) + +commit 3d138f9f80823d2caafbc5117329b43472fe7d45 Author: Aleksander Morgado Date: Sat Jul 4 06:02:37 2020 +0200 @@ -1827,45 +6203,66 @@ Date: Sat Jul 4 06:02:37 2020 +0200 It won't do anything because clear_values() tries to get the skeleton from the modem object, and the skeleton hasn't been set at that point. - (cherry picked from commit 3d138f9f80823d2caafbc5117329b43472fe7d45) - src/mm-iface-modem-signal.c | 1 - 1 file changed, 1 deletion(-) -commit 4b4350e10197695742778949d8069b7d7f890838 +commit c79dcf794041724b5504a9576b07c1e53ca0affb Author: Aleksander Morgado Date: Sat Jul 4 05:47:25 2020 +0200 cinterion,signal: ^SMONI=? support check may be cached - (cherry picked from commit c79dcf794041724b5504a9576b07c1e53ca0affb) - plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit ac79b07699ae4a2ece6771bd222e266839887217 +commit ee262a473dcfd5702f66c532d42285c2763bad11 Author: Aleksander Morgado Date: Sat Jul 4 05:46:56 2020 +0200 cinterion,signal: report error from parent signal support check - (cherry picked from commit ee262a473dcfd5702f66c532d42285c2763bad11) - plugins/cinterion/mm-broadband-modem-cinterion.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -commit 20c63bc0a354b32255526d25d8bc51456b99c762 +commit 2cb8e5ef5d30330442af152fa7d65ec7cc612e89 Author: Aleksander Morgado Date: Sat Jul 4 05:45:28 2020 +0200 cinterion,signal: minor coding style fixes - (cherry picked from commit 2cb8e5ef5d30330442af152fa7d65ec7cc612e89) - plugins/cinterion/mm-broadband-modem-cinterion.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) -commit 71573a4ef93b5d3e828c16fba6b755411f5a1939 +commit 900f318d535f5775a544ae8b1551efb931460392 +Author: Aleksander Morgado +Date: Sat Jul 4 06:32:04 2020 +0200 + + docs,libmm-glib: add missing nr5g methods in signal interface + + docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++ + 1 file changed, 3 insertions(+) + +commit 6f6c09007667828d70708cedc04bbb9b680504ec +Author: Aleksander Morgado +Date: Sat Jul 4 05:55:17 2020 +0200 + + broadband-modem: remove misleading comment + + 5GNR is not 3GPP2 + + src/mm-broadband-modem.c | 1 - + 1 file changed, 1 deletion(-) + +commit 24670498bc1431388d670f07284e3a1c339b08fc +Author: Aleksander Morgado +Date: Sat Jul 4 05:53:43 2020 +0200 + + broadband-modem-qmi: minor alignment updates + + src/mm-broadband-modem-qmi.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +commit 10ee7f4cd9d8af46822959fc84055bac45f5c56b Author: Aleksander Morgado Date: Sat Jul 4 05:37:59 2020 +0200 @@ -1874,12 +6271,58 @@ Date: Sat Jul 4 05:37:59 2020 +0200 E.g. if 'gsm' pointer is given, make sure it's always set (either to a MMSignal or to NULL). - (cherry picked from commit 10ee7f4cd9d8af46822959fc84055bac45f5c56b) + src/mm-broadband-modem-mbim.c | 27 ++++++++------------------- + 1 file changed, 8 insertions(+), 19 deletions(-) - src/mm-broadband-modem-mbim.c | 20 ++++++-------------- - 1 file changed, 6 insertions(+), 14 deletions(-) +commit 0dd1f122221aae8d4c5b16802f5f47601ff99e10 +Author: Aleksander Morgado +Date: Sat Jul 4 05:35:00 2020 +0200 + + mbim,signal: provide 5G signal info if loaded by parent implementation + + src/mm-broadband-modem-mbim.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit 88923ffe3996fdef83dc13a7a4762855af77706d +Author: Walter Hagstrom +Date: Tue Jun 23 11:14:43 2020 -0400 + + iface-modem-signal: added 5G signal information + + Extended the ModemManager Signal interface to include 5G signal + information for RSRP, RSRQ and SINR via libqmi. Also extended mmci + to print 5G signal info. + + cli/mmcli-modem-signal.c | 16 ++++++ + cli/mmcli-output.c | 4 ++ + cli/mmcli-output.h | 4 ++ + docs/reference/libmm-glib/libmm-glib-sections.txt | 2 + + .../org.freedesktop.ModemManager1.Modem.Signal.xml | 38 +++++++++++++ + libmm-glib/mm-modem-signal.c | 62 + +++++++++++++++++++++- + libmm-glib/mm-modem-signal.h | 3 ++ + plugins/cinterion/mm-broadband-modem-cinterion.c | 5 +- + plugins/huawei/mm-broadband-modem-huawei.c | 3 ++ + plugins/xmm/mm-shared-xmm.c | 3 ++ + plugins/xmm/mm-shared-xmm.h | 1 + + src/mm-broadband-modem-mbim.c | 6 ++- + src/mm-broadband-modem-qmi.c | 54 + +++++++++++++------ + src/mm-broadband-modem.c | 4 ++ + src/mm-iface-modem-signal.c | 12 +++++ + src/mm-iface-modem-signal.h | 1 + + 16 files changed, 198 insertions(+), 20 deletions(-) + +commit 711b17278edecbc474418ecf95e7582f515711cb +Author: Aleksander Morgado +Date: Sat Jul 4 05:29:36 2020 +0200 -commit 1b78d254fa15150cd14057e5ade48fe5b5328243 + build: require 5G signal info support from libqmi 1.27.1 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6df9cc084489a3aa8ab06b1e87f597b96dc79ffa Author: Adrien Plazas Date: Fri Jul 3 08:26:57 2020 +0200 @@ -1887,12 +6330,10 @@ Date: Fri Jul 3 08:26:57 2020 +0200 This satisfies -Werror=maybe-uninitialized. - (cherry picked from commit 6df9cc084489a3aa8ab06b1e87f597b96dc79ffa) - src/mm-plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -commit 5f8bf97021ec23f7a61a6d690cd8a7f819c54d70 +commit fff47478cc5887176830a5debe2c4204434c222f Author: Daniele Palmas Date: Thu Jul 2 13:09:19 2020 +0200 @@ -1902,12 +6343,56 @@ Date: Thu Jul 2 13:09:19 2020 +0200 in order to differentiate between ME910C1 (based on MDM9206) and MEx10G1 (based on MDM9205). - (cherry picked from commit fff47478cc5887176830a5debe2c4204434c222f) - plugins/telit/77-mm-telit-port-types.rules | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -commit f5bd1807197696266fe492669a0d63cdef999096 +commit 23f8b580c3f394c10404ea346202cbe8997026db +Author: Aleksander Morgado +Date: Tue Jun 30 13:11:17 2020 +0200 + + quectel,shared: implement custom time support check + + We require CTZU=3 during the time support check, instead of CTZU=1, so + that the Quectel modem reports localtime instead of UTC time in +CCLK. + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233 + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 15 ++++++++-- + plugins/quectel/mm-broadband-modem-quectel.c | 14 ++++++++-- + plugins/quectel/mm-shared-quectel.c | 35 + +++++++++++++++++++++++- + plugins/quectel/mm-shared-quectel.h | 10 ++++++- + 4 files changed, 68 insertions(+), 6 deletions(-) + +commit ffca45d9cc416879881b75fb93880aee8c7563d2 +Author: Aleksander Morgado +Date: Mon Jun 29 10:46:47 2020 +0200 + + quectel,shared: add GPS trace handler + + plugins/quectel/mm-shared-quectel.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +commit 70b7218b7b303ba01f0be20ee14f1e4186884f79 +Author: Aleksander Morgado +Date: Mon Jun 29 10:23:37 2020 +0200 + + huawei: only flag GPS source as enabled if it was successful + + plugins/huawei/mm-broadband-modem-huawei.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit af8afcc6c9fd6eb6b88d43c88dee013d4a02c0cf +Author: Aleksander Morgado +Date: Mon Jun 29 10:13:44 2020 +0200 + + quectel,shared: only flag GPS source as enabled if it was successful + + plugins/quectel/mm-shared-quectel.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit 619b054e5c874844a73594a724b4e5ce5ec18b6d Author: Aleksander Morgado Date: Mon Jun 29 10:06:18 2020 +0200 @@ -1942,16 +6427,253 @@ Date: Mon Jun 29 10:06:18 2020 +0200 (gdb) p traces $1 = (GStrv) 0x0 - (cherry picked from commit 619b054e5c874844a73594a724b4e5ce5ec18b6d) - libmm-glib/mm-location-gps-nmea.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -commit 19416aa725131865c6af8ce76f35e0116f7d0de8 +commit 60211b51b112db23c07dfd62dd6336a964a287e0 +Author: Aleksander Morgado +Date: Mon Jun 29 09:57:28 2020 +0200 + + quectel,shared: use QGPS=? test to check capabilities + + plugins/quectel/mm-shared-quectel.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 58dbb68fa0c0a30d33d93969016f39880b142920 +Author: Aleksander Morgado +Date: Sun Jun 28 15:05:14 2020 +0200 + + quectel,qmi: add QGPS based fallback support + + plugins/quectel/mm-broadband-modem-qmi-quectel.c | 28 + ++++++++++++++++++++++-- + 1 file changed, 26 insertions(+), 2 deletions(-) + +commit 78d19c10ba50bbe6525e7f58d28e96e3e4614d86 +Author: Aleksander Morgado +Date: Sun Jun 28 14:57:49 2020 +0200 + + quectel,shared: port GPS enabling to use AT sequence + + plugins/quectel/mm-shared-quectel.c | 101 + ++++++++++++++---------------------- + 1 file changed, 38 insertions(+), 63 deletions(-) + +commit 41ba7d667ab7b6e7161a96b559823c832a3b8ba5 +Author: Aleksander Morgado +Date: Sun Jun 28 14:41:47 2020 +0200 + + huawei: simplify GPS stop logic + + The NMEA data port is closed right before stopping the engine. + + plugins/huawei/mm-broadband-modem-huawei.c | 69 + +++++++++++++----------------- + 1 file changed, 29 insertions(+), 40 deletions(-) + +commit aa4851ed03932fed5e4401e6d3e8c4fa0a20f589 +Author: Aleksander Morgado +Date: Sun Jun 28 14:22:24 2020 +0200 + + huawei: port GPS enabling to use AT sequence + + plugins/huawei/mm-broadband-modem-huawei.c | 143 + +++++++++++------------------ + 1 file changed, 53 insertions(+), 90 deletions(-) + +commit bbca65d682d6de03ba199a5a0a5c388e90e2764c +Author: Aleksander Morgado +Date: Sun Jun 28 11:43:51 2020 +0200 + + quectel,shared: skip QGPS? check after enabling/disabling failures + + If any enabling/disabling command fails, we consider the operation + failed, regardless of the QGPS status. This is because e.g. enabling + involves more operations than just QGPS=1, and so we should treat a + failure in the command sequence as a failure in the whole operation. + + plugins/quectel/mm-shared-quectel.c | 290 + ++++++++++++------------------------ + 1 file changed, 96 insertions(+), 194 deletions(-) + +commit bbfc10d7c5246b120e71143f59e1ea66e052a018 +Author: Aleksander Morgado +Date: Sun Jun 28 11:38:48 2020 +0200 + + huawei: minor refactor in GPS enabling/disabling logic + + plugins/huawei/mm-broadband-modem-huawei.c | 131 + ++++++++++++++--------------- + 1 file changed, 65 insertions(+), 66 deletions(-) + +commit 538ed3f24e9ec5d64abc1543476e5ee34b504455 +Author: Aleksander Morgado +Date: Sun Jun 28 11:06:06 2020 +0200 + + quectel,shared: don't report GPS capabilities if no GPS port found + + The QGPS based implementation needs the existence of a port flagged as + GPS data; if there is no such port, we cannot provide GPS support. + + plugins/quectel/mm-shared-quectel.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 77f6637750362a8c319e2debc6f781ceb217675a +Author: Aleksander Morgado +Date: Sun Jun 28 11:04:20 2020 +0200 + + quectel,shared: fix reporting supported location capabilities + + The method that reports what location capabilities are supported must + report the capabilities provided by the parent interface plus the + additional capabilities supported by the shared implementation. + + Also, simplify the logic a bit reducing the amount of implemented + methods. + + plugins/quectel/mm-shared-quectel.c | 78 + ++++++++++++++----------------------- + 1 file changed, 29 insertions(+), 49 deletions(-) + +commit 0f9d69fd355a05b51b8367fa75dbd49440a9bd7e +Author: Aleksander Morgado +Date: Sun Jun 28 10:55:15 2020 +0200 + + quectel,shared: private context at beginning of source file + + plugins/quectel/mm-shared-quectel.c | 83 + +++++++++++++++++++------------------ + 1 file changed, 43 insertions(+), 40 deletions(-) + +commit 234ba4544b324765a3ba9f7d468715378c585106 +Author: Aleksander Morgado +Date: Sun Jun 28 10:53:33 2020 +0200 + + quectel: coding style fixes in the QGPS logic + + plugins/quectel/mm-broadband-modem-quectel.c | 38 ++--- + plugins/quectel/mm-shared-quectel.c | 203 + +++++++++++++++------------ + plugins/quectel/mm-shared-quectel.h | 50 +++---- + 3 files changed, 149 insertions(+), 142 deletions(-) + +commit 5a9d321346df5e964780def158072df794c604dd +Author: Aleksander Morgado +Date: Sun Jun 28 10:35:57 2020 +0200 + + quectel,shared: fix parent location disabling + + The GTask must be passed as user_data. + + plugins/quectel/mm-shared-quectel.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit df393df1479ab79f028b17eb3df0ea0eb96b9140 +Author: ArenM +Date: Fri Jun 5 15:25:54 2020 -0400 + + quectel: implement GPS support with +QGPS + + Quectel modems allow provide location information via AT commands. + Add this as a location source. + + plugins/quectel/mm-broadband-modem-quectel.c | 29 +- + plugins/quectel/mm-shared-quectel.c | 504 + +++++++++++++++++++++++++++ + plugins/quectel/mm-shared-quectel.h | 36 ++ + 3 files changed, 567 insertions(+), 2 deletions(-) + +commit 4b37b7d3cfd8c8e98af25eed334b1880b6b6c597 +Author: Aleksander Morgado +Date: Sun Jun 28 14:05:58 2020 +0200 + + base-modem,at: response processors return a more specific enum + + Instead of using the FALSE return of the method to indicate either a + fatal error (if result_error was set) or the continuation request (if + result_error wasn't set), provide a enum that has explicit states for + all three possible values (failure, success or continue). + + plugins/altair/mm-broadband-modem-altair-lte.c | 27 +--- + plugins/huawei/mm-broadband-modem-huawei.c | 22 +-- + plugins/icera/mm-broadband-modem-icera.c | 29 ++-- + plugins/novatel/mm-broadband-modem-novatel-lte.c | 61 ++++--- + plugins/sierra/mm-broadband-modem-sierra.c | 28 ++-- + plugins/telit/mm-broadband-modem-telit.c | 81 ++++++---- + src/mm-base-modem-at.c | 189 + +++++++++++++--------- + src/mm-base-modem-at.h | 112 +++++++------ + src/mm-broadband-modem.c | 192 + +++++++++++------------ + 9 files changed, 402 insertions(+), 339 deletions(-) + +commit c4d82aaf1e7cf10475204102533ac7784f83f0d3 +Author: Aleksander Morgado +Date: Sun Jun 28 12:06:51 2020 +0200 + + base-modem,at: improve documentation on response processor methods + + src/mm-base-modem-at.c | 68 ++++++++++++++++++----------------- + src/mm-base-modem-at.h | 98 + +++++++++++++++++++++++++++++++------------------- + 2 files changed, 98 insertions(+), 68 deletions(-) + +commit 7e3863897e73227a7de54db967fd95b40a8833d1 +Author: Aleksander Morgado +Date: Sun Jun 7 15:16:49 2020 +0200 + + broadband-modem: run implicit disabling if enabling fails + + The disabling sequence is updated so that the steps to disable the + interfaces never fail. This is done so that the modem is not left + in an "inconsistent" enabled state, if e.g. the modem is enabled and + one of the disabling steps for the interfaces ends up failing. In this + case, it is preferred to say that the modem is disabled, than having + it wrongly enabled. + + The enabling sequence is updated so that if any of the steps to enable + the interfaces fail, we end up running an implicit disabling operation + to disable all the interfaces. This is to attempt to cleanup whatever + we had enabled during the enabling operation, including e.g. the open + ports context. + + src/mm-broadband-modem.c | 270 + ++++++++++++++++++++++++++++++----------------- + 1 file changed, 175 insertions(+), 95 deletions(-) + +commit 408e9f327e09cda73ab87c92aab34176186d2c3d +Author: Aleksander Morgado +Date: Wed Jun 24 09:31:30 2020 +0200 + + broadband-modem-qmi: fix assertion when disabling unsolicited events + + Fixes + https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/230 + + src/mm-broadband-modem-qmi.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit c6d213d6523a70aa8504bda4dbd1796a0b1cd4c7 +Author: Aleksander Morgado +Date: Thu Jun 11 14:41:44 2020 +0200 + + broadband-modem-qmi,bearer-qmi: avoid depending on the client version + + The QMI client version is an information provided by the QMI protocol + only when QMUX or MBIM backends are used, it won't be available when + e.g. QRTR is used. The logic in ModemManager should not rely on this + information. + + src/mm-bearer-qmi.c | 39 ++-- + src/mm-broadband-modem-qmi.c | 542 + +++++++++++++++++-------------------------- + 2 files changed, 230 insertions(+), 351 deletions(-) + +commit 62956b5c7a1bcfa143e6f5915562c55c4923eec4 Author: Aleksander Morgado -Date: Tue Jun 23 14:22:04 2020 +0200 +Date: Tue Jun 23 14:22:39 2020 +0200 - build: post-release version bump to 1.14.1 + build: post-release version bump to 1.15.0 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -37220,7 +41942,7 @@ Date: Sat May 14 15:25:32 2016 +0800 31 files changed, 69 insertions(+), 60 deletions(-) commit 55f3ab80835114342618083664c4fa585455b9e0 -Merge: 830b6ebca ba097f1a4 +Merge: 830b6ebc ba097f1a Author: Dan Williams Date: Fri May 27 12:39:56 2016 -0500 @@ -43308,7 +48030,7 @@ Date: Mon Jun 16 16:22:51 2014 +0200 1 file changed, 6 insertions(+), 4 deletions(-) commit 6e490944d07061ca15837963552d023807958feb -Merge: ff4e45791 02f9b926c +Merge: ff4e4579 02f9b926 Author: Dan Williams Date: Fri Jun 13 14:57:08 2014 -0500 @@ -88013,7 +92735,7 @@ Date: Thu Jun 30 15:51:53 2011 -0500 1 file changed, 4 insertions(+), 4 deletions(-) commit 7762d401e8201efc05d643b9da32f3e60a42c470 -Merge: 881f928c4 7e69d2cf3 +Merge: 881f928c 7e69d2cf Author: Aleksander Morgado Date: Thu Jun 30 19:48:23 2011 +0200 @@ -89356,7 +94078,7 @@ Date: Mon Apr 18 17:38:39 2011 -0500 1 file changed, 15 insertions(+), 4 deletions(-) commit 5dadfa4c214be79e704eb61c135893f93a705d3a -Merge: 487972c1a 765da63ad +Merge: 487972c1 765da63a Author: Dan Williams Date: Thu Apr 14 14:20:43 2011 -0500 @@ -90123,7 +94845,7 @@ Date: Mon Jan 24 13:57:22 2011 -0600 1 file changed, 2 insertions(+), 2 deletions(-) commit 2b2ca316a1ef9c9b30e68b44446abfe76cb1bbce -Merge: 12f1b351e f047ca66a +Merge: 12f1b351 f047ca66 Author: Dan Williams Date: Mon Jan 24 13:56:40 2011 -0600 @@ -92157,7 +96879,7 @@ Date: Tue Jun 29 22:24:00 2010 -0700 3 files changed, 108 insertions(+) commit 6e79d153efc30fb2030536f7f795c19ad4a0661a -Merge: 72a1a6caf 5fc9f259e +Merge: 72a1a6ca 5fc9f259 Author: Dan Williams Date: Thu Jun 24 11:09:33 2010 -0700 @@ -94311,7 +99033,7 @@ Date: Fri Mar 12 15:31:29 2010 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 936533cfcc34b1bba797688049316bb8994443bd -Merge: 9d9150133 3e760488b +Merge: 9d915013 3e760488 Author: Dan Williams Date: Fri Mar 12 12:40:00 2010 -0800 @@ -94328,7 +99050,7 @@ Date: Fri Mar 12 12:38:53 2010 -0800 2 files changed, 2 insertions(+), 2 deletions(-) commit 9d91501330514d8bbd83c8f729ec5231e862e226 -Merge: 4d1e00c49 7aa6d03d9 +Merge: 4d1e00c4 7aa6d03d Author: Dan Williams Date: Fri Mar 12 12:21:29 2010 -0800 @@ -94399,7 +99121,7 @@ Date: Thu Mar 11 16:02:12 2010 -0800 3 files changed, 6 insertions(+), 7 deletions(-) commit 3ec7e89f112cb65a584de84b76e207d7a804bd6f -Merge: 479937cbb 749f9c0eb +Merge: 479937cb 749f9c0e Author: Dan Williams Date: Thu Mar 11 13:43:06 2010 -0800 @@ -94528,7 +99250,7 @@ Date: Wed Mar 10 15:45:50 2010 -0800 1 file changed, 10 insertions(+), 9 deletions(-) commit 479937cbbba560c77ec37ebf6468fe0e568986bd -Merge: 6a32d374c e3c87e4e1 +Merge: 6a32d374 e3c87e4e Author: Dan Williams Date: Wed Mar 10 15:04:49 2010 -0800 @@ -94546,7 +99268,7 @@ Date: Wed Mar 10 14:57:23 2010 -0800 1 file changed, 8 insertions(+), 7 deletions(-) commit 1979512d8dfb6428353e6bf358f908973a318095 -Merge: 8dde6bb8d b7858ba23 +Merge: 8dde6bb8 b7858ba2 Author: Dan Williams Date: Wed Mar 10 14:50:41 2010 -0800 @@ -94819,7 +99541,7 @@ Date: Mon Mar 8 20:01:42 2010 -0800 1 file changed, 2 insertions(+), 1 deletion(-) commit f3721a5674ef7899d9a6ef0f4c5b356720bb9833 -Merge: f6c514897 9e231c3d4 +Merge: f6c51489 9e231c3d Author: Dan Williams Date: Mon Mar 8 20:01:22 2010 -0800 @@ -95366,7 +100088,7 @@ Date: Mon Mar 1 09:15:01 2010 -0800 5 files changed, 24 insertions(+), 14 deletions(-) commit f6c514897e40e768b180963f2782ed60527ffaa6 -Merge: 7a0373afe 9d7cb0ddc +Merge: 7a0373af 9d7cb0dd Author: Dan Williams Date: Mon Mar 1 09:07:05 2010 -0800 @@ -95749,7 +100471,7 @@ Date: Sun Feb 21 11:22:16 2010 -0800 2 files changed, 12 insertions(+), 4 deletions(-) commit 2cdefeb6dafa9d8405ddd1247967ca6e3267b1a7 -Merge: a8c7bba19 b9958e6ec +Merge: a8c7bba1 b9958e6e Author: Dan Williams Date: Sat Feb 20 14:58:04 2010 -0800 @@ -95816,7 +100538,7 @@ Date: Sat Feb 20 14:53:43 2010 -0800 1 file changed, 9 insertions(+), 3 deletions(-) commit 9d8e892ffe602a123697a5f65393b5752129de09 -Merge: c916ea7b4 9185ce987 +Merge: c916ea7b 9185ce98 Author: Dan Williams Date: Sat Feb 20 12:49:22 2010 -0800 @@ -96188,7 +100910,7 @@ Date: Fri Jan 22 14:11:24 2010 -0800 4 files changed, 16 deletions(-) commit ed885b7595294115b5cde8755c754515294f27cc -Merge: a919c8358 e98401440 +Merge: a919c835 e9840144 Author: Dan Williams Date: Tue Jan 19 15:07:03 2010 -0800 @@ -96324,7 +101046,7 @@ Date: Tue Jan 19 11:53:45 2010 -0800 1 file changed, 13 insertions(+), 9 deletions(-) commit 28eca600f7f1a0387a99c51d35179d81dc3fec59 -Merge: 50ad39b28 b1992f903 +Merge: 50ad39b2 b1992f90 Author: Dan Williams Date: Tue Jan 19 00:21:10 2010 -0800 @@ -96791,7 +101513,7 @@ Date: Mon Dec 7 22:07:58 2009 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit dd057d28e4ab3812eebd41a7df1c2f80d90d8600 -Merge: f715e0d49 a9e062442 +Merge: f715e0d4 a9e06244 Author: Dan Williams Date: Mon Dec 7 22:04:28 2009 -0800 @@ -97024,7 +101746,7 @@ Date: Tue Dec 1 11:25:28 2009 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 881a725ea47e059023a268404368346d232dd15a -Merge: 909b8b7c8 b46ac89ff +Merge: 909b8b7c b46ac89f Author: Dan Williams Date: Tue Dec 1 11:22:00 2009 -0800 @@ -97066,7 +101788,7 @@ Date: Mon Nov 30 17:42:37 2009 -0800 1 file changed, 24 insertions(+) commit 909b8b7c8dbe2de97d9550004641c70411d92c56 -Merge: c463b5a40 0f595adb7 +Merge: c463b5a4 0f595adb Author: Dan Williams Date: Mon Nov 30 15:44:20 2009 -0800 @@ -97326,7 +102048,7 @@ Date: Tue Nov 24 00:43:20 2009 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit c463b5a4005b9e55d0faeb887debe327118ef230 -Merge: 3be4a1518 9e92bceb0 +Merge: 3be4a151 9e92bceb Author: Dan Williams Date: Tue Nov 24 00:20:52 2009 -0800 @@ -97346,7 +102068,7 @@ Date: Tue Nov 24 00:19:27 2009 -0800 1 file changed, 20 insertions(+), 32 deletions(-) commit 3be4a15189aef361187b86df64f62ca70284dee3 -Merge: d8ff5f74e e5b5c8339 +Merge: d8ff5f74 e5b5c833 Author: Dan Williams Date: Mon Nov 23 23:48:26 2009 -0800 @@ -97409,7 +102131,7 @@ Date: Tue Nov 17 14:16:24 2009 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 3c6e4056e7cded28e612a76d9321f54fb1b51ce2 -Merge: 9bbc6ab53 74f679acd +Merge: 9bbc6ab5 74f679ac Author: Dan Williams Date: Fri Nov 6 15:11:01 2009 -0800 @@ -97937,7 +102659,7 @@ Date: Tue Oct 6 11:39:40 2009 -0700 3 files changed, 77 insertions(+), 13 deletions(-) commit 912b98723b2965b9aaf1f0328781a2730d7cc178 -Merge: 3b19a8572 aa78b5f5e +Merge: 3b19a857 aa78b5f5 Author: Dan Williams Date: Mon Oct 5 09:52:01 2009 -0700 @@ -98523,7 +103245,7 @@ Date: Mon Jun 29 23:11:43 2009 -0400 2 files changed, 6 insertions(+), 1 deletion(-) commit 5298be26ddf580681a4a506cf0379996d7eb9d4d -Merge: 5a563d56d 8e3da6359 +Merge: 5a563d56 8e3da635 Author: Dan Williams Date: Mon Jun 29 22:54:32 2009 -0400 @@ -98643,7 +103365,7 @@ Date: Mon Jun 29 14:24:43 2009 -0400 2 files changed, 25 insertions(+), 32 deletions(-) commit c106368ce7c06e0ae5b64cc6146ad05c3b9fa819 -Merge: ff58936f1 c397247c0 +Merge: ff58936f c397247c Author: Dan Williams Date: Mon Jun 29 13:14:11 2009 -0400 @@ -98732,7 +103454,7 @@ Date: Mon Jun 29 09:00:25 2009 -0400 1 file changed, 9 insertions(+), 11 deletions(-) commit 504b4991cd3aecd358d92a9c39233e6ca09036fa -Merge: 6077763d9 ef0a604dc +Merge: 6077763d ef0a604d Author: Dan Williams Date: Mon Jun 29 07:29:57 2009 -0400 @@ -99228,7 +103950,7 @@ Date: Thu May 14 13:14:45 2009 +0300 2 files changed, 8 insertions(+), 7 deletions(-) commit 92041d5f750ab440d278c95c1f65483aa8ebf192 -Merge: 2a3acc7a3 58a48405c +Merge: 2a3acc7a 58a48405 Author: Dan Williams Date: Mon May 11 06:43:43 2009 -0400 @@ -99823,7 +104545,7 @@ Date: Tue Dec 9 15:41:51 2008 +0200 12 files changed, 199 insertions(+), 182 deletions(-) commit a504fb408aa2ba3bb495a08d948ae97bdcb1cdd6 -Merge: 793044b57 1673c6c99 +Merge: 793044b5 1673c6c9 Author: Tambet Ingo Date: Fri Dec 5 15:57:55 2008 +0200 diff --git a/Makefile.am b/Makefile.am index b70b0625..4dd7ad63 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,6 +13,7 @@ SUBDIRS = \ vapi \ introspection \ test \ + tools \ examples \ docs \ $(NULL) diff --git a/Makefile.in b/Makefile.in index 2c02ca5f..998ed481 100644 --- a/Makefile.in +++ b/Makefile.in @@ -108,7 +108,8 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = +CONFIG_CLEAN_FILES = \ + tools/tests/services/org.freedesktop.ModemManager1.service CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -168,6 +169,7 @@ CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/tools/tests/services/org.freedesktop.ModemManager1.service.in \ ABOUT-NLS AUTHORS COPYING COPYING.LIB ChangeLog INSTALL NEWS \ README TODO compile config.guess config.rpath config.sub \ install-sh ltmain.sh missing @@ -280,6 +282,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ @@ -427,6 +431,7 @@ SUBDIRS = \ vapi \ introspection \ test \ + tools \ examples \ docs \ $(NULL) @@ -496,6 +501,8 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) distclean-hdr: -rm -f config.h stamp-h1 +tools/tests/services/org.freedesktop.ModemManager1.service: $(top_builddir)/config.status $(top_srcdir)/tools/tests/services/org.freedesktop.ModemManager1.service.in + cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo diff --git a/NEWS b/NEWS index 23b2585f..f7dde983 100644 --- a/NEWS +++ b/NEWS @@ -1,139 +1,230 @@ -ModemManager 1.14.12 +ModemManager 1.16.6 ------------------------------------------- -This is a new bugfix release of ModemManager. - * MBIM: - ** Plug memleak in disconnection logic. - ** Don't fail IPv4v6 connection attempt if only IPv4 succeeds. + * Build: + ** Require libqmi >= 1.28.6 (for the optional QMI support). + ** Fix error with GCC 11 and -Wincompatible-pointer-types. + ** Fix warning with GCC 11 and -Wmaybe-uninitialized. * QMI: - ** Fix network registration cancellation logic with asserts disabled. + ** Increased device open timeout to 45s. + ** Added support to handle transfer-route messages. + + * Base manager: + ** Added support for Qualcomm based PCI devices in the new WWAN subsystem in + kernel 5.13. + ** Fix segfault on rare conditions when ports reported don't have a proper + subsystem or name. + ** Fix segfault when trying to create device id after device is already gone. + * plugins: + ** foxconn: added support for the T99W175 module. + ** foxconn: fix segfault when attempting to use parent location support. + ** quectel: ignore QLWURC URCs. + + * Several other minor improvements and fixes. -ModemManager 1.14.10 +ModemManager 1.16.4 ------------------------------------------- -This is a new bugfix release of ModemManager. + + * Fix build when using libgudev < 232, which is when autoptr support was + introduced in the GUdev* types. We'll keep the 1.16.x branch depending on + libgudev 147, and only bump the requirement in git master. + + * This version comes with an overall rework of the charset encoding handling + inside the ModemManager daemon, which was already available in git master + for some time and has been proved to be very useful. + ** The charset conversion is now strict, except for a few cases where we + would try to do our best (e.g. operator name normalization). + ** The charset methods are cleaned up, with clear distinction between the + ones that allow NUL-finished C strings and the ones that may have valid + embedded NUL bytes. + ** The //TRANSLIT extension is completely avoided, as not all implementations + out there have it (e.g. unavailable in musl libc), and we now use + g_convert_with_fallback() instead where appropriate. * Modem interface: - ** Plug MmGdbusModem leak when bearers are updated. - ** Don't consider charset setup failure as fatal. + ** Fixed crash triggered when attempting to update lock info on an already + removed DBus skeleton. - * Messaging interface: - ** Fix 7-bit ASCII decoding in CDMA SMS messages. + * Time interface: + ** Fixed invalid memory read when loading network timezone fails. - * QMI: - ** Fix reporting of signal strengh indications. + * Base bearer: + ** Ignored forced disconnections after some time unregistered when PPP is + being used, so that we don't end up hijacking the TTY while pppd is using + it. - * MBIM: - ** Plug memleak when processing USSD in GSM7. + * Kernel device: + ** Fix segfault when processing event for non-existing port. - * mmcli: - ** Don't assume that mm_object_peek|get_modem() return always non-NULL. + * QMI: + ** Fixed allowed modes setup when using the "Acquisition Order Preference" + TLV in the "NAS System Selection Preference" messages. 3GPP+3GPP2 + multimode devices like the MC73xx series were affected. + + * libmm-glib: + ** Fixed comparison of 'allowed auth' and 'rm protocol' settings in bearer + properties. * Plugins: - ** cinterion: add PLS83 port type hints. - ** cinterion: add QCDM and GPS port type hints for PLS26. - ** cinterion: add AT primary/secondary port type hints for PLS8. - ** telit: plug GPS data port leak. - ** zte: add after SIM unlock delay. + ** cinterion: allow '*' in Prov/Cfg response. + ** cinterion: fixed several FALSE returns without GError set. + ** quectel: ignore +QGPSURC URCs. * Several other minor improvements and fixes. - -ModemManager 1.14.8 +ModemManager 1.16.2 ------------------------------------------- -This is a new bugfix release of ModemManager. - * Build: - ** Fixed distcheck with new gtk-doc releases. - ** ModemManager-names.h was being included in the dist tarball, but then - removed on the 'clean' target. Fix that, by only removing it on the - 'maintainer-clean' target. Therefore, 'xsltproc' is now only needed in - git builds, not needed when building from a dist tarball. + * build: fixed with GLib < 2.54. + * qmi: fixed network regitration cancellation when asserts disabled. + * libmm-glib: fix allow-roaming setting comparison in bearer properties. - * QMI: - ** Fix daemon crash when the device is removed during the initialization - sequence. +ModemManager 1.16.0 +------------------------------------------- +This is a new stable release of ModemManager. - * Several other minor improvements and fixes. +The following notes are directed to package maintainers: + * This version now requires: + ** libqmi >= 1.28.0 (for the optional QMI support) -ModemManager 1.14.6 -------------------------------------------- -This is a new bugfix release of ModemManager. + * The 1.16.x branch will be the last one supporting the 'LEGACY' and 'PARANOID' + filter modes; standard distributions are advised to use the default 'STRICT' + mode if they aren't using it already (i.e. running the daemon without any + explicit '--filter-policy' option). - * QMI: - ** Fix missing GError initialization. + * A new 'qcom-soc' plugin is implemented to be able to use ModemManager in + Qualcomm SoCs like the MSM8916 or MSM8974. This plugin uses a combination of + RPMSG based control ports plus BAM-DMUX based network ports. This plugin is + disabled by default, even when `--enable-all-plugins` is used, and if wanted + it must be explicitly enabled with `--enable-plugin-qcom-soc`. Systems + targeting this kind of SoCs, like postmarketos, should enable it. Standard + distributions may or may not include it, up to the targeted hardware in each + distribution. - * plugins: - ** xmm: fix missing GError initialization. - ** cinterion: fix missing GError initialization. - ** simtech: fix missing GError initialization. + * Gentoo's 'libelogind' library may now be used to detect the systemd + suspend/resume support. +The API is backwards compatible with the previous releases, the only updates +are the following: -ModemManager 1.14.4 -------------------------------------------- -This is a new bugfix release of ModemManager. + * Modem interface: + ** Updated the 'Ports' property so that it exposes all ports that are + owned by the modem even if they are explicitly ignored and not used. + ** New 'SimSlots' property that exposes the available SIM slots in the modem, + including the SIM object paths in each of them if the cards are present. + ** New 'PrimarySimSlot' property indicating which of the slots in the + 'SimSlots' array is the one currently active. + ** New 'SetPrimarySimSlot' method to select which SIM slot in the 'SimSlots' + array should be considered active. When the switch happens, the modem will + be fully re-probed. - * Location interface: - ** Allow cell ID only updates. + * Signal interface: + ** New 'Nr5g' dictionary property including signal information for the 5GNR + access technology. - * Messaging interface: - ** Fixed memory leak when SMS parts being processed but device goes away. - ** Fixed CDMA SMS UTF-8 translation. - ** Allow sending UTF-16 as if it were UCS-2. + * SIM interface: + ** New 'Active' boolean property, indicating whether the SIM object is the + currently active one. + ** New 'Eid' string property, indicating the EID of the card, if any. + + * New udev tags: + ** New 'ID_MM_PORT_TYPE_QMI' tag to explicitly flag a port as being QMI, when + there is no other way to guess the type of port; e.g. this tag is not + needed for ports exposed by the qmi_wwan driver. + ** New 'ID_MM_PORT_TYPE_MBIM' tag to explicitly flag a port as being MBIM, + when there is no other way to guess the type of port; e.g. this tag is not + needed for ports exposed by the cdc_mbim driver. - * QMI: - ** Increased port probing timeout to 25s. - ** Return error in facility locks loading if PIN status check fails. - ** Return FIXED_DIALING lock status when checking PIN2. +The most important features and changes in this release are the following: - * MBIM: - ** Don't fail IPv4 connection if IPv4v6 was requested. + * Implemented support for Multi SIM Single Standby support, for systems that + have multiple SIM slots and they can select which of them (only one) is + active at any given time. Currently implemented for QMI modems only. - * Plugins: - ** telit: new ID_MM_TELIT_PORT_DELAY tag to flag devices that require - extended AT probing. - ** telit: added FN980 and LM9x0 MBIM compositions rules. - ** telit: fixed LM9x0 udev rules. - ** cinterion: configure the PLAS9 to correctly send URCs. - ** simtech: add SIM7070/SIM7080/SIM7090 port type hints + * If the modem enabling phase fails in a fatal way, an implicit disabling + sequence is now run, in order to avoid leaving the modem in an inconsistent + state. - * i18n: - ** Updated Swedish and Slovak translations. - ** Updated package bugreport to use the gitlab issues URL. + * If the connection attempt includes user/password information but no explicit + authentication type, CHAP will now be used by default instead of PAP. - * Several other minor improvements and fixes. + * Full USB device removal events reported via udev are no longer used. The + device removal logic relies exclusively on independent port removal events, + as that logic is supported for all subsystems and kernel device backends + (e.g. also working for non-USB devices and for systems without udev like + OpenWRT). + * Added support to monitor the 'rpmsg' subsystem, but only in plugins that + explicitly require its use (e.g. the 'qcom-soc' plugin). -ModemManager 1.14.2 -------------------------------------------- -This is a new bugfix release of ModemManager. + * New options in the ModemManager daemon: + ** Added new '--test-no-suspend-resume' option to disable the runtime + suspend/resume support even if the daemon was built with it. + ** Added new '--test-no-udev' option to disable the runtime udev support even + if the daemon was built with it. - * Modem interface: - ** Avoid connection status flapping if briefly unregistered. + * Serial: + ** Also match OK or ERROR responses that are not at end of line. + + * SIM: + ** Force reprobing the modem if a new SIM is detected in a modem that + initially started in Failed state without SIM. + ** Force reprobing the modem if the lock status cannot be read after sending + SIM-PUK, so that it transitions to the Failed state. + ** Force reprobing the modem if a PUK lock is discovered after sending + SIM-PIN, so that it transitions to the Failed state. * QMI: - ** Fixed parsing of USSD indications with UTF-16 data. - ** Perform network registration using SSSP if possible, so that settings like - allowed modes are not silently modified. - ** Fixed connection sequence so that early attempt aborts end up correctly - releasing network handles that may have been allocated already. - - * Plugins: - ** telit: added port type hints for the default MEx10G1 composition. - ** quectel: added port type hints for the Quectel 5G RM500. - ** quectel: added support for MBIM devices. - ** cinterion: increased SWWAN connection attempt timeout to 120s. - ** cinterion: if user OR password given, don't set the other as (null). - ** cinterion: quote user/password strings in AT^SGAUTH calls. - ** cinterion: support ^SGAUTH syntax in IMT family. - ** cinterion: ignore ^SYSSTART URC. - ** cinterion: simplify parsing of radio/band single SCFG line. - ** cinterion: remove limitation to IPv4 only PDP contexts. - - * Several other minor improvements and fixes. + ** The logic no longer depends on the service version reported by each + client, the support for each feature is explicitly probed instead. + ** Implemented SIM profile (eUICC) change detection. + ** Support for QMI modems on kernels < 3.6 is dropped. Only kernels where the + QMI control ports are exposed in the 'usbmisc' subsystem are supported. + ** Implemented additional step in the connection logic to allow binding the + WDS client to a given SIO port, required in the BAM-DMUX driver setup. + ** Implemented support for the initial EPS bearer settings logic. + ** Disabled explicit signal and access technology polling if indications have + been correctly enabled. + + * MBIM: + ** Enable SIM hot swap detection logic with QMI over MBIM. + ** Allow plugins to specify explicitly that QMI over MBIM is not supported. + + * libmm-glib: + ** Added missing APIs to get/set RM protocol in the Simple connect settings. + + * Plugins: + ** gosuncn: new plugin, for now just with port type hints for the GM800. + ** quectel: implemented GPS support with +QGPS. + ** quectel: implemented custom time support check to prefer +CTZU=3 instead + of +CTZU=1 so that the modem reports localtime instead of UTC in +CCLK. + ** sierra: added support for XMM-specific features (e.g. EM7345). + ** cinterion: implemented support for the initial EPS bearer settings logic. + ** cinterion: added SIM hot swap support to AT-based modems. + ** huawei: updated to avoid applying multiple port type hint methods. + ** huawei: updated the ^GETPORTMODE logic so that we don't assume the hints + in the response apply to specific USB interfaces. + +The following features which were backported to 1.14.x releases are also present +in ModemManager 1.16.0: + + * location: allow CID only updates. + * sms: allow sending/receiving UTF-16 as if it were UCS-2. + * modem: don't consider charset setup failure as fatal. + * QMI: fix reporting signal strength indications. + * QMI: fix parsing of USSD indications with UTF-16 data. + * QMI: run network registration with NAS Set System Selection Preference. + * QMI: when connection aborted, ensure network handles are released. + * MBIM: don't fail IPv4v6 connection attempt if only IPv4 succeeds. + * cinterion: improve user/password handling in AT^SGAUTH calls. + * cinterion: removed limitation to IPv4 only PDP contexts. + * cinterion: configure the PLAS9 to send URCs correctly. + * quectel: add support for MBIM devices. + * telit: add initial delay for AT ports to become responsive. ModemManager 1.14.0 diff --git a/README b/README index ade8b77f..d4c60d23 100644 --- a/README +++ b/README @@ -34,3 +34,11 @@ and need to add or change some public method, feel free to suggest it! License. The ModemManager and mmcli binaries are both GPLv2+. The libmm-glib library is LGPLv2+. + +Code of Conduct. +Please note that this project is released with a Contributor Code of Conduct. +By participating in this project you agree to abide by its terms, which you can +find in the following link: + https://www.freedesktop.org/wiki/CodeOfConduct +CoC issues may be raised to the project maintainers at the following address: + modemmanager-devel-owner@lists.freedesktop.org diff --git a/autogen.sh b/autogen.sh index df07fc40..7460d254 100755 --- a/autogen.sh +++ b/autogen.sh @@ -14,7 +14,7 @@ PKG_NAME=ModemManager } (cd $srcdir; - autoreconf --force --install --verbose + GTKDOCIZE="true" autoreconf --force --install --verbose ) if test -z "$NOCONFIGURE"; then diff --git a/build-aux/Makefile.in b/build-aux/Makefile.in index beab053c..0a2a62cf 100644 --- a/build-aux/Makefile.in +++ b/build-aux/Makefile.in @@ -194,6 +194,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/build-aux/mm-enums-template.c b/build-aux/mm-enums-template.c index 567ce5d5..2a7f264b 100644 --- a/build-aux/mm-enums-template.c +++ b/build-aux/mm-enums-template.c @@ -24,16 +24,16 @@ static const G@Type@Value @enum_name@_values[] = { GType @enum_name@_get_type (void) { - static volatile gsize g_define_type_id__volatile = 0; + static gsize g_define_type_id_initialized = 0; - if (g_once_init_enter (&g_define_type_id__volatile)) { + if (g_once_init_enter (&g_define_type_id_initialized)) { GType g_define_type_id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), @enum_name@_values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + g_once_init_leave (&g_define_type_id_initialized, g_define_type_id); } - return g_define_type_id__volatile; + return g_define_type_id_initialized; } /** diff --git a/build-aux/mm-errors-template.c b/build-aux/mm-errors-template.c index 3b3127f5..8370adf1 100644 --- a/build-aux/mm-errors-template.c +++ b/build-aux/mm-errors-template.c @@ -12,9 +12,9 @@ GType @enum_name@_get_type (void) { - static volatile gsize g_define_type_id__volatile = 0; + static gsize g_define_type_id_initialized = 0; - if (g_once_init_enter (&g_define_type_id__volatile)) + if (g_once_init_enter (&g_define_type_id_initialized)) { static const G@Type@Value values[] = { /*** END value-header ***/ @@ -28,10 +28,10 @@ GType }; GType g_define_type_id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + g_once_init_leave (&g_define_type_id_initialized, g_define_type_id); } - return g_define_type_id__volatile; + return g_define_type_id_initialized; } /*** END value-tail ***/ diff --git a/cli/Makefile.in b/cli/Makefile.in index 5ca16268..9286d7d7 100644 --- a/cli/Makefile.in +++ b/cli/Makefile.in @@ -281,6 +281,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/cli/mmcli-common.c b/cli/mmcli-common.c index f8eff661..4163f42f 100644 --- a/cli/mmcli-common.c +++ b/cli/mmcli-common.c @@ -749,6 +749,53 @@ mmcli_get_sim_finish (GAsyncResult *res, return obj; } +static void +list_sim_slots_ready (MMModem *modem, + GAsyncResult *res, + GTask *task) +{ + g_autoptr(GPtrArray) sim_slots = NULL; + GetSimContext *ctx; + GetSimResults *results = NULL; + guint i; + GError *error = NULL; + + ctx = g_task_get_task_data (task); + + sim_slots = mm_modem_list_sim_slots_finish (modem, res, &error); + if (error) { + g_printerr ("error: couldn't list SIM slots at '%s': '%s'\n", + mm_modem_get_path (modem), + error->message); + exit (EXIT_FAILURE); + } + + for (i = 0; i < sim_slots->len; i++) { + MMSim *sim; + + sim = MM_SIM (g_ptr_array_index (sim_slots, i)); + if (sim && g_str_equal (mm_sim_get_path (sim), ctx->sim_path)) { + /* Found! */ + results = g_new (GetSimResults, 1); + results->manager = g_object_ref (ctx->manager); + results->object = g_object_ref (ctx->current); + results->sim = g_object_ref (sim); + break; + } + } + + if (results) { + g_task_return_pointer (task, results, (GDestroyNotify) get_sim_results_free); + g_object_unref (task); + return; + } + + g_printerr ("error: couldn't get additional SIM '%s' at '%s'\n", + ctx->sim_path, + mm_modem_get_path (modem)); + exit (EXIT_FAILURE); +} + static void get_sim_ready (MMModem *modem, GAsyncResult *res, @@ -800,11 +847,13 @@ get_sim_manager_ready (GDBusConnection *connection, } for (l = modems; l && !ctx->current; l = g_list_next (l)) { - MMObject *object; - MMModem *modem; + MMObject *object; + MMModem *modem; + const gchar *const *sim_slot_paths; object = MM_OBJECT (l->data); modem = mm_object_get_modem (object); + sim_slot_paths = mm_modem_get_sim_slot_paths (modem); /* check if we can match the first object found */ if (ctx->sim_any) { @@ -828,6 +877,19 @@ get_sim_manager_ready (GDBusConnection *connection, g_task_get_cancellable (task), (GAsyncReadyCallback)get_sim_ready, task); + } else if (sim_slot_paths) { + guint i; + + for (i = 0; sim_slot_paths[i]; i++) { + if (g_str_equal (ctx->sim_path, sim_slot_paths[i])) { + ctx->current = g_object_ref (object); + mm_modem_list_sim_slots (modem, + g_task_get_cancellable (task), + (GAsyncReadyCallback)list_sim_slots_ready, + task); + break; + } + } } g_object_unref (modem); } @@ -890,12 +952,14 @@ mmcli_get_sim_sync (GDBusConnection *connection, } for (l = modems; !found && l; l = g_list_next (l)) { - GError *error = NULL; - MMObject *object; - MMModem *modem; + GError *error = NULL; + MMObject *object; + MMModem *modem; + const gchar *const *sim_slot_paths; object = MM_OBJECT (l->data); modem = mm_object_get_modem (object); + sim_slot_paths = mm_modem_get_sim_slot_paths (modem); /* check if we can match the first object found */ if (sim_any) { @@ -925,6 +989,34 @@ mmcli_get_sim_sync (GDBusConnection *connection, if (found && o_object) *o_object = g_object_ref (object); + } else if (sim_slot_paths) { + guint i; + + for (i = 0; !found && sim_slot_paths[i]; i++) { + if (g_str_equal (sim_path, sim_slot_paths[i])) { + g_autoptr(GPtrArray) sim_slots = NULL; + guint j; + + sim_slots = mm_modem_list_sim_slots_sync (modem, NULL, &error); + if (error) { + g_printerr ("error: couldn't get SIM slots in modem '%s': '%s'\n", + mm_modem_get_path (modem), + error->message); + exit (EXIT_FAILURE); + } + + for (j = 0; j < sim_slots->len; j++) { + MMSim *sim; + + sim = MM_SIM (g_ptr_array_index (sim_slots, j)); + if (sim && g_str_equal (sim_path, mm_sim_get_path (sim))) { + found = g_object_ref (sim); + if (o_object) + *o_object = g_object_ref (object); + } + } + } + } } g_object_unref (modem); diff --git a/cli/mmcli-manager.c b/cli/mmcli-manager.c index 6d495a95..011c8c11 100644 --- a/cli/mmcli-manager.c +++ b/cli/mmcli-manager.c @@ -449,7 +449,7 @@ get_manager_ready (GObject *source, #if defined WITH_UDEV if (report_kernel_event_auto_scan) { - const gchar *subsys[] = { "tty", "usbmisc", "net", NULL }; + const gchar *subsys[] = { "tty", "usbmisc", "net", "rpmsg", NULL }; guint i; ctx->udev = g_udev_client_new (subsys); diff --git a/cli/mmcli-modem-signal.c b/cli/mmcli-modem-signal.c index 506d7370..7fa476c1 100644 --- a/cli/mmcli-modem-signal.c +++ b/cli/mmcli-modem-signal.c @@ -153,6 +153,9 @@ print_signal_info (void) gchar *lte_rsrp = NULL; gchar *lte_rsrq = NULL; gchar *lte_snr = NULL; + gchar *nr5g_rsrp = NULL; + gchar *nr5g_rsrq = NULL; + gchar *nr5g_snr = NULL; refresh_rate = g_strdup_printf ("%u", mm_modem_signal_get_rate (ctx->modem_signal)); @@ -204,6 +207,16 @@ print_signal_info (void) lte_snr = g_strdup_printf ("%.2lf", value); } + signal = mm_modem_signal_peek_nr5g (ctx->modem_signal); + if (signal) { + if ((value = mm_signal_get_rsrq (signal)) != MM_SIGNAL_UNKNOWN) + nr5g_rsrq = g_strdup_printf ("%.2lf", value); + if ((value = mm_signal_get_rsrp (signal)) != MM_SIGNAL_UNKNOWN) + nr5g_rsrp = g_strdup_printf ("%.2lf", value); + if ((value = mm_signal_get_snr (signal)) != MM_SIGNAL_UNKNOWN) + nr5g_snr = g_strdup_printf ("%.2lf", value); + } + mmcli_output_string_take_typed (MMC_F_SIGNAL_REFRESH_RATE, refresh_rate, "seconds"); mmcli_output_string_take_typed (MMC_F_SIGNAL_CDMA1X_RSSI, cdma1x_rssi, "dBm"); mmcli_output_string_take_typed (MMC_F_SIGNAL_CDMA1X_ECIO, cdma1x_ecio, "dBm"); @@ -219,6 +232,9 @@ print_signal_info (void) mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_RSRQ, lte_rsrq, "dB"); mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_RSRP, lte_rsrp, "dBm"); mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_SNR, lte_snr, "dB"); + mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_RSRQ, nr5g_rsrq, "dB"); + mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_RSRP, nr5g_rsrp, "dBm"); + mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_SNR, nr5g_snr, "dB"); mmcli_output_dump (); } diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c index a25de316..9d82fa33 100644 --- a/cli/mmcli-modem.c +++ b/cli/mmcli-modem.c @@ -63,6 +63,7 @@ static gchar *set_current_capabilities_str; static gchar *set_allowed_modes_str; static gchar *set_preferred_mode_str; static gchar *set_current_bands_str; +static gint set_primary_sim_slot_int; static gboolean inhibit_flag; static GOptionEntry entries[] = { @@ -126,6 +127,10 @@ static GOptionEntry entries[] = { "Set bands to be used by a given modem.", "[BAND1|BAND2...]" }, + { "set-primary-sim-slot", 0, 0, G_OPTION_ARG_INT, &set_primary_sim_slot_int, + "Switch to the selected SIM slot", + "[SLOT NUMBER]" + }, { "inhibit", 0, 0, G_OPTION_ARG_NONE, &inhibit_flag, "Inhibit the modem", NULL @@ -173,6 +178,7 @@ mmcli_modem_options_enabled (void) !!set_allowed_modes_str + !!set_preferred_mode_str + !!set_current_bands_str + + (set_primary_sim_slot_int > 0) + inhibit_flag); if (n_actions == 0 && mmcli_get_common_modem_string ()) { @@ -475,6 +481,8 @@ print_modem_info (void) sim_path = mm_modem_get_sim_path (ctx->modem); mmcli_output_string (MMC_F_SIM_PATH, g_strcmp0 (sim_path, "/") != 0 ? sim_path : NULL); + mmcli_output_sim_slots (mm_modem_dup_sim_slot_paths (ctx->modem), + mm_modem_get_primary_sim_slot (ctx->modem)); bearer_paths = (const gchar **) mm_modem_get_bearer_paths (ctx->modem); mmcli_output_string_array (MMC_F_BEARER_PATHS, (bearer_paths && bearer_paths[0]) ? bearer_paths : NULL, TRUE); @@ -888,6 +896,32 @@ parse_current_bands (MMModemBand **bands, } } +static void +set_primary_sim_slot_process_reply (gboolean result, + const GError *error) +{ + if (!result) { + g_printerr ("error: couldn't request primary SIM switch: '%s'\n", + error ? error->message : "unknown error"); + exit (EXIT_FAILURE); + } + + g_print ("successfully requested primary SIM switch in modem\n"); +} + +static void +set_primary_sim_slot_ready (MMModem *modem, + GAsyncResult *result) +{ + gboolean operation_result; + g_autoptr(GError) error = NULL; + + operation_result = mm_modem_set_primary_sim_slot_finish (modem, result, &error); + set_primary_sim_slot_process_reply (operation_result, error); + + mmcli_async_operation_done (); +} + static void state_changed (MMModem *modem, MMModemState old_state, @@ -1130,6 +1164,16 @@ get_modem_ready (GObject *source, return; } + /* Request to switch SIM? */ + if (set_primary_sim_slot_int > 0) { + mm_modem_set_primary_sim_slot (ctx->modem, + set_primary_sim_slot_int, + ctx->cancellable, + (GAsyncReadyCallback)set_primary_sim_slot_ready, + NULL); + return; + } + /* Request to inhibit the modem? */ if (inhibit_flag) { gchar *uid; @@ -1389,5 +1433,14 @@ mmcli_modem_run_synchronous (GDBusConnection *connection) return; } + /* Request to switch current SIM? */ + if (set_primary_sim_slot_int > 0) { + gboolean result; + + result = mm_modem_set_primary_sim_slot_sync (ctx->modem, set_primary_sim_slot_int, NULL, &error); + set_primary_sim_slot_process_reply (result, error); + return; + } + g_warn_if_reached (); } diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c index 1265856d..275e7066 100644 --- a/cli/mmcli-output.c +++ b/cli/mmcli-output.c @@ -57,6 +57,7 @@ static SectionInfo section_infos[] = { [MMC_S_MODEM_SIGNAL_GSM] = { "GSM" }, [MMC_S_MODEM_SIGNAL_UMTS] = { "UMTS" }, [MMC_S_MODEM_SIGNAL_LTE] = { "LTE" }, + [MMC_S_MODEM_SIGNAL_5G] = { "5G" }, [MMC_S_MODEM_OMA] = { "OMA" }, [MMC_S_MODEM_OMA_CURRENT] = { "Current session" }, [MMC_S_MODEM_OMA_PENDING] = { "Pending sessions" }, @@ -93,7 +94,7 @@ typedef struct { } FieldInfo; static FieldInfo field_infos[] = { - [MMC_F_GENERAL_DBUS_PATH] = { "modem.dbus-path", "dbus path", MMC_S_MODEM_GENERAL, }, + [MMC_F_GENERAL_DBUS_PATH] = { "modem.dbus-path", "path", MMC_S_MODEM_GENERAL, }, [MMC_F_GENERAL_DEVICE_ID] = { "modem.generic.device-identifier", "device id", MMC_S_MODEM_GENERAL, }, [MMC_F_HARDWARE_MANUFACTURER] = { "modem.generic.manufacturer", "manufacturer", MMC_S_MODEM_HARDWARE, }, [MMC_F_HARDWARE_MODEL] = { "modem.generic.model", "model", MMC_S_MODEM_HARDWARE, }, @@ -130,7 +131,7 @@ static FieldInfo field_infos[] = { [MMC_F_3GPP_REGISTRATION] = { "modem.3gpp.registration-state", "registration", MMC_S_MODEM_3GPP, }, [MMC_F_3GPP_PCO] = { "modem.3gpp.pco", "pco", MMC_S_MODEM_3GPP, }, [MMC_F_3GPP_EPS_UE_MODE] = { "modem.3gpp.eps.ue-mode-operation", "ue mode of operation", MMC_S_MODEM_3GPP_EPS, }, - [MMC_F_3GPP_EPS_INITIAL_BEARER_PATH] = { "modem.3gpp.eps.initial-bearer.dbus-path", "initial bearer dbus path", MMC_S_MODEM_3GPP_EPS, }, + [MMC_F_3GPP_EPS_INITIAL_BEARER_PATH] = { "modem.3gpp.eps.initial-bearer.dbus-path", "initial bearer path", MMC_S_MODEM_3GPP_EPS, }, [MMC_F_3GPP_EPS_BEARER_SETTINGS_APN] = { "modem.3gpp.eps.initial-bearer.settings.apn", "initial bearer apn", MMC_S_MODEM_3GPP_EPS, }, [MMC_F_3GPP_EPS_BEARER_SETTINGS_IP_TYPE] = { "modem.3gpp.eps.initial-bearer.settings.ip-type", "initial bearer ip type", MMC_S_MODEM_3GPP_EPS, }, [MMC_F_3GPP_EPS_BEARER_SETTINGS_USER] = { "modem.3gpp.eps.initial-bearer.settings.user", "initial bearer user", MMC_S_MODEM_3GPP_EPS, }, @@ -146,8 +147,10 @@ static FieldInfo field_infos[] = { [MMC_F_CDMA_REGISTRATION_CDMA1X] = { "modem.cdma.cdma1x-registration-state", "registration cdma1x", MMC_S_MODEM_CDMA, }, [MMC_F_CDMA_REGISTRATION_EVDO] = { "modem.cdma.evdo-registration-state", "registration evdo", MMC_S_MODEM_CDMA, }, [MMC_F_CDMA_ACTIVATION] = { "modem.cdma.activation-state", "activation", MMC_S_MODEM_CDMA, }, - [MMC_F_SIM_PATH] = { "modem.generic.sim", "dbus path", MMC_S_MODEM_SIM, }, - [MMC_F_BEARER_PATHS] = { "modem.generic.bearers", "dbus path", MMC_S_MODEM_BEARER, }, + [MMC_F_SIM_PATH] = { "modem.generic.sim", "primary sim path", MMC_S_MODEM_SIM, }, + [MMC_F_SIM_PRIMARY_SLOT] = { "modem.generic.primary-sim-slot", NULL, MMC_S_MODEM_SIM, }, + [MMC_F_SIM_SLOT_PATHS] = { "modem.generic.sim-slots", "sim slot paths", MMC_S_MODEM_SIM, }, + [MMC_F_BEARER_PATHS] = { "modem.generic.bearers", "paths", MMC_S_MODEM_BEARER, }, [MMC_F_TIME_CURRENT] = { "modem.time.current", "current", MMC_S_MODEM_TIME, }, [MMC_F_TIMEZONE_CURRENT] = { "modem.timezone.current", "current", MMC_S_MODEM_TIMEZONE, }, [MMC_F_TIMEZONE_DST_OFFSET] = { "modem.time.dst-offset", "dst offset", MMC_S_MODEM_TIMEZONE, }, @@ -169,6 +172,9 @@ static FieldInfo field_infos[] = { [MMC_F_SIGNAL_LTE_RSRQ] = { "modem.signal.lte.rsrq", "rsrq", MMC_S_MODEM_SIGNAL_LTE, }, [MMC_F_SIGNAL_LTE_RSRP] = { "modem.signal.lte.rsrp", "rsrp", MMC_S_MODEM_SIGNAL_LTE, }, [MMC_F_SIGNAL_LTE_SNR] = { "modem.signal.lte.snr", "s/n", MMC_S_MODEM_SIGNAL_LTE, }, + [MMC_F_SIGNAL_5G_RSRQ] = { "modem.signal.5g.rsrq", "rsrq", MMC_S_MODEM_SIGNAL_5G, }, + [MMC_F_SIGNAL_5G_RSRP] = { "modem.signal.5g.rsrp", "rsrp", MMC_S_MODEM_SIGNAL_5G, }, + [MMC_F_SIGNAL_5G_SNR] = { "modem.signal.5g.snr", "s/n", MMC_S_MODEM_SIGNAL_5G, }, [MMC_F_OMA_FEATURES] = { "modem.oma.features", "features", MMC_S_MODEM_OMA, }, [MMC_F_OMA_CURRENT_TYPE] = { "modem.oma.current.type", "type", MMC_S_MODEM_OMA_CURRENT, }, [MMC_F_OMA_CURRENT_STATE] = { "modem.oma.current.state", "state", MMC_S_MODEM_OMA_CURRENT, }, @@ -198,7 +204,7 @@ static FieldInfo field_infos[] = { [MMC_F_FIRMWARE_VERSION] = { "modem.firmware.version", "version", MMC_S_MODEM_FIRMWARE, }, [MMC_F_FIRMWARE_FASTBOOT_AT] = { "modem.firmware.fastboot.at", "at command", MMC_S_MODEM_FIRMWARE_FASTBOOT, }, [MMC_F_VOICE_EMERGENCY_ONLY] = { "modem.voice.emergency-only", "emergency only", MMC_S_MODEM_VOICE, }, - [MMC_F_BEARER_GENERAL_DBUS_PATH] = { "bearer.dbus-path", "dbus path", MMC_S_BEARER_GENERAL, }, + [MMC_F_BEARER_GENERAL_DBUS_PATH] = { "bearer.dbus-path", "path", MMC_S_BEARER_GENERAL, }, [MMC_F_BEARER_GENERAL_TYPE] = { "bearer.type", "type", MMC_S_BEARER_GENERAL, }, [MMC_F_BEARER_STATUS_CONNECTED] = { "bearer.status.connected", "connected", MMC_S_BEARER_STATUS, }, [MMC_F_BEARER_STATUS_SUSPENDED] = { "bearer.status.suspended", "suspended", MMC_S_BEARER_STATUS, }, @@ -232,7 +238,7 @@ static FieldInfo field_infos[] = { [MMC_F_BEARER_STATS_TOTAL_DURATION] = { "bearer.stats.total-duration", "total-duration", MMC_S_BEARER_STATS, }, [MMC_F_BEARER_STATS_TOTAL_BYTES_RX] = { "bearer.stats.total-bytes-rx", "total-bytes rx", MMC_S_BEARER_STATS, }, [MMC_F_BEARER_STATS_TOTAL_BYTES_TX] = { "bearer.stats.total-bytes-tx", "total-bytes tx", MMC_S_BEARER_STATS, }, - [MMC_F_CALL_GENERAL_DBUS_PATH] = { "call.dbus-path", "dbus path", MMC_S_CALL_GENERAL, }, + [MMC_F_CALL_GENERAL_DBUS_PATH] = { "call.dbus-path", "path", MMC_S_CALL_GENERAL, }, [MMC_F_CALL_PROPERTIES_NUMBER] = { "call.properties.number", "number", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_DIRECTION] = { "call.properties.direction", "direction", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_MULTIPARTY] = { "call.properties.multiparty", "multiparty", MMC_S_CALL_PROPERTIES, }, @@ -242,7 +248,7 @@ static FieldInfo field_infos[] = { [MMC_F_CALL_AUDIO_FORMAT_ENCODING] = { "call.audio-format.encoding", "encoding", MMC_S_CALL_AUDIO_FORMAT, }, [MMC_F_CALL_AUDIO_FORMAT_RESOLUTION] = { "call.audio-format.resolution", "resolution", MMC_S_CALL_AUDIO_FORMAT, }, [MMC_F_CALL_AUDIO_FORMAT_RATE] = { "call.audio-format.rate", "rate", MMC_S_CALL_AUDIO_FORMAT, }, - [MMC_F_SMS_GENERAL_DBUS_PATH] = { "sms.dbus-path", "dbus path", MMC_S_SMS_GENERAL, }, + [MMC_F_SMS_GENERAL_DBUS_PATH] = { "sms.dbus-path", "path", MMC_S_SMS_GENERAL, }, [MMC_F_SMS_CONTENT_NUMBER] = { "sms.content.number", "number", MMC_S_SMS_CONTENT, }, [MMC_F_SMS_CONTENT_TEXT] = { "sms.content.text", "text", MMC_S_SMS_CONTENT, }, [MMC_F_SMS_CONTENT_DATA] = { "sms.content.data", "data", MMC_S_SMS_CONTENT, }, @@ -259,9 +265,11 @@ static FieldInfo field_infos[] = { [MMC_F_SMS_PROPERTIES_TIMESTAMP] = { "sms.properties.timestamp", "timestamp", MMC_S_SMS_PROPERTIES, }, [MMC_F_SMS_PROPERTIES_DELIVERY_STATE] = { "sms.properties.delivery-state", "delivery state", MMC_S_SMS_PROPERTIES, }, [MMC_F_SMS_PROPERTIES_DISCH_TIMESTAMP] = { "sms.properties.discharge-timestamp", "discharge timestamp", MMC_S_SMS_PROPERTIES, }, - [MMC_F_SIM_GENERAL_DBUS_PATH] = { "sim.dbus-path", "dbus path", MMC_S_SIM_GENERAL, }, + [MMC_F_SIM_GENERAL_DBUS_PATH] = { "sim.dbus-path", "path", MMC_S_SIM_GENERAL, }, + [MMC_F_SIM_PROPERTIES_ACTIVE] = { "sim.properties.active", "active", MMC_S_SIM_PROPERTIES, }, [MMC_F_SIM_PROPERTIES_IMSI] = { "sim.properties.imsi", "imsi", MMC_S_SIM_PROPERTIES, }, [MMC_F_SIM_PROPERTIES_ICCID] = { "sim.properties.iccid", "iccid", MMC_S_SIM_PROPERTIES, }, + [MMC_F_SIM_PROPERTIES_EID] = { "sim.properties.eid", "eid", MMC_S_SIM_PROPERTIES, }, [MMC_F_SIM_PROPERTIES_OPERATOR_ID] = { "sim.properties.operator-code", "operator id", MMC_S_SIM_PROPERTIES, }, [MMC_F_SIM_PROPERTIES_OPERATOR_NAME] = { "sim.properties.operator-name", "operator name", MMC_S_SIM_PROPERTIES, }, [MMC_F_SIM_PROPERTIES_EMERGENCY_NUMBERS] = { "sim.properties.emergency-numbers", "emergency numbers", MMC_S_SIM_PROPERTIES, }, @@ -564,6 +572,37 @@ mmcli_output_state (MMModemState state, NULL); } +/******************************************************************************/ +/* (Custom) SIM slots output */ + +void +mmcli_output_sim_slots (gchar **sim_slot_paths, + guint primary_sim_slot) +{ + guint i; + + if (selected_type != MMC_OUTPUT_TYPE_HUMAN || !sim_slot_paths) { + mmcli_output_string_take (MMC_F_SIM_PRIMARY_SLOT, primary_sim_slot ? g_strdup_printf ("%u", primary_sim_slot) : NULL); + mmcli_output_string_array_take (MMC_F_SIM_SLOT_PATHS, sim_slot_paths ? sim_slot_paths : NULL, TRUE); + return; + } + + /* Include SIM slot number in each item */ + for (i = 0; sim_slot_paths[i]; i++) { + gchar *aux; + guint slot_number = i + 1; + + aux = g_strdup_printf ("slot %u: %s%s", + slot_number, + g_str_equal (sim_slot_paths[i], "/") ? "none" : sim_slot_paths[i], + (primary_sim_slot == slot_number) ? " (active)" : ""); + g_free (sim_slot_paths[i]); + sim_slot_paths[i] = aux; + } + + mmcli_output_string_array_take (MMC_F_SIM_SLOT_PATHS, sim_slot_paths, TRUE); +} + /******************************************************************************/ /* (Custom) Network scan output */ diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h index 2cd02b4b..928bcd38 100644 --- a/cli/mmcli-output.h +++ b/cli/mmcli-output.h @@ -54,6 +54,7 @@ typedef enum { MMC_S_MODEM_SIGNAL_GSM, MMC_S_MODEM_SIGNAL_UMTS, MMC_S_MODEM_SIGNAL_LTE, + MMC_S_MODEM_SIGNAL_5G, MMC_S_MODEM_OMA, MMC_S_MODEM_OMA_CURRENT, MMC_S_MODEM_OMA_PENDING, @@ -153,6 +154,8 @@ typedef enum { MMC_F_CDMA_ACTIVATION, /* SIM section */ MMC_F_SIM_PATH, + MMC_F_SIM_PRIMARY_SLOT, + MMC_F_SIM_SLOT_PATHS, /* Bearer section */ MMC_F_BEARER_PATHS, /* Time section */ @@ -179,6 +182,9 @@ typedef enum { MMC_F_SIGNAL_LTE_RSRQ, MMC_F_SIGNAL_LTE_RSRP, MMC_F_SIGNAL_LTE_SNR, + MMC_F_SIGNAL_5G_RSRQ, + MMC_F_SIGNAL_5G_RSRP, + MMC_F_SIGNAL_5G_SNR, /* OMA section */ MMC_F_OMA_FEATURES, MMC_F_OMA_CURRENT_TYPE, @@ -277,8 +283,10 @@ typedef enum { MMC_F_SMS_PROPERTIES_DELIVERY_STATE, MMC_F_SMS_PROPERTIES_DISCH_TIMESTAMP, MMC_F_SIM_GENERAL_DBUS_PATH, + MMC_F_SIM_PROPERTIES_ACTIVE, MMC_F_SIM_PROPERTIES_IMSI, MMC_F_SIM_PROPERTIES_ICCID, + MMC_F_SIM_PROPERTIES_EID, MMC_F_SIM_PROPERTIES_OPERATOR_ID, MMC_F_SIM_PROPERTIES_OPERATOR_NAME, MMC_F_SIM_PROPERTIES_EMERGENCY_NUMBERS, @@ -333,14 +341,16 @@ void mmcli_output_listitem (MmcF field, /******************************************************************************/ /* Custom output management */ -void mmcli_output_signal_quality (guint value, - gboolean recent); -void mmcli_output_state (MMModemState state, - MMModemStateFailedReason reason); -void mmcli_output_scan_networks (GList *network_list); -void mmcli_output_firmware_list (GList *firmware_list, - MMFirmwareProperties *selected); -void mmcli_output_pco_list (GList *pco_list); +void mmcli_output_signal_quality (guint value, + gboolean recent); +void mmcli_output_state (MMModemState state, + MMModemStateFailedReason reason); +void mmcli_output_sim_slots (gchar **sim_slot_paths, + guint primary_sim_slot); +void mmcli_output_scan_networks (GList *network_list); +void mmcli_output_firmware_list (GList *firmware_list, + MMFirmwareProperties *selected); +void mmcli_output_pco_list (GList *pco_list); /******************************************************************************/ /* Dump output */ diff --git a/cli/mmcli-sim.c b/cli/mmcli-sim.c index efb15df3..2a1fed3a 100644 --- a/cli/mmcli-sim.c +++ b/cli/mmcli-sim.c @@ -159,8 +159,10 @@ static void print_sim_info (MMSim *sim) { mmcli_output_string (MMC_F_SIM_GENERAL_DBUS_PATH, mm_sim_get_path (sim)); + mmcli_output_string (MMC_F_SIM_PROPERTIES_ACTIVE, mm_sim_get_active (sim) ? "yes" : "no"); mmcli_output_string (MMC_F_SIM_PROPERTIES_IMSI, mm_sim_get_imsi (sim)); mmcli_output_string (MMC_F_SIM_PROPERTIES_ICCID, mm_sim_get_identifier (sim)); + mmcli_output_string (MMC_F_SIM_PROPERTIES_EID, mm_sim_get_eid (sim)); mmcli_output_string (MMC_F_SIM_PROPERTIES_OPERATOR_ID, mm_sim_get_operator_identifier (sim)); mmcli_output_string (MMC_F_SIM_PROPERTIES_OPERATOR_NAME, mm_sim_get_operator_name (sim)); mmcli_output_string_array (MMC_F_SIM_PROPERTIES_EMERGENCY_NUMBERS, (const gchar **) mm_sim_get_emergency_numbers (sim), FALSE); diff --git a/cli/mmcli.c b/cli/mmcli.c index bf59867c..2e1cc727 100644 --- a/cli/mmcli.c +++ b/cli/mmcli.c @@ -148,7 +148,7 @@ static void print_version_and_exit (void) { g_print (PROGRAM_NAME " " PROGRAM_VERSION "\n" - "Copyright (2011 - 2020) Aleksander Morgado\n" + "Copyright (2011 - 2021) Aleksander Morgado\n" "License GPLv2+: GNU GPL version 2 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -188,7 +188,8 @@ mmcli_force_sync_operation (void) void mmcli_force_operation_timeout (GDBusProxy *proxy) { - g_dbus_proxy_set_default_timeout (proxy, timeout * 1000); + if (proxy) + g_dbus_proxy_set_default_timeout (proxy, timeout * 1000); } gint diff --git a/config.h.in b/config.h.in index a4f71b52..881540c3 100644 --- a/config.h.in +++ b/config.h.in @@ -31,6 +31,9 @@ /* Define if generic plugin is enabled */ #undef ENABLE_PLUGIN_GENERIC +/* Define if gosuncn plugin is enabled */ +#undef ENABLE_PLUGIN_GOSUNCN + /* Define if haier plugin is enabled */ #undef ENABLE_PLUGIN_HAIER @@ -76,6 +79,9 @@ /* Define if pantech plugin is enabled */ #undef ENABLE_PLUGIN_PANTECH +/* Define if qcom-soc plugin is enabled */ +#undef ENABLE_PLUGIN_QCOM_SOC + /* Define if quectel plugin is enabled */ #undef ENABLE_PLUGIN_QUECTEL diff --git a/configure b/configure index b0f1466f..824a13ae 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for ModemManager 1.14.12. +# Generated by GNU Autoconf 2.71 for ModemManager 1.16.6. # # Report bugs to . # @@ -622,8 +622,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ModemManager' PACKAGE_TARNAME='ModemManager' -PACKAGE_VERSION='1.14.12' -PACKAGE_STRING='ModemManager 1.14.12' +PACKAGE_VERSION='1.16.6' +PACKAGE_STRING='ModemManager 1.16.6' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues' PACKAGE_URL='' @@ -704,6 +704,8 @@ ENABLE_PLUGIN_SAMSUNG_FALSE ENABLE_PLUGIN_SAMSUNG_TRUE ENABLE_PLUGIN_QUECTEL_FALSE ENABLE_PLUGIN_QUECTEL_TRUE +ENABLE_PLUGIN_QCOM_SOC_FALSE +ENABLE_PLUGIN_QCOM_SOC_TRUE ENABLE_PLUGIN_PANTECH_FALSE ENABLE_PLUGIN_PANTECH_TRUE ENABLE_PLUGIN_OPTION_HSO_FALSE @@ -734,6 +736,8 @@ ENABLE_PLUGIN_HUAWEI_FALSE ENABLE_PLUGIN_HUAWEI_TRUE ENABLE_PLUGIN_HAIER_FALSE ENABLE_PLUGIN_HAIER_TRUE +ENABLE_PLUGIN_GOSUNCN_FALSE +ENABLE_PLUGIN_GOSUNCN_TRUE ENABLE_PLUGIN_FOXCONN_FALSE ENABLE_PLUGIN_FOXCONN_TRUE ENABLE_PLUGIN_FIBOCOM_FALSE @@ -772,6 +776,8 @@ WITH_SYSTEMD_JOURNAL_FALSE WITH_SYSTEMD_JOURNAL_TRUE WITH_SYSTEMD_SUSPEND_RESUME_FALSE WITH_SYSTEMD_SUSPEND_RESUME_TRUE +LIBELOGIND_LIBS +LIBELOGIND_CFLAGS LIBSYSTEMD_LOGIN_LIBS LIBSYSTEMD_LOGIN_CFLAGS LIBSYSTEMD_LIBS @@ -1034,6 +1040,7 @@ enable_plugin_dell enable_plugin_dlink enable_plugin_fibocom enable_plugin_foxconn +enable_plugin_gosuncn enable_plugin_haier enable_plugin_huawei enable_plugin_iridium @@ -1049,6 +1056,7 @@ enable_plugin_novatel_lte enable_plugin_option enable_plugin_option_hso enable_plugin_pantech +enable_plugin_qcom_soc enable_plugin_quectel enable_plugin_samsung enable_plugin_sierra_legacy @@ -1090,6 +1098,8 @@ LIBSYSTEMD_CFLAGS LIBSYSTEMD_LIBS LIBSYSTEMD_LOGIN_CFLAGS LIBSYSTEMD_LOGIN_LIBS +LIBELOGIND_CFLAGS +LIBELOGIND_LIBS POLKIT_CFLAGS POLKIT_LIBS MBIM_CFLAGS @@ -1644,7 +1654,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ModemManager 1.14.12 to adapt to many kinds of systems. +\`configure' configures ModemManager 1.16.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1715,7 +1725,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ModemManager 1.14.12:";; + short | recursive ) echo "Configuration of ModemManager 1.16.6:";; esac cat <<\_ACEOF @@ -1763,6 +1773,7 @@ Optional Features: --enable-plugin-dlink Build dlink plugin --enable-plugin-fibocom Build fibocom plugin --enable-plugin-foxconn Build foxconn plugin + --enable-plugin-gosuncn Build gosuncn plugin --enable-plugin-haier Build haier plugin --enable-plugin-huawei Build huawei plugin --enable-plugin-iridium Build iridium plugin @@ -1783,6 +1794,8 @@ Optional Features: --enable-plugin-option-hso Build option-hso plugin --enable-plugin-pantech Build pantech plugin + --enable-plugin-qcom-soc + Build qcom-soc plugin --enable-plugin-quectel Build quectel plugin --enable-plugin-samsung Build samsung plugin --enable-plugin-sierra-legacy @@ -1877,6 +1890,10 @@ Some influential environment variables: C compiler flags for LIBSYSTEMD_LOGIN, overriding pkg-config LIBSYSTEMD_LOGIN_LIBS linker flags for LIBSYSTEMD_LOGIN, overriding pkg-config + LIBELOGIND_CFLAGS + C compiler flags for LIBELOGIND, overriding pkg-config + LIBELOGIND_LIBS + linker flags for LIBELOGIND, overriding pkg-config POLKIT_CFLAGS C compiler flags for POLKIT, overriding pkg-config POLKIT_LIBS linker flags for POLKIT, overriding pkg-config @@ -1952,7 +1969,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ModemManager configure 1.14.12 +ModemManager configure 1.16.6 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2251,7 +2268,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ModemManager $as_me 1.14.12, which was +It was created by ModemManager $as_me 1.16.6, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3523,7 +3540,7 @@ fi # Define the identity of the package. PACKAGE='ModemManager' - VERSION='1.14.12' + VERSION='1.16.6' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -16581,17 +16598,17 @@ fi MM_MAJOR_VERSION=1 -MM_MINOR_VERSION=14 -MM_MICRO_VERSION=12 -MM_VERSION=1.14.12 +MM_MINOR_VERSION=16 +MM_MICRO_VERSION=6 +MM_VERSION=1.16.6 -MM_GLIB_LT_CURRENT=6 +MM_GLIB_LT_CURRENT=7 MM_GLIB_LT_REVISION=0 -MM_GLIB_LT_AGE=6 +MM_GLIB_LT_AGE=7 @@ -20872,6 +20889,77 @@ printf "%s\n" "yes" >&6; } have_libsystemd_login=yes fi +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBELOGIND" >&5 +printf %s "checking for LIBELOGIND... " >&6; } + +if test -n "$LIBELOGIND_CFLAGS"; then + pkg_cv_LIBELOGIND_CFLAGS="$LIBELOGIND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelogind >= 209\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libelogind >= 209") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBELOGIND_CFLAGS=`$PKG_CONFIG --cflags "libelogind >= 209" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBELOGIND_LIBS"; then + pkg_cv_LIBELOGIND_LIBS="$LIBELOGIND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelogind >= 209\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libelogind >= 209") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBELOGIND_LIBS=`$PKG_CONFIG --libs "libelogind >= 209" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBELOGIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libelogind >= 209" 2>&1` + else + LIBELOGIND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libelogind >= 209" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBELOGIND_PKG_ERRORS" >&5 + + have_elogind=no +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + have_elogind=no +else + LIBELOGIND_CFLAGS=$pkg_cv_LIBELOGIND_CFLAGS + LIBELOGIND_LIBS=$pkg_cv_LIBELOGIND_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + have_elogind=yes +fi + # Check whether --with-systemd-suspend-resume was given. if test ${with_systemd_suspend_resume+y} then : @@ -20882,7 +20970,7 @@ fi if test "x$with_systemd_suspend_resume" = "xauto"; then - if test "x$have_libsystemd" = "xyes" || test "x$have_libsystemd_login" = "xyes"; then + if test "x$have_libsystemd" = "xyes" || test "x$have_libsystemd_login" = "xyes" || test "x$have_elogind" = "xyes"; then with_systemd_suspend_resume=yes else with_systemd_suspend_resume=no @@ -20891,8 +20979,9 @@ fi case $with_systemd_suspend_resume in yes) - if test "x$have_libsystemd" = "xno" && test "x$have_libsystemd_login" = "xno"; then - as_fn_error $? "libsystemd or libsystemd-login development headers are required" "$LINENO" 5 + if test "x$have_libsystemd" = "xno" && test "x$have_libsystemd_login" = "xno" && test "x$have_elogind" = "xno"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libsystemd" >&5 +printf "%s\n" "$as_me: WARNING: libsystemd" >&2;} fi printf "%s\n" "#define WITH_SYSTEMD_SUSPEND_RESUME 1" >>confdefs.h @@ -21210,7 +21299,7 @@ printf "%s\n" "#define WITH_MBIM 1" >>confdefs.h esac -LIBQMI_VERSION=1.26.0 +LIBQMI_VERSION=1.28.6 # Check whether --with-qmi was given. @@ -21375,6 +21464,7 @@ else fi + # Check whether --enable-plugin-altair-lte was given. if test ${enable_plugin_altair_lte+y} then : @@ -21397,6 +21487,7 @@ else fi + # Check whether --enable-plugin-anydata was given. if test ${enable_plugin_anydata+y} then : @@ -21419,6 +21510,7 @@ else fi + # Check whether --enable-plugin-broadmobi was given. if test ${enable_plugin_broadmobi+y} then : @@ -21441,6 +21533,7 @@ else fi + # Check whether --enable-plugin-cinterion was given. if test ${enable_plugin_cinterion+y} then : @@ -21463,6 +21556,7 @@ else fi + # Check whether --enable-plugin-dell was given. if test ${enable_plugin_dell+y} then : @@ -21490,6 +21584,7 @@ else fi + # Check whether --enable-plugin-dlink was given. if test ${enable_plugin_dlink+y} then : @@ -21512,6 +21607,7 @@ else fi + # Check whether --enable-plugin-fibocom was given. if test ${enable_plugin_fibocom+y} then : @@ -21535,6 +21631,7 @@ else fi + # Check whether --enable-plugin-foxconn was given. if test ${enable_plugin_foxconn+y} then : @@ -21558,6 +21655,30 @@ else fi + +# Check whether --enable-plugin-gosuncn was given. +if test ${enable_plugin_gosuncn+y} +then : + enableval=$enable_plugin_gosuncn; +else $as_nop + enable_plugin_gosuncn=$enable_all_plugins +fi + +if test "x$enable_plugin_gosuncn" = "xyes"; then + +printf "%s\n" "#define ENABLE_PLUGIN_GOSUNCN 1" >>confdefs.h + +fi + if test "x$enable_plugin_gosuncn" = "xyes"; then + ENABLE_PLUGIN_GOSUNCN_TRUE= + ENABLE_PLUGIN_GOSUNCN_FALSE='#' +else + ENABLE_PLUGIN_GOSUNCN_TRUE='#' + ENABLE_PLUGIN_GOSUNCN_FALSE= +fi + + + # Check whether --enable-plugin-haier was given. if test ${enable_plugin_haier+y} then : @@ -21580,6 +21701,7 @@ else fi + # Check whether --enable-plugin-huawei was given. if test ${enable_plugin_huawei+y} then : @@ -21602,6 +21724,7 @@ else fi + # Check whether --enable-plugin-iridium was given. if test ${enable_plugin_iridium+y} then : @@ -21624,6 +21747,7 @@ else fi + # Check whether --enable-plugin-linktop was given. if test ${enable_plugin_linktop+y} then : @@ -21646,6 +21770,7 @@ else fi + # Check whether --enable-plugin-longcheer was given. if test ${enable_plugin_longcheer+y} then : @@ -21668,6 +21793,7 @@ else fi + # Check whether --enable-plugin-mbm was given. if test ${enable_plugin_mbm+y} then : @@ -21690,6 +21816,7 @@ else fi + # Check whether --enable-plugin-motorola was given. if test ${enable_plugin_motorola+y} then : @@ -21712,6 +21839,7 @@ else fi + # Check whether --enable-plugin-mtk was given. if test ${enable_plugin_mtk+y} then : @@ -21734,6 +21862,7 @@ else fi + # Check whether --enable-plugin-nokia was given. if test ${enable_plugin_nokia+y} then : @@ -21756,6 +21885,7 @@ else fi + # Check whether --enable-plugin-nokia-icera was given. if test ${enable_plugin_nokia_icera+y} then : @@ -21779,6 +21909,7 @@ else fi + # Check whether --enable-plugin-novatel was given. if test ${enable_plugin_novatel+y} then : @@ -21802,6 +21933,7 @@ else fi + # Check whether --enable-plugin-novatel-lte was given. if test ${enable_plugin_novatel_lte+y} then : @@ -21824,6 +21956,7 @@ else fi + # Check whether --enable-plugin-option was given. if test ${enable_plugin_option+y} then : @@ -21847,6 +21980,7 @@ else fi + # Check whether --enable-plugin-option-hso was given. if test ${enable_plugin_option_hso+y} then : @@ -21870,6 +22004,7 @@ else fi + # Check whether --enable-plugin-pantech was given. if test ${enable_plugin_pantech+y} then : @@ -21892,6 +22027,30 @@ else fi + +# Check whether --enable-plugin-qcom-soc was given. +if test ${enable_plugin_qcom_soc+y} +then : + enableval=$enable_plugin_qcom_soc; +else $as_nop + enable_plugin_qcom_soc="no" +fi + +if test "x$enable_plugin_qcom_soc" = "xyes"; then + +printf "%s\n" "#define ENABLE_PLUGIN_QCOM_SOC 1" >>confdefs.h + +fi + if test "x$enable_plugin_qcom_soc" = "xyes"; then + ENABLE_PLUGIN_QCOM_SOC_TRUE= + ENABLE_PLUGIN_QCOM_SOC_FALSE='#' +else + ENABLE_PLUGIN_QCOM_SOC_TRUE='#' + ENABLE_PLUGIN_QCOM_SOC_FALSE= +fi + + + # Check whether --enable-plugin-quectel was given. if test ${enable_plugin_quectel+y} then : @@ -21914,6 +22073,7 @@ else fi + # Check whether --enable-plugin-samsung was given. if test ${enable_plugin_samsung+y} then : @@ -21937,6 +22097,7 @@ else fi + # Check whether --enable-plugin-sierra-legacy was given. if test ${enable_plugin_sierra_legacy+y} then : @@ -21961,6 +22122,7 @@ else fi + # Check whether --enable-plugin-sierra was given. if test ${enable_plugin_sierra+y} then : @@ -21973,6 +22135,7 @@ if test "x$enable_plugin_sierra" = "xyes"; then printf "%s\n" "#define ENABLE_PLUGIN_SIERRA 1" >>confdefs.h + with_shared_xmm="yes" fi if test "x$enable_plugin_sierra" = "xyes"; then ENABLE_PLUGIN_SIERRA_TRUE= @@ -21983,6 +22146,7 @@ else fi + # Check whether --enable-plugin-simtech was given. if test ${enable_plugin_simtech+y} then : @@ -22005,6 +22169,7 @@ else fi + # Check whether --enable-plugin-telit was given. if test ${enable_plugin_telit+y} then : @@ -22028,6 +22193,7 @@ else fi + # Check whether --enable-plugin-thuraya was given. if test ${enable_plugin_thuraya+y} then : @@ -22050,6 +22216,7 @@ else fi + # Check whether --enable-plugin-tplink was given. if test ${enable_plugin_tplink+y} then : @@ -22072,6 +22239,7 @@ else fi + # Check whether --enable-plugin-ublox was given. if test ${enable_plugin_ublox+y} then : @@ -22094,6 +22262,7 @@ else fi + # Check whether --enable-plugin-via was given. if test ${enable_plugin_via+y} then : @@ -22116,6 +22285,7 @@ else fi + # Check whether --enable-plugin-wavecom was given. if test ${enable_plugin_wavecom+y} then : @@ -22138,6 +22308,7 @@ else fi + # Check whether --enable-plugin-x22x was given. if test ${enable_plugin_x22x+y} then : @@ -22160,6 +22331,7 @@ else fi + # Check whether --enable-plugin-zte was given. if test ${enable_plugin_zte+y} then : @@ -22184,6 +22356,7 @@ fi + if test "x$with_shared_icera" = "xyes"; then WITH_SHARED_ICERA_TRUE= WITH_SHARED_ICERA_FALSE='#' @@ -22298,7 +22471,7 @@ fi -ac_config_files="$ac_config_files Makefile data/Makefile data/ModemManager.pc data/mm-glib.pc data/tests/Makefile data/tests/org.freedesktop.ModemManager1.service include/Makefile include/ModemManager-version.h build-aux/Makefile libqcdm/Makefile libqcdm/src/Makefile libqcdm/tests/Makefile src/Makefile src/tests/Makefile plugins/Makefile test/Makefile introspection/Makefile introspection/tests/Makefile po/Makefile.in docs/Makefile docs/man/Makefile docs/reference/Makefile docs/reference/api/Makefile docs/reference/api/version.xml docs/reference/libmm-glib/Makefile docs/reference/libmm-glib/version.xml libmm-glib/Makefile libmm-glib/generated/Makefile libmm-glib/generated/tests/Makefile libmm-glib/tests/Makefile vapi/Makefile cli/Makefile examples/Makefile examples/modem-watcher-python/Makefile examples/modem-watcher-javascript/Makefile examples/sms-python/Makefile examples/network-scan-python/Makefile" +ac_config_files="$ac_config_files Makefile data/Makefile data/ModemManager.pc data/mm-glib.pc data/tests/Makefile data/tests/org.freedesktop.ModemManager1.service include/Makefile include/ModemManager-version.h build-aux/Makefile libqcdm/Makefile libqcdm/src/Makefile libqcdm/tests/Makefile src/Makefile src/tests/Makefile plugins/Makefile test/Makefile tools/Makefile tools/tests/Makefile tools/tests/services/org.freedesktop.ModemManager1.service introspection/Makefile introspection/tests/Makefile po/Makefile.in docs/Makefile docs/man/Makefile docs/reference/Makefile docs/reference/api/Makefile docs/reference/api/version.xml docs/reference/libmm-glib/Makefile docs/reference/libmm-glib/version.xml libmm-glib/Makefile libmm-glib/generated/Makefile libmm-glib/generated/tests/Makefile libmm-glib/tests/Makefile vapi/Makefile cli/Makefile examples/Makefile examples/modem-watcher-python/Makefile examples/modem-watcher-javascript/Makefile examples/sms-python/Makefile examples/network-scan-python/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -22545,6 +22718,10 @@ if test -z "${ENABLE_PLUGIN_FOXCONN_TRUE}" && test -z "${ENABLE_PLUGIN_FOXCONN_F as_fn_error $? "conditional \"ENABLE_PLUGIN_FOXCONN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_PLUGIN_GOSUNCN_TRUE}" && test -z "${ENABLE_PLUGIN_GOSUNCN_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_PLUGIN_GOSUNCN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_PLUGIN_HAIER_TRUE}" && test -z "${ENABLE_PLUGIN_HAIER_FALSE}"; then as_fn_error $? "conditional \"ENABLE_PLUGIN_HAIER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -22605,6 +22782,10 @@ if test -z "${ENABLE_PLUGIN_PANTECH_TRUE}" && test -z "${ENABLE_PLUGIN_PANTECH_F as_fn_error $? "conditional \"ENABLE_PLUGIN_PANTECH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_PLUGIN_QCOM_SOC_TRUE}" && test -z "${ENABLE_PLUGIN_QCOM_SOC_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_PLUGIN_QCOM_SOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_PLUGIN_QUECTEL_TRUE}" && test -z "${ENABLE_PLUGIN_QUECTEL_FALSE}"; then as_fn_error $? "conditional \"ENABLE_PLUGIN_QUECTEL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -23075,7 +23256,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ModemManager $as_me 1.14.12, which was +This file was extended by ModemManager $as_me 1.16.6, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23143,7 +23324,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -ModemManager config.status 1.14.12 +ModemManager config.status 1.16.6 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -23582,6 +23763,9 @@ do "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; + "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; + "tools/tests/Makefile") CONFIG_FILES="$CONFIG_FILES tools/tests/Makefile" ;; + "tools/tests/services/org.freedesktop.ModemManager1.service") CONFIG_FILES="$CONFIG_FILES tools/tests/services/org.freedesktop.ModemManager1.service" ;; "introspection/Makefile") CONFIG_FILES="$CONFIG_FILES introspection/Makefile" ;; "introspection/tests/Makefile") CONFIG_FILES="$CONFIG_FILES introspection/tests/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; @@ -25040,6 +25224,7 @@ echo " dlink: ${enable_plugin_dlink} fibocom: ${enable_plugin_fibocom} foxconn: ${enable_plugin_foxconn} + gosuncn: ${enable_plugin_gosuncn} haier: ${enable_plugin_haier} huawei: ${enable_plugin_huawei} iridium: ${enable_plugin_iridium} @@ -25055,6 +25240,7 @@ echo " option: ${enable_plugin_option} option hso: ${enable_plugin_option_hso} pantech: ${enable_plugin_pantech} + qcom-soc: ${enable_plugin_qcom_soc} quectel: ${enable_plugin_quectel} samsung: ${enable_plugin_samsung} sierra legacy: ${enable_plugin_sierra_legacy} diff --git a/configure.ac b/configure.ac index 0b15066c..366d765a 100644 --- a/configure.ac +++ b/configure.ac @@ -5,8 +5,8 @@ dnl Package and library versioning support dnl m4_define([mm_major_version], [1]) -m4_define([mm_minor_version], [14]) -m4_define([mm_micro_version], [12]) +m4_define([mm_minor_version], [16]) +m4_define([mm_micro_version], [6]) m4_define([mm_version], [mm_major_version.mm_minor_version.mm_micro_version]) @@ -18,9 +18,9 @@ dnl If the interface has grown (that is, the new library is compatible dnl with old code), increment a. dnl If the interface has changed in an incompatible way (that is, dnl functions have changed or been removed), then zero a. -m4_define([mm_glib_lt_current], [6]) +m4_define([mm_glib_lt_current], [7]) m4_define([mm_glib_lt_revision], [0]) -m4_define([mm_glib_lt_age], [6]) +m4_define([mm_glib_lt_age], [7]) dnl----------------------------------------------------------------------------- dnl autoconf, automake, libtool initialization @@ -248,13 +248,14 @@ dnl PKG_CHECK_MODULES(LIBSYSTEMD, [libsystemd >= 209],[have_libsystemd=yes],[have_libsystemd=no]) PKG_CHECK_MODULES(LIBSYSTEMD_LOGIN, [libsystemd-login >= 183],[have_libsystemd_login=yes],[have_libsystemd_login=no]) +PKG_CHECK_MODULES(LIBELOGIND, [libelogind >= 209], [have_elogind=yes], [have_elogind=no]) AC_ARG_WITH(systemd-suspend-resume, AS_HELP_STRING([--with-systemd-suspend-resume=no|yes], [Enable systemd suspend/resume support [[default=auto]]]),, [with_systemd_suspend_resume=auto]) if test "x$with_systemd_suspend_resume" = "xauto"; then - if test "x$have_libsystemd" = "xyes" || test "x$have_libsystemd_login" = "xyes"; then + if test "x$have_libsystemd" = "xyes" || test "x$have_libsystemd_login" = "xyes" || test "x$have_elogind" = "xyes"; then with_systemd_suspend_resume=yes else with_systemd_suspend_resume=no @@ -263,8 +264,8 @@ fi case $with_systemd_suspend_resume in yes) - if test "x$have_libsystemd" = "xno" && test "x$have_libsystemd_login" = "xno"; then - AC_MSG_ERROR(libsystemd or libsystemd-login development headers are required) + if test "x$have_libsystemd" = "xno" && test "x$have_libsystemd_login" = "xno" && test "x$have_elogind" = "xno"; then + AC_MSG_WARN(libsystemd, libsystemd-login or elogind must be available at runtime for suspend/resume support) fi AC_DEFINE(WITH_SYSTEMD_SUSPEND_RESUME, 1, [Define if you have systemd suspend-resume support]) ;; @@ -400,7 +401,7 @@ dnl----------------------------------------------------------------------------- dnl QMI support (enabled by default) dnl -LIBQMI_VERSION=1.26.0 +LIBQMI_VERSION=1.28.6 AC_ARG_WITH(qmi, AS_HELP_STRING([--without-qmi], [Build without QMI support]), [], [with_qmi=yes]) AM_CONDITIONAL(WITH_QMI, test "x$with_qmi" = "xyes") @@ -470,6 +471,7 @@ MM_ENABLE_PLUGIN([fibocom], [with_shared_xmm]) MM_ENABLE_PLUGIN([foxconn], [with_shared_foxconn]) +MM_ENABLE_PLUGIN([gosuncn]) MM_ENABLE_PLUGIN([haier]) MM_ENABLE_PLUGIN([huawei]) MM_ENABLE_PLUGIN([iridium]) @@ -489,13 +491,15 @@ MM_ENABLE_PLUGIN([option], MM_ENABLE_PLUGIN([option-hso], [with_shared_option]) MM_ENABLE_PLUGIN([pantech]) +MM_ENABLE_PLUGIN_DISABLED([qcom-soc]) MM_ENABLE_PLUGIN([quectel]) MM_ENABLE_PLUGIN([samsung], [with_shared_icera]) MM_ENABLE_PLUGIN([sierra-legacy], [with_shared_icera, with_shared_sierra]) -MM_ENABLE_PLUGIN([sierra]) +MM_ENABLE_PLUGIN([sierra], + [with_shared_xmm]) MM_ENABLE_PLUGIN([simtech]) MM_ENABLE_PLUGIN([telit], [with_shared_telit]) @@ -537,6 +541,9 @@ src/Makefile src/tests/Makefile plugins/Makefile test/Makefile +tools/Makefile +tools/tests/Makefile +tools/tests/services/org.freedesktop.ModemManager1.service introspection/Makefile introspection/tests/Makefile po/Makefile.in @@ -608,6 +615,7 @@ echo " dlink: ${enable_plugin_dlink} fibocom: ${enable_plugin_fibocom} foxconn: ${enable_plugin_foxconn} + gosuncn: ${enable_plugin_gosuncn} haier: ${enable_plugin_haier} huawei: ${enable_plugin_huawei} iridium: ${enable_plugin_iridium} @@ -623,6 +631,7 @@ echo " option: ${enable_plugin_option} option hso: ${enable_plugin_option_hso} pantech: ${enable_plugin_pantech} + qcom-soc: ${enable_plugin_qcom_soc} quectel: ${enable_plugin_quectel} samsung: ${enable_plugin_samsung} sierra legacy: ${enable_plugin_sierra_legacy} diff --git a/data/Makefile.in b/data/Makefile.in index 38dbb72f..1cbb9ac6 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -291,6 +291,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/data/org.freedesktop.ModemManager1.policy.in b/data/org.freedesktop.ModemManager1.policy.in index 262585cb..6e44401f 100644 --- a/data/org.freedesktop.ModemManager1.policy.in +++ b/data/org.freedesktop.ModemManager1.policy.in @@ -18,8 +18,10 @@ Controlla il demone di «Modem Manager» Mengendalikan daemon Manajer Modem Modemkezelő démon vezérlése + שליטה בסוכן מנהל המודמים Controle il demoni di Modem Manager Contrôle le service Modem Manager + Hallitse Modem Manager taustaprosessia Den Modem-Manager-Daemon steuern Styr Modem Manager-dæmonen Ovládat démona pro správu modemů @@ -36,8 +38,10 @@ La politica di sistema impedisce il controllo di «Modem Manager» Kebijakan sistem mencegah pengendalian Manajer Modem. A rendszer házirendje nem teszi lehetővé a Modemkezelő vezérlését. + מדיניות מערכת מונעת שליטה במנהל המודמים. La politiche dal sisteme e impedìs il control di Modem Manager. La politique système empêche le contrôle de Modem Manager. + Järjestelmän sääntö estää Modem Managerin hallinta-asetusten muuttamisen. Die Systemrichtlinien verhindern die Steuerung von ModemManager. Systempolitikken forhindrer styring af Modem Manager. Systémová zásada brání v ovládání Správy modemů. @@ -60,8 +64,10 @@ Sblocca e controlla un dispositivo mobile a banda larga Buka kunci dan kendalikan suatu peranti data seluler Mobil széles sávú készülék feloldása és vezérlése + שחרור ושליטה במכשיר לרשת תקשורת סלולרית Sbloche e controle un dispositîf a bande largje mobile Déverrouiller et contrôler un périphérique mobile à large bande + Avaa ja hallitse mobiilia laajakaistalaitetta Ein mobiles Breitbandgerät entsperren und steuern Lås op for og styr en mobilt bredbånd-enhed Odemykat a ovládat mobilní širokopásmové zařízení @@ -78,8 +84,10 @@ La politica di sistema impedisce di sbloccare o controllare il dispositivo mobile a banda larga. Kebijakan sistem mencegah membuka kunci atau mengendalikan peranti data seluler. A rendszer házirendje nem teszi lehetővé a mobil széles sávú készülék feloldását vagy vezérlését. + מדיניות המערכת מונעת שחרור או שליטה בהתקן רשת התקשורת האלחוטית. La politiche dal sisteme e impedìs di sblocâ o controlâ il dispositîf a bande largje mobile. La politique système empêche le verrouillage et le contrôle d’un périphérique mobile à large bande. + Järjestelmän sääntö estää avaamasta tai hallitsemasta mobiilia laajakaistalaitetta. Die Systemrichtlinien verhindern das Entsperren oder Steuern des mobilen Breitbandgerätes. Systempolitikken forhindrer oplåsning og styring af mobilt bredbånd-enheden. Systémová zásada brání v odemknutí nebo v ovládání mobilního širokopásmového zařízení. @@ -102,8 +110,10 @@ Aggiunge, modifica ed elimina contatti mobili a banda larga Tambah, ubah, dan hapus kontak data seluler Névjegyek hozzáadása, módosítása és eltávolítása + ניתן להוסיף, לערוך ולמחוק אנשי קשר בהתקן רשת תקשורת אלחוטית Zonte, modifiche e elimine i contats de bande largje mobile Ajouter, modifier et supprimer des contacts de connexions mobiles + Lisää, muuta ja poista mobiilin laajakaistan yhteystietoja Kontakte für mobiles Breitband hinzufügen, ändern und löschen Tilføj, rediger og slet mobilt bredbånd-kontakter Přidávat, měnit a mazat kontakty v mobilním zařízení @@ -120,8 +130,10 @@ La politica di sistema impedisce di aggiungere, modificare o eliminare i contatti di questo dispositivo. Kebijakan sistem mencegah menambah, mengubah, atau menghapus kontak-kontak peranti ini. A rendszer házirendje nem teszi lehetővé ezen az eszközön a névjegyek hozzáadását, módosítását és eltávolítását. + מדיניות המערכת מונעת הוספה, עריכה או מחיקה של אנשי הקשר במכשיר הזה. La politiche dal sisteme e impedìs di zontâ, modificâ o eliminâ i contats di chest dispositîf. La politique système empêche l’ajout, la modification ou la suppression des contacts de cet appareil. + Järjestelmän sääntö estää lisäämästä, muuttamasta tai poistamasta tämän laitteen yhteystietoja. Die Systemrichtlinien verhindern das Hinzufügen, Ändern oder Löschen der Kontakte dieses Gerätes. Systempolitikken forhindrer tilføjelse, redigering eller sletning af enhedens kontakter. Systémová zásada brání v přidání, změně nebo smazání kontaktů v tomto zařízení. @@ -144,8 +156,10 @@ Invia, salva, modifica ed elimina messaggi di testo Kirim, simpan, ubah, dan hapus pesan-pesan teks Szöveges üzenetek küldése, mentése, módosítása és törlése + שליחה, שמירה, עריכה ומחיקה של הודעות טקסט Invie, salve, modifiche e elimine i messaçs di test Envoyer, enregistrer, modifier et supprimer des messages textuels + Lähetä, talleta, muuta ja poista tekstiviestejä Textnachrichten senden, speichern, bearbeiten und löschen Send, gem, rediger og slet tekstbeskeder Odesílat, ukládat, měnit a mazat textové zprávy @@ -162,8 +176,10 @@ La politica di sistema impedisce di inviare o manipolare i messaggi di testo di questo dispositivo. Kebijakan sistem mencegah pengiriman atau manipulasi pesan-pesan teks peranti ini. A rendszer házirendje nem teszi lehetővé a szöveges üzenetek küldését vagy kezelését. + מדיניות המערכת מונעת שליחה או עריכה של המסרונים בהתקן הזה. La politiche dal sisteme e impedìs di inviâ o manipolâ i messaçs di test di chest dispositîf. La politique système empêche l’envoi ou la manipulation des messages textuels ce cet appareil. + Järjestelmän sääntö estää lähettämästä tai muokkaamasta tämän laitteen tekstiviestejä. Systempolitikken forhindrer afsendelse eller manipulering af enhedens tekstbeskeder. Systémová zásada brání v odesílání nebo v manipulaci s textovými zprávami na tomto zařízení. @@ -185,8 +201,10 @@ Accetta chiamate vocali in arrivo o avvia chiamate vocali. Terima panggilan suara masuk atau mulai pemanggilan suara keluar. Bejövő hívások fogadása vagy kimenő hívások indítása. + לקבל שיחות נכנסות או להוציא שיחות. Acete lis clamadis vocâls in jentrade o tacâ clamadis vocâls in jessude. Accepter des appels vocaux entrants ou initier des appels vocaux sortants. + Hyväksy tulevat puhelut tai aloita (ääni)puheluita. Accepter indkommende stemmeopkald eller start udgående stemmeopkald. Přijímat příchozí hovory nebo začínat odchozí hovory System policy prevents voice calls. @@ -202,8 +220,10 @@ La politica di sistema impedisce di effettuare chiamate vocali. Kebijakan sistem mencegah panggilan suara. A rendszer házirendje nem teszi lehetővé a hívásokat. + מדיניות המערכת מונעת שיחות קוליות. La politiche dal sisteme e impedìs lis clamadis vocâls. La politique système empêche les appels vocaux. + Järjestelmän sääntö estää äänipuhelut. Systempolitikken forhindrer stemmeopkald. Systémová zásada brání v hlasových hovorech. @@ -222,6 +242,8 @@ Odpytywanie informacji o czasie sieciowym i strefie czasowej Interroga le informazioni sull'ora di rete e sul fuso orario Tanyakan waktu jaringan dan informasi zona waktu + לתשאל את פרטי השעה ואזור הזמן מהרשת + Tarkista verkon aika ja aikavyöhyketiedot System policy prevents querying network time information. Правила системи забороняють надсилання запитів щодо часу мережі. Sistem ilkesi ağ zaman bilgisini sorgulamayı engelliyor. @@ -232,6 +254,8 @@ Ustawienia systemu uniemożliwiają odpytywanie informacji o czasie sieciowym. La politica di sistema impedisce di interrogare le informazioni sull'ora di rete Kebijakan sistem mencegah kuiri informasi waktu jaringan. + מדיניות מערכת מונעת תשאול פרטי זמן מהרשת. + Järjestelmän sääntö estää tarkastamasta verkon aikaa ja aikavyöhyketietoja. no @MM_DEFAULT_USER_POLICY@ @@ -251,8 +275,10 @@ Abilita e visualizza informazioni di geolocalizzazione e posizionamento Fungsikan dan tilik lokasi geografis dan informasi posisi Földrajzi helyzetmeghatározás bekapcsolása és az információk megtekintése + להפעיל ולהציג פרטי מיקום גאוגרפי Abilite e viôt la posizion gjeografiche e lis informazions su la posizion Activer et voir les informations de position géographique + Salli ja katso sijainti- ja paikkatiedot Informationen zum geografischen Standort und Positionierung aktivieren und anzeigen Aktivér og vis information om geografisk placering og positition Povolovat sdělování a zobrazování geografické polohy a informací o pozici @@ -269,8 +295,10 @@ La politica di sistema impedisce di abilitare o visualizzare informazioni di geolocalizzazione. Kebijakan sistem mencegah memfungsikan atau menilik informasi lokasi geografis. A rendszer házirendje nem teszi lehetővé a földrajzi helyzetmeghatározás bekapcsolását vagy az információk megtekintését. + מדיניות מערכת מונעת הפעלה או הצגה של פרטי מיקום גאוגרפי. La politiche dal sisteme e impedìs di abilitâ o viodi lis informazions su la posizion gjeografiche. La politique système empêche d’activer ou de voir les informations de position géographique. + Järjestelmän sääntö estää sallimasta tai katsomasta sijainti- ja paikkatietoja Die Systemrichtlinien verhindern das Aktivieren oder Ändern der Informationen zum geografischen Standort. Systempolitikken forhindrer aktivering og visning af information geografisk placering. Systémová zásada brání v povolení sdělování a v zobrazení informací o geografické poloze. @@ -293,8 +321,10 @@ Interroga e utilizza informazioni e servizi della rete Kuiri dan manfaatkan layanan dan informasi jaringan Hálózati információk és szolgáltatások lekérdezése és használata + תשאול ושימוש בשירותי ומידע על הרשת Interoghe e dopre lis informazions di rêt e i servizis Interroger et utiliser les informations et services du réseau + Tarkista ja käytä verkon tietoja ja palveluita Netzwerkinformationen und -dienste abfragen und nutzen Forespørg og anvend netværksinformation og -tjenester Dotazovat se na informace o síti a na služby a využívat je @@ -311,8 +341,10 @@ La politica di sistema impedisce di interrogare o di utilizzare le informazioni e i servizi della rete. Kebijakan sistem mencegah kuiri atau pemanfaatan layanan dan informasi jaringan. A rendszer házirendje nem teszi lehetővé a hálózati információk és szolgáltatások lekérdezését és használatát. + מדיניות המערכת מונעת תשאול או שימוש במידע על הרשת או שירותים שלה. La politiche dal sisteme e impedìs la interogazion e la utilizazion di informazions di rêt e servizis. La politique système empêche l’interrogation et l’utilisation des informations et des services du réseau. + Järjestelmän sääntö estää tarkistamasta tai käyttämästä verkon tietoja ja palveluita. Die Systemrichtlinien verhindern die Abfrage der Netzwerkinformationen und -dienste. Systempolitikken forhindrer forespørgsel eller anvendelse af netværksinformation og -tjenester. Systémová zásada brání v dotazování na informace o síti a na služby, nebo brání v jejich využívání. @@ -335,8 +367,10 @@ Interroga e gestisce il firmware su un dispositivo mobile a banda larga Kuiri dan kelola firmware pada suatu peranti data seluler Firmware lekérdezése és kezelése a mobil széles sávú eszközön + תשאול וניהול קושחה על התקן רשת תקשורת סלולרית Interoghe e gjestìs il firmware suntun dispositîf a bande largje mobile Interroger et gérer le matériel d’un périphérique mobile à large bande + Tarkista ja hallitse mobiilin laajakaistalaitteen laiteohjelmistoa Firmware auf mobilen Breitbandgeräten abfragen und verwalten Forespørg og håndter firmware på en mobilt bredbånd-enhed Dotazovat se na firmware a spravovat jej na mobilním širokopásmovém zařízení @@ -353,8 +387,10 @@ La politica di sistema impedisce di interrogare o gestire il firmware di questo dispositivo. Kebijakan sistem mencegah kuiri atau pengelolaan firmware peranti ini. A rendszer lekérdezése és használata lehetővé a firmware lekérdezését és kezelését az eszközön. + מדיניות המערכת מונעת תשאול או ניהול של קושחת ההתקן הזה. La politiche dal sisteme e impedìs di interogâ o gjestî il firmware di chest dispositîf. La politique système empêche l’interrogation et la gestion du matériel de ce périphérique. + Järjestelmän sääntö estää tarkistamasta ja hallitsemasta tämän laitteen laiteohjelmistoa. Die Systemrichtlinien verhindern die Abfrage oder Verwaltung der Firmware dieses Gerätes. Systempolitikken forhindrer forespørgsel og håndtering af enhedens firmware. Systémová zásada brání v dotázání na firmware nebo brání v jeho správě na tomto zařízení. diff --git a/data/tests/Makefile.in b/data/tests/Makefile.in index 55ea0089..94cb271d 100644 --- a/data/tests/Makefile.in +++ b/data/tests/Makefile.in @@ -195,6 +195,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/docs/Makefile.in b/docs/Makefile.in index ae61b7af..65996ec8 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -254,6 +254,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/docs/man/Makefile.in b/docs/man/Makefile.in index bc8ee66d..fc73cf66 100644 --- a/docs/man/Makefile.in +++ b/docs/man/Makefile.in @@ -226,6 +226,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/docs/man/mmcli.1 b/docs/man/mmcli.1 index 3730a883..3e86931c 100644 --- a/docs/man/mmcli.1 +++ b/docs/man/mmcli.1 @@ -281,6 +281,12 @@ MMModemBand documentation. An example would be: 'egsm|dcs|pcs|g850' to select all the GSM frequency bands. .TP +.B \-\-set\-primary\-sim\-slot=[SLOT] +Request to switch the primary SIM slot. + +The given \fBSLOT\fR must be a valid slot number in the [1,N] range, where +N is the amount of SIM slots available in the system. +.TP .B \-\-inhibit Inhibit the specific modem from being used by ModemManager. This method is completely equivalent to \fB\-\-inhibit\-device\fR, with the only diff --git a/docs/reference/Makefile.in b/docs/reference/Makefile.in index eb30857a..50fa1e18 100644 --- a/docs/reference/Makefile.in +++ b/docs/reference/Makefile.in @@ -254,6 +254,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ diff --git a/docs/reference/api/Makefile.in b/docs/reference/api/Makefile.in index bcecac4b..bc8f4ebe 100644 --- a/docs/reference/api/Makefile.in +++ b/docs/reference/api/Makefile.in @@ -219,6 +219,8 @@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBELOGIND_CFLAGS = @LIBELOGIND_CFLAGS@ +LIBELOGIND_LIBS = @LIBELOGIND_LIBS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@ @@ -471,7 +473,6 @@ extra_files = \ @ENABLE_GTK_DOC_TRUE@ sgml.stamp html.stamp pdf.stamp @ENABLE_GTK_DOC_TRUE@SCANOBJ_FILES = \ -@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).actions \ @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \ @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \ @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \ @@ -667,11 +668,11 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@ENABLE_GTK_DOC_FALSE@install-data-local: -@ENABLE_GTK_DOC_FALSE@uninstall-local: -@ENABLE_GTK_DOC_FALSE@distclean-local: @ENABLE_GTK_DOC_FALSE@maintainer-clean-local: +@ENABLE_GTK_DOC_FALSE@uninstall-local: @ENABLE_GTK_DOC_FALSE@clean-local: +@ENABLE_GTK_DOC_FALSE@distclean-local: +@ENABLE_GTK_DOC_FALSE@install-data-local: clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am @@ -922,7 +923,6 @@ uninstall-am: uninstall-local @ENABLE_GTK_DOC_TRUE@ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ @ENABLE_GTK_DOC_TRUE@ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ @ENABLE_GTK_DOC_TRUE@ fi; \ -@ENABLE_GTK_DOC_TRUE@ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ @ENABLE_GTK_DOC_TRUE@ fi @ENABLE_GTK_DOC_TRUE@uninstall-local: diff --git a/docs/reference/api/ModemManager-docs.xml b/docs/reference/api/ModemManager-docs.xml index 42dbf1f6..bbcab97a 100644 --- a/docs/reference/api/ModemManager-docs.xml +++ b/docs/reference/api/ModemManager-docs.xml @@ -15,6 +15,8 @@ For ModemManager version &version; + The latest version of this documentation can be found on-line at + https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/. @@ -52,6 +54,7 @@ 2018 2019 2020 + 2021 The ModemManager Authors @@ -139,4 +142,8 @@ Index of new symbols in 1.12 + + Index of new symbols in 1.16 + + diff --git a/docs/reference/api/ModemManager-overview.xml b/docs/reference/api/ModemManager-overview.xml index 80c18050..1094950b 100644 --- a/docs/reference/api/ModemManager-overview.xml +++ b/docs/reference/api/ModemManager-overview.xml @@ -159,10 +159,10 @@ $ sudo udevadm trigger - MM_FILTER_RULE_CDC_WDM + MM_FILTER_RULE_USBMISC - This filter will automatically flag as allowed all cdc-wdm ports exposed by - devices. Unless there is a will to explicitly forbid the cdc-wdm ports exposed + This filter will automatically flag as allowed all cdc-wdm ports exposed in the + usbmisc subsystem. Unless there is a will to explicitly forbid the cdc-wdm ports exposed by qmi_wwan, cdc_mbim or huawei-cdc-ncm kernel drivers, this filter should always be enabled. @@ -254,7 +254,7 @@ $ sudo udevadm trigger MM_FILTER_RULE_EXPLICIT_BLACKLIST MM_FILTER_RULE_VIRTUAL MM_FILTER_RULE_NET - MM_FILTER_RULE_CDC_WDM + MM_FILTER_RULE_USBMISC MM_FILTER_RULE_TTY MM_FILTER_RULE_TTY_BLACKLIST MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY @@ -280,7 +280,7 @@ $ sudo udevadm trigger MM_FILTER_RULE_EXPLICIT_BLACKLIST MM_FILTER_RULE_VIRTUAL MM_FILTER_RULE_NET - MM_FILTER_RULE_CDC_WDM + MM_FILTER_RULE_USBMISC MM_FILTER_RULE_TTY MM_FILTER_RULE_TTY_PLATFORM_DRIVER MM_FILTER_RULE_TTY_DRIVER @@ -307,7 +307,7 @@ $ sudo udevadm trigger MM_FILTER_RULE_EXPLICIT_BLACKLIST MM_FILTER_RULE_VIRTUAL MM_FILTER_RULE_NET - MM_FILTER_RULE_CDC_WDM + MM_FILTER_RULE_USBMISC MM_FILTER_RULE_TTY MM_FILTER_RULE_TTY_BLACKLIST MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY @@ -339,7 +339,7 @@ $ sudo udevadm trigger net and cdc-wdm ports forbidden completely: # MM_FILTER_RULE_NET=0 \ - MM_FILTER_RULE_CDC_WDM=0 \ + MM_FILTER_RULE_USBMISC=0 \ /usr/sbin/ModemManager --filter-policy=DEFAULT @@ -348,7 +348,7 @@ $ sudo udevadm trigger net ports (e.g. 'lo') are also being allowed. # MM_FILTER_RULE_NET=1 \ - MM_FILTER_RULE_CDC_WDM=1 \ + MM_FILTER_RULE_USBMISC=1 \ /usr/sbin/ModemManager --filter-policy=WHITELIST-ONLY diff --git a/docs/reference/api/ModemManager-sections.txt b/docs/reference/api/ModemManager-sections.txt index e63ce121..478f4793 100644 --- a/docs/reference/api/ModemManager-sections.txt +++ b/docs/reference/api/ModemManager-sections.txt @@ -164,6 +164,8 @@ ID_MM_PORT_TYPE_AT_SECONDARY ID_MM_PORT_TYPE_GPS ID_MM_PORT_TYPE_QCDM ID_MM_PORT_TYPE_AUDIO +ID_MM_PORT_TYPE_QMI +ID_MM_PORT_TYPE_MBIM ID_MM_TTY_BAUDRATE ID_MM_TTY_FLOW_CONTROL diff --git a/docs/reference/api/html/ModemManager-Common-udev-tags.html b/docs/reference/api/html/ModemManager-Common-udev-tags.html index df5cb548..44e0a05c 100644 --- a/docs/reference/api/html/ModemManager-Common-udev-tags.html +++ b/docs/reference/api/html/ModemManager-Common-udev-tags.html @@ -93,6 +93,14 @@ #define +ID_MM_PORT_TYPE_QMI + + +#define +ID_MM_PORT_TYPE_MBIM + + +#define ID_MM_TTY_BAUDRATE @@ -268,6 +276,30 @@ are audio ports.


+

ID_MM_PORT_TYPE_QMI

+
#define ID_MM_PORT_TYPE_QMI "ID_MM_PORT_TYPE_QMI"
+
+

This is a port-specific tag applied to generic ports that we know in advance +are QMI ports.

+

This tag will also prevent other types of probing (e.g. AT, MBIM) on the +port.

+

This tag is not required for QMI ports exposed by the qmi_wwan driver.

+

Since: 1.16

+
+
+
+

ID_MM_PORT_TYPE_MBIM

+
#define ID_MM_PORT_TYPE_MBIM "ID_MM_PORT_TYPE_MBIM"
+
+

This is a port-specific tag applied to generic ports that we know in advance +are MBIM ports.

+

This tag will also prevent other types of probing (e.g. AT, QMI) on the +port.

+

This tag is not required for MBIM ports exposed by the cdc_mbim driver.

+

Since: 1.16

+
+
+

ID_MM_TTY_BAUDRATE

#define ID_MM_TTY_BAUDRATE "ID_MM_TTY_BAUDRATE"
 
diff --git a/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html b/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html index e5bfff95..e315b224 100644 --- a/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html +++ b/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html @@ -3000,6 +3000,13 @@ preferred in a given device.

  + +

MM_MODEM_PORT_TYPE_IGNORED

+ +

Ignored port. Since 1.16.

+ +  +
diff --git a/docs/reference/api/html/ModemManager-Version-checks.html b/docs/reference/api/html/ModemManager-Version-checks.html index b1f52d1e..b1d582e4 100644 --- a/docs/reference/api/html/ModemManager-Version-checks.html +++ b/docs/reference/api/html/ModemManager-Version-checks.html @@ -127,7 +127,7 @@ is compiled against.


MM_MINOR_VERSION

-
#define MM_MINOR_VERSION (14)
+
#define MM_MINOR_VERSION (16)
 

Evaluates to the minor version number of ModemManager which this source is compiled against.

@@ -136,7 +136,7 @@ is compiled against.


MM_MICRO_VERSION

-
#define MM_MICRO_VERSION (12)
+
#define MM_MICRO_VERSION (6)
 

Evaluates to the micro version number of ModemManager which this source compiled against.

diff --git a/docs/reference/api/html/ModemManager.devhelp2 b/docs/reference/api/html/ModemManager.devhelp2 index 44078c68..593c6bfe 100644 --- a/docs/reference/api/html/ModemManager.devhelp2 +++ b/docs/reference/api/html/ModemManager.devhelp2 @@ -1,5 +1,5 @@ - + @@ -91,6 +91,7 @@ + @@ -158,6 +159,8 @@ + + @@ -175,9 +178,12 @@ + + + @@ -289,6 +295,7 @@ + @@ -313,8 +320,10 @@ + + @@ -736,6 +745,7 @@ + diff --git a/docs/reference/api/html/api-index-1-12.html b/docs/reference/api/html/api-index-1-12.html index 62d778f5..51ec3fd2 100644 --- a/docs/reference/api/html/api-index-1-12.html +++ b/docs/reference/api/html/api-index-1-12.html @@ -7,6 +7,7 @@ + @@ -16,7 +17,7 @@ Home Prev - +Next

diff --git a/docs/reference/api/html/api-index-1-16.html b/docs/reference/api/html/api-index-1-16.html new file mode 100644 index 00000000..a713628c --- /dev/null +++ b/docs/reference/api/html/api-index-1-16.html @@ -0,0 +1,37 @@ + + + + +Index of new symbols in 1.16: ModemManager Reference Manual + + + + + + + + + + + + + + + +
+

+Index of new symbols in 1.16

+

I

+
+ID_MM_PORT_TYPE_MBIM, macro in Common udev tags +
+
+
+ID_MM_PORT_TYPE_QMI, macro in Common udev tags +
+
+
+ + + \ No newline at end of file diff --git a/docs/reference/api/html/api-index-full.html b/docs/reference/api/html/api-index-full.html index 9dd5c8a9..0755b937 100644 --- a/docs/reference/api/html/api-index-full.html +++ b/docs/reference/api/html/api-index-full.html @@ -127,10 +127,18 @@
+ID_MM_PORT_TYPE_MBIM, macro in Common udev tags +
+
+
ID_MM_PORT_TYPE_QCDM, macro in Common udev tags
+ID_MM_PORT_TYPE_QMI, macro in Common udev tags +
+
+
ID_MM_TTY_BAUDRATE, macro in Common udev tags
diff --git a/docs/reference/api/html/ch03s02.html b/docs/reference/api/html/ch03s02.html index 8c196070..f5a82ad0 100644 --- a/docs/reference/api/html/ch03s02.html +++ b/docs/reference/api/html/ch03s02.html @@ -43,7 +43,7 @@
  • MM_FILTER_RULE_EXPLICIT_BLACKLIST
  • MM_FILTER_RULE_VIRTUAL
  • MM_FILTER_RULE_NET
  • -
  • MM_FILTER_RULE_CDC_WDM
  • +
  • MM_FILTER_RULE_USBMISC
  • MM_FILTER_RULE_TTY
  • MM_FILTER_RULE_TTY_BLACKLIST
  • MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY
  • @@ -71,7 +71,7 @@
  • MM_FILTER_RULE_EXPLICIT_BLACKLIST
  • MM_FILTER_RULE_VIRTUAL
  • MM_FILTER_RULE_NET
  • -
  • MM_FILTER_RULE_CDC_WDM
  • +
  • MM_FILTER_RULE_USBMISC
  • MM_FILTER_RULE_TTY
  • MM_FILTER_RULE_TTY_PLATFORM_DRIVER
  • MM_FILTER_RULE_TTY_DRIVER
  • @@ -100,7 +100,7 @@
  • MM_FILTER_RULE_EXPLICIT_BLACKLIST
  • MM_FILTER_RULE_VIRTUAL
  • MM_FILTER_RULE_NET
  • -
  • MM_FILTER_RULE_CDC_WDM
  • +
  • MM_FILTER_RULE_USBMISC
  • MM_FILTER_RULE_TTY
  • MM_FILTER_RULE_TTY_BLACKLIST
  • MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY
  • @@ -133,7 +133,7 @@

     # MM_FILTER_RULE_NET=0 \
    -  MM_FILTER_RULE_CDC_WDM=0 \
    +  MM_FILTER_RULE_USBMISC=0 \
       /usr/sbin/ModemManager --filter-policy=DEFAULT

    @@ -144,7 +144,7 @@

     # MM_FILTER_RULE_NET=1 \
    -  MM_FILTER_RULE_CDC_WDM=1 \
    +  MM_FILTER_RULE_USBMISC=1 \
       /usr/sbin/ModemManager --filter-policy=WHITELIST-ONLY

    diff --git a/docs/reference/api/html/ch04s04.html b/docs/reference/api/html/ch04s04.html index 7bbca93e..204c5d4d 100644 --- a/docs/reference/api/html/ch04s04.html +++ b/docs/reference/api/html/ch04s04.html @@ -63,7 +63,7 @@ }; static const gchar *vendor_strings[] = { "vendor", NULL }; - return MM_PLUGIN ( + return MM_PLUGIN ( g_object_new (MM_TYPE_PLUGIN_IRIDIUM, MM_PLUGIN_NAME, "Example", @@ -119,7 +119,7 @@ static const gchar *vendor_strings[] = { "vendor", NULL }; static const mm_str_pair product_strings[] = { "another-vendor", "product xyz" }; - return MM_PLUGIN ( + return MM_PLUGIN ( g_object_new (MM_TYPE_PLUGIN_IRIDIUM, MM_PLUGIN_NAME, "Example", @@ -190,7 +190,7 @@ 42 43

    static gboolean
    -parse_custom_at (const gchar *response,
    +parse_custom_at (const gchar *response,
                      const GError *error,
                      GValue *result,
                      GError **result_error)
    @@ -217,7 +217,7 @@
         static const gchar *subsystems[] = { "tty", NULL };
         static const guint16 vendor_ids[] = { 0xabcd, 0 };
     
    -    return MM_PLUGIN (
    +    return MM_PLUGIN (
             g_object_new (MM_TYPE_PLUGIN_EXAMPLE,
                           MM_PLUGIN_NAME, "Example",
     
    diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html
    index 1ca7f7c0..cce50b32 100644
    --- a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html
    +++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html
    @@ -169,7 +169,7 @@ Ip4Config  readable   a{sv}
     

    If the bearer specifies configuration via PPP or DHCP, only the - "method" item will be present. + "method" item is guaranteed to be present.

    Additional items which are only applicable when using the MM_BEARER_IP_METHOD_STATIC diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html index 72db55e7..fbb4012d 100644 --- a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html +++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html @@ -47,6 +47,7 @@ Gsm readable a{sv} Umts readable a{sv} Lte readable a{sv} +Nr5g readable a{sv}

    @@ -307,6 +308,51 @@ Lte readable a{sv}

    +
    +
    +

    The "Nr5g" property

    +
    +Nr5g  readable   a{sv}
    +
    +

    Dictionary of available signal information for the 5G access + technology. +

    +

    This dictionary is composed of a string key, with an associated data + which contains type-specific information. +

    +

    +
    ++++ + + + + + + + + + + + + + + +

    "rsrq"

    + The 5G RSRQ (Reference Signal Received Quality), in dB, given as + a floating point value (signature "d"). +

    "rsrp"

    + The 5G (Reference Signal Received Power), in dBm, given as + a floating point value (signature "d"). +

    "snr"

    + The 5G S/R ratio, in dB, given as + a floating point value (signature "d"). +

    +

    +

    +
    @@ -380,6 +383,33 @@ SetCurrentBands (IN au bands);
    +

    The SetPrimarySimSlot() method

    +
    +SetPrimarySimSlot (IN  u sim_slot);
    +
    +

    Selects which SIM slot to be considered as primary, on devices that expose + multiple slots in the "SimSlots" property. +

    +

    When the switch happens the modem may require a full device reprobe, so the modem + object in DBus will get removed, and recreated once the selected SIM slot is in + use. +

    +

    There is no limitation on which SIM slot to select, so the user may also set as + primary a slot that doesn't currently have any valid SIM card inserted. +

    +
    ++++ + + + + +

    IN u sim_slot:

    SIM slot number to set as primary.

    +
    +
    +

    The Command() method

     Command (IN  s cmd,
    @@ -454,7 +484,56 @@ StateChanged (i old,
     
     Sim  readable   o
     
    -

    The path of the SIM object available in this device, if any. +

    The path of the primary active SIM object available in this device, + if any. +

    +

    This SIM object is the one used for network registration and data + connection setup. +

    +

    If multiple org.freedesktop.ModemManager1.Modem.SimSlots are + supported, the org.freedesktop.ModemManager1.Modem.PrimarySimSlot + index value specifies which is the slot number where this SIM card + is available. +

    +
    +
    +
    +

    The "SimSlots" property

    +
    +SimSlots  readable   ao
    +
    +

    The list of SIM slots available in the system, including the SIM object + paths if the cards are present. If a given SIM slot at a given index + doesn't have a SIM card available, an empty object path will be given. +

    +

    The length of this array of objects will be equal to the amount of + available SIM slots in the system, and the index in the array is the + slot index. +

    +

    This list includes the SIM object considered as primary active SIM slot + (org.freedesktop.ModemManager1.Modem.Sim) at index + org.freedesktop.ModemManager1.Modem.ActiveSimSlot. +

    +
    +
    +
    +

    The "PrimarySimSlot" property

    +
    +PrimarySimSlot  readable   u
    +
    +

    The index of the primary active SIM slot in the + org.freedesktop.ModemManager1.Modem.SimSlots array, given in the [1,N] + range. +

    +

    If multiple SIM slots aren't supported, this property will report + value 0. +

    +

    In a Multi SIM Single Standby setup, this index identifies the only SIM + that is currently active. All the remaining slots will be inactive. +

    +

    In a Multi SIM Multi Standby setup, this index identifies the active SIM + that is considered primary, i.e. the one that will be used when a data + connection is setup.


    diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html index f9a79765..6bc11427 100644 --- a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html +++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html @@ -47,8 +47,10 @@

    Properties

    +Active              readable   b
     SimIdentifier       readable   s
     Imsi                readable   s
    +Eid                 readable   s
     OperatorIdentifier  readable   s
     OperatorName        readable   s
     EmergencyNumbers    readable   as
    @@ -162,6 +164,21 @@ ChangePin (IN  s old_pin,
     

    Property Details

    +

    The "Active" property

    +
    +Active  readable   b
    +
    +

    Boolean indicating whether the SIM is currently active. +

    +

    On systems that support Multi SIM Single Standby, only one SIM may be + active at any given time, which will be the one considered primary. +

    +

    On systems that support Multi SIM Multi Standby, more than one SIM may + be active at any given time, but only one of them is considered primary. +

    +
    +
    +

    The "SimIdentifier" property

     SimIdentifier  readable   s
    @@ -183,6 +200,15 @@ Imsi  readable   s
     

    +

    The "Eid" property

    +
    +Eid  readable   s
    +
    +

    The EID of the SIM card, if any. +

    +
    +
    +

    The "OperatorIdentifier" property

     OperatorIdentifier  readable   s
    diff --git a/docs/reference/api/html/index.html b/docs/reference/api/html/index.html
    index a419d791..40573533 100644
    --- a/docs/reference/api/html/index.html
    +++ b/docs/reference/api/html/index.html
    @@ -36,10 +36,12 @@
     

    - For ModemManager version 1.14.12 + For ModemManager version 1.16.6 + The latest version of this documentation can be found on-line at + https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/.

    -
    +

    Permission is granted to copy, distribute and/or modify this @@ -203,6 +205,7 @@

    Index of new symbols in 1.8
    Index of new symbols in 1.10
    Index of new symbols in 1.12
    +
    Index of new symbols in 1.16
    diff --git a/docs/reference/libmm-glib/html/MMBearerIpConfig.html b/docs/reference/libmm-glib/html/MMBearerIpConfig.html index 61e56d0f..98da2fb6 100644 --- a/docs/reference/libmm-glib/html/MMBearerIpConfig.html +++ b/docs/reference/libmm-glib/html/MMBearerIpConfig.html @@ -42,7 +42,7 @@ -MMBearerIpMethod +MMBearerIpMethod mm_bearer_ip_config_get_method () @@ -119,7 +119,7 @@ the bearer to finish the connection.

    Functions

    mm_bearer_ip_config_get_method ()

    -
    MMBearerIpMethod
    +
    MMBearerIpMethod
     mm_bearer_ip_config_get_method (MMBearerIpConfig *self);

    Gets the IP method to be used with this bearer.

    @@ -139,7 +139,7 @@ mm_bearer_ip_config_get_method (

    Since: 1.0

    diff --git a/docs/reference/libmm-glib/html/MMBearerProperties.html b/docs/reference/libmm-glib/html/MMBearerProperties.html index dc5f9ef0..47a522ff 100644 --- a/docs/reference/libmm-glib/html/MMBearerProperties.html +++ b/docs/reference/libmm-glib/html/MMBearerProperties.html @@ -65,7 +65,7 @@ -MMBearerAllowedAuth +MMBearerAllowedAuth mm_bearer_properties_get_allowed_auth () @@ -111,7 +111,7 @@ -MMBearerIpFamily +MMBearerIpFamily mm_bearer_properties_get_ip_type () @@ -158,7 +158,7 @@ -MMModemCdmaRmProtocol +MMModemCdmaRmProtocol mm_bearer_properties_get_rm_protocol () @@ -279,7 +279,7 @@ mm_bearer_properties_set_apn (

    mm_bearer_properties_get_allowed_auth ()

    -
    MMBearerAllowedAuth
    +
    MMBearerAllowedAuth
     mm_bearer_properties_get_allowed_auth (MMBearerProperties *self);

    Gets the authentication methods allowed in the connection.

    @@ -299,8 +299,8 @@ mm_bearer_properties_get_allowed_auth (

    Returns

    -

    a bitmask of MMBearerAllowedAuth values, or -MM_BEARER_ALLOWED_AUTH_UNKNOWN to request the modem-default method.

    +

    a bitmask of MMBearerAllowedAuth values, or +MM_BEARER_ALLOWED_AUTH_UNKNOWN to request the modem-default method.

    Since: 1.0

    @@ -309,7 +309,7 @@ mm_bearer_properties_get_allowed_auth (

    mm_bearer_properties_set_allowed_auth ()

    void
     mm_bearer_properties_set_allowed_auth (MMBearerProperties *self,
    -                                       MMBearerAllowedAuth allowed_auth);
    + MMBearerAllowedAuth allowed_auth);

    Sets the authentication method to use.

    Parameters

    @@ -327,8 +327,8 @@ mm_bearer_properties_set_allowed_auth (

    allowed_auth

    -

    a bitmask of MMBearerAllowedAuth values. -MM_BEARER_ALLOWED_AUTH_UNKNOWN may be given to request the modem-default +

    a bitmask of MMBearerAllowedAuth values. +MM_BEARER_ALLOWED_AUTH_UNKNOWN may be given to request the modem-default method.

      @@ -462,7 +462,7 @@ mm_bearer_properties_set_password (

    mm_bearer_properties_get_ip_type ()

    -
    MMBearerIpFamily
    +
    MMBearerIpFamily
     mm_bearer_properties_get_ip_type (MMBearerProperties *self);

    Sets the IP type to use.

    @@ -482,7 +482,7 @@ mm_bearer_properties_get_ip_type (

    Since: 1.0

    @@ -491,7 +491,7 @@ mm_bearer_properties_get_ip_type (

    mm_bearer_properties_set_ip_type ()

    void
     mm_bearer_properties_set_ip_type (MMBearerProperties *self,
    -                                  MMBearerIpFamily ip_type);
    + MMBearerIpFamily ip_type);

    Sets the IP type to use.

    Parameters

    @@ -509,7 +509,7 @@ mm_bearer_properties_set_ip_type (

    ip_type

    -

    a MMBearerIpFamily.

    +

    a MMBearerIpFamily.

      @@ -652,7 +652,7 @@ it doesn't make sense to expose it in the ModemManager interface.


    mm_bearer_properties_get_rm_protocol ()

    -
    MMModemCdmaRmProtocol
    +
    MMModemCdmaRmProtocol
     mm_bearer_properties_get_rm_protocol (MMBearerProperties *self);

    Gets the RM protocol requested to use in the CDMA connection.

    @@ -672,7 +672,7 @@ mm_bearer_properties_get_rm_protocol (

    Returns

    -

    a MMModemCdmaRmProtocol.

    +

    a MMModemCdmaRmProtocol.

    Since: 1.0

    @@ -681,7 +681,7 @@ mm_bearer_properties_get_rm_protocol (

    mm_bearer_properties_set_rm_protocol ()

    void
     mm_bearer_properties_set_rm_protocol (MMBearerProperties *self,
    -                                      MMModemCdmaRmProtocol protocol);
    + MMModemCdmaRmProtocol protocol);

    Sets the RM protocol to use in the CDMA connection.

    Parameters

    @@ -699,7 +699,7 @@ mm_bearer_properties_set_rm_protocol (

    protocol

    -

    a MMModemCdmaRmProtocol.

    +

    a MMModemCdmaRmProtocol.

      diff --git a/docs/reference/libmm-glib/html/MMCall.html b/docs/reference/libmm-glib/html/MMCall.html index 3cb6835a..9b9fbef5 100644 --- a/docs/reference/libmm-glib/html/MMCall.html +++ b/docs/reference/libmm-glib/html/MMCall.html @@ -73,7 +73,7 @@ -MMCallDirection +MMCallDirection mm_call_get_direction () @@ -81,7 +81,7 @@ -MMCallState +MMCallState mm_call_get_state () @@ -89,7 +89,7 @@ -MMCallStateReason +MMCallStateReason mm_call_get_state_reason () @@ -463,7 +463,7 @@ The returned value should be freed with

    mm_call_get_direction ()

    -
    MMCallDirection
    +
    MMCallDirection
     mm_call_get_direction (MMCall *self);

    Gets the call direction.

    @@ -483,14 +483,14 @@ mm_call_get_direction (

    Returns

    -

    a MMCallDirection.

    +

    a MMCallDirection.

    Since: 1.6


    mm_call_get_state ()

    -
    MMCallState
    +
    MMCallState
     mm_call_get_state (MMCall *self);

    Gets the current state of call.

    @@ -510,14 +510,14 @@ mm_call_get_state (

    Returns

    -

    a MMCallState.

    +

    a MMCallState.

    Since: 1.6


    mm_call_get_state_reason ()

    -
    MMCallStateReason
    +
    MMCallStateReason
     mm_call_get_state_reason (MMCall *self);

    Gets the reason of why the call changes its state.

    @@ -537,7 +537,7 @@ mm_call_get_state_reason (

    Returns

    -

    a MMCallStateReason.

    +

    a MMCallStateReason.

    Since: 1.6

    diff --git a/docs/reference/libmm-glib/html/MMCallProperties.html b/docs/reference/libmm-glib/html/MMCallProperties.html index ae60b8af..313f10c3 100644 --- a/docs/reference/libmm-glib/html/MMCallProperties.html +++ b/docs/reference/libmm-glib/html/MMCallProperties.html @@ -65,7 +65,7 @@ -MMCallDirection +MMCallDirection mm_call_properties_get_direction () @@ -81,7 +81,7 @@ -MMCallState +MMCallState mm_call_properties_get_state () @@ -97,7 +97,7 @@ -MMCallStateReason +MMCallStateReason mm_call_properties_get_state_reason () @@ -218,7 +218,7 @@ mm_call_properties_set_number (

    mm_call_properties_get_direction ()

    -
    MMCallDirection
    +
    MMCallDirection
     mm_call_properties_get_direction (MMCallProperties *self);

    mm_call_properties_get_direction has been deprecated since version 1.12 and should not be used in newly-written code.

    @@ -253,7 +253,7 @@ during the new call creation processing.

    mm_call_properties_set_direction ()

    void
     mm_call_properties_set_direction (MMCallProperties *self,
    -                                  MMCallDirection direction);
    + MMCallDirection direction);

    mm_call_properties_set_direction has been deprecated since version 1.12 and should not be used in newly-written code.

    the user should not specify the direction of the call, as @@ -288,7 +288,7 @@ ignored during the new call creation processing.


    mm_call_properties_get_state ()

    -
    MMCallState
    +
    MMCallState
     mm_call_properties_get_state (MMCallProperties *self);

    mm_call_properties_get_state has been deprecated since version 1.12 and should not be used in newly-written code.

    @@ -323,7 +323,7 @@ call creation processing.

    mm_call_properties_set_state ()

    void
     mm_call_properties_set_state (MMCallProperties *self,
    -                              MMCallState state);
    + MMCallState state);

    mm_call_properties_set_state has been deprecated since version 1.12 and should not be used in newly-written code.

    the user should not specify the state of the call before @@ -358,7 +358,7 @@ call creation processing.


    mm_call_properties_get_state_reason ()

    -
    MMCallStateReason
    +
    MMCallStateReason
     mm_call_properties_get_state_reason (MMCallProperties *self);

    mm_call_properties_get_state_reason has been deprecated since version 1.12 and should not be used in newly-written code.

    @@ -393,7 +393,7 @@ new call creation processing.

    mm_call_properties_set_state_reason ()

    void
     mm_call_properties_set_state_reason (MMCallProperties *self,
    -                                     MMCallStateReason state_reason);
    + MMCallStateReason state_reason);

    mm_call_properties_set_state_reason has been deprecated since version 1.12 and should not be used in newly-written code.

    the user should not specify the state reason of the call diff --git a/docs/reference/libmm-glib/html/MMFirmwareProperties.html b/docs/reference/libmm-glib/html/MMFirmwareProperties.html index 0544cf8c..de0198f2 100644 --- a/docs/reference/libmm-glib/html/MMFirmwareProperties.html +++ b/docs/reference/libmm-glib/html/MMFirmwareProperties.html @@ -42,7 +42,7 @@ -MMFirmwareImageType +MMFirmwareImageType mm_firmware_properties_get_image_type () @@ -123,7 +123,7 @@ or

    Functions

    mm_firmware_properties_get_image_type ()

    -
    MMFirmwareImageType
    +
    MMFirmwareImageType
     mm_firmware_properties_get_image_type (MMFirmwareProperties *self);

    Gets the type of the firmare image.

    @@ -143,7 +143,7 @@ mm_firmware_properties_get_image_type (

    Returns

    -

    A MMFirmwareImageType specifying The type of the image.

    +

    A MMFirmwareImageType specifying The type of the image.

    Since: 1.0

    @@ -183,7 +183,7 @@ value, it is owned by self
    const gchar *
     mm_firmware_properties_get_gobi_pri_version
                                    (MMFirmwareProperties *self);
    -

    Gets the PRI version of a firmware image of type MM_FIRMWARE_IMAGE_TYPE_GOBI.

    +

    Gets the PRI version of a firmware image of type MM_FIRMWARE_IMAGE_TYPE_GOBI.

    Parameters

    @@ -213,7 +213,7 @@ it is owned by self
    const gchar *
     mm_firmware_properties_get_gobi_pri_info
                                    (MMFirmwareProperties *self);
    -

    Gets the PRI info of a firmware image of type MM_FIRMWARE_IMAGE_TYPE_GOBI.

    +

    Gets the PRI info of a firmware image of type MM_FIRMWARE_IMAGE_TYPE_GOBI.

    Parameters

    @@ -244,7 +244,7 @@ it is owned by self mm_firmware_properties_get_gobi_boot_version (MMFirmwareProperties *self);

    Gets the boot version of a firmware image of type -MM_FIRMWARE_IMAGE_TYPE_GOBI.

    +MM_FIRMWARE_IMAGE_TYPE_GOBI.

    Parameters

    @@ -275,7 +275,7 @@ value, it is owned by self mm_firmware_properties_get_gobi_pri_unique_id (MMFirmwareProperties *self);

    Gets the PRI unique ID of a firmware image of type -MM_FIRMWARE_IMAGE_TYPE_GOBI.

    +MM_FIRMWARE_IMAGE_TYPE_GOBI.

    Parameters

    @@ -306,7 +306,7 @@ value, it is owned by self mm_firmware_properties_get_gobi_modem_unique_id (MMFirmwareProperties *self);

    Gets the MODEM unique ID of a firmware image of type -MM_FIRMWARE_IMAGE_TYPE_GOBI.

    +MM_FIRMWARE_IMAGE_TYPE_GOBI.

    Parameters

    diff --git a/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html b/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html index 479a6ed2..602b50c4 100644 --- a/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html +++ b/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html @@ -49,7 +49,7 @@ - + @@ -3282,11 +3750,11 @@ set.

    mm_modem_set_power_state_sync ()

    gboolean
     mm_modem_set_power_state_sync (MMModem *self,
    -                               MMModemPowerState state,
    +                               MMModemPowerState state,
                                    GCancellable *cancellable,
                                    GError **error);

    Synchronously sets the power state of the device. This method can only be -used while the modem is in MM_MODEM_STATE_DISABLED state.

    +used while the modem is in MM_MODEM_STATE_DISABLED state.

    The calling thread is blocked until a reply is received. See mm_modem_set_power_state() for the asynchronous version of this method.

    @@ -3305,8 +3773,8 @@ used while the modem is in

    state

    -
    + @@ -3335,8 +3803,8 @@ set.

    mm_modem_set_current_modes ()

    void
     mm_modem_set_current_modes (MMModem *self,
    -                            MMModemMode modes,
    -                            MMModemMode preferred,
    +                            MMModemMode modes,
    +                            MMModemMode preferred,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);
    @@ -3364,14 +3832,14 @@ of this method.

    - + - +is the preferred one, or MM_MODEM_MODE_NONE if none.

    @@ -3444,8 +3912,8 @@ is set.

    mm_modem_set_current_modes_sync ()

    gboolean
     mm_modem_set_current_modes_sync (MMModem *self,
    -                                 MMModemMode modes,
    -                                 MMModemMode preferred,
    +                                 MMModemMode modes,
    +                                 MMModemMode preferred,
                                      GCancellable *cancellable,
                                      GError **error);

    Synchronously sets the access technologies (e.g. 2G/3G/4G preference) the @@ -3468,14 +3936,14 @@ device is currently allowed to use when connecting to a network.

    - + - +is the preferred one, or MM_MODEM_MODE_NONE if none.

    @@ -3503,7 +3971,7 @@ is set.

    mm_modem_set_current_bands ()

    void
     mm_modem_set_current_bands (MMModem *self,
    -                            const MMModemBand *bands,
    +                            const MMModemBand *bands,
                                 guint n_bands,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback callback,
    @@ -3532,7 +4000,7 @@ of this method.

    - + @@ -3611,7 +4079,7 @@ is set.

    mm_modem_set_current_bands_sync ()

    gboolean
     mm_modem_set_current_bands_sync (MMModem *self,
    -                                 const MMModemBand *bands,
    +                                 const MMModemBand *bands,
                                      guint n_bands,
                                      GCancellable *cancellable,
                                      GError **error);
    @@ -3635,7 +4103,7 @@ currently allowed to use when connecting to a network.

    - + @@ -3669,7 +4137,7 @@ is set.

    mm_modem_set_current_capabilities ()

    void
     mm_modem_set_current_capabilities (MMModem *self,
    -                                   MMModemCapability capabilities,
    +                                   MMModemCapability capabilities,
                                        GCancellable *cancellable,
                                        GAsyncReadyCallback callback,
                                        gpointer user_data);
    @@ -3698,7 +4166,7 @@ version of this method.

    - + @@ -3774,7 +4242,7 @@ set.

    gboolean
     mm_modem_set_current_capabilities_sync
                                    (MMModem *self,
    -                                MMModemCapability capabilities,
    +                                MMModemCapability capabilities,
                                     GCancellable *cancellable,
                                     GError **error);

    Synchronously sets the capabilities of the device. A restart of the modem may @@ -3798,7 +4266,7 @@ method.

    - + @@ -4269,7 +4737,7 @@ mm_modem_create_bearer (properties are invalid.

    -

    See CreateBearer +

    See CreateBearer to check which properties may be passed.

    When the operation is finished, callback will be invoked in the

    @@ -4375,7 +4843,7 @@ mm_modem_create_bearer_sync (properties are invalid.

    -

    See CreateBearer +

    See CreateBearer to check which properties may be passed.

    The calling thread is blocked until a reply is received. See mm_modem_create_bearer() for the asynchronous version of this method.

    @@ -4787,7 +5255,7 @@ using the provided API.

    MMModemMode preferred; }; -

    MMModemModeCombination is a simple struct holding a pair of MMModemMode +

    MMModemModeCombination is a simple struct holding a pair of MMModemMode values.

    Members

    @@ -4799,13 +5267,13 @@ values.

    - - + + - - + + @@ -4837,8 +5305,8 @@ values.

    - - + + diff --git a/docs/reference/libmm-glib/html/MMModem3gpp.html b/docs/reference/libmm-glib/html/MMModem3gpp.html index cbfda9fe..c7ce0922 100644 --- a/docs/reference/libmm-glib/html/MMModem3gpp.html +++ b/docs/reference/libmm-glib/html/MMModem3gpp.html @@ -64,7 +64,7 @@ - + @@ -1656,7 +1656,7 @@ is set.

    gboolean
     mm_modem_3gpp_set_eps_ue_mode_operation_sync
                                    (MMModem3gpp *self,
    -                                MMModem3gppEpsUeModeOperation mode,
    +                                MMModem3gppEpsUeModeOperation mode,
                                     GCancellable *cancellable,
                                     GError **error);

    Synchronously requests to update the EPS UE mode of operation.

    @@ -1679,7 +1679,7 @@ of this method.

    - + diff --git a/docs/reference/libmm-glib/html/MMModem3gppUssd.html b/docs/reference/libmm-glib/html/MMModem3gppUssd.html index b8262deb..bb514826 100644 --- a/docs/reference/libmm-glib/html/MMModem3gppUssd.html +++ b/docs/reference/libmm-glib/html/MMModem3gppUssd.html @@ -58,7 +58,7 @@ - @@ -829,7 +829,7 @@ is set.

    mm_modem_location_setup_sync ()

    gboolean
     mm_modem_location_setup_sync (MMModemLocation *self,
    -                              MMModemLocationSource sources,
    +                              MMModemLocationSource sources,
                                   gboolean signal_location,
                                   GCancellable *cancellable,
                                   GError **error);
    @@ -853,7 +853,7 @@ information. Also enable or disable location information gathering.

    - diff --git a/docs/reference/libmm-glib/html/MMModemMessaging.html b/docs/reference/libmm-glib/html/MMModemMessaging.html index f235aac2..2de79985 100644 --- a/docs/reference/libmm-glib/html/MMModemMessaging.html +++ b/docs/reference/libmm-glib/html/MMModemMessaging.html @@ -74,7 +74,7 @@ - @@ -300,7 +300,7 @@ are set, gboolean mm_modem_messaging_get_supported_storages (MMModemMessaging *self, - MMSmsStorage **storages, + MMSmsStorage **storages, guint *n_storages);

    Gets the list of SMS storages supported by the MMModem.

    @@ -320,7 +320,7 @@ mm_modem_messaging_get_supported_storages
    @@ -344,7 +344,7 @@ are set,

    mm_modem_messaging_get_default_storage ()

    -
    MMSmsStorage
    +
    MMSmsStorage
     mm_modem_messaging_get_default_storage
                                    (MMModemMessaging *self);

    Gets the default SMS storage used when storing or receiving SMS messages.

    @@ -365,7 +365,7 @@ mm_modem_messaging_get_default_storage

    Returns

    -

    the default MMSmsStorage.

    +

    the default MMSmsStorage.

    Since: 1.0

    diff --git a/docs/reference/libmm-glib/html/MMModemOma.html b/docs/reference/libmm-glib/html/MMModemOma.html index 2276ca1d..d8d55fda 100644 --- a/docs/reference/libmm-glib/html/MMModemOma.html +++ b/docs/reference/libmm-glib/html/MMModemOma.html @@ -154,7 +154,7 @@
    - + @@ -399,7 +399,7 @@ is set.

    mm_modem_oma_setup_sync ()

    gboolean
     mm_modem_oma_setup_sync (MMModemOma *self,
    -                         MMOmaFeature features,
    +                         MMOmaFeature features,
                              GCancellable *cancellable,
                              GError **error);

    Synchronously sets up the OMA device management service.

    @@ -421,7 +421,7 @@ mm_modem_oma_setup_sync (

    features

    -
    + @@ -450,7 +450,7 @@ is set.

    void
     mm_modem_oma_start_client_initiated_session
                                    (MMModemOma *self,
    -                                MMOmaSessionType session_type,
    +                                MMOmaSessionType session_type,
                                     GCancellable *cancellable,
                                     GAsyncReadyCallback callback,
                                     gpointer user_data);
    @@ -478,7 +478,7 @@ blocking version of this method.

    - + @@ -554,7 +554,7 @@ is set.

    gboolean
     mm_modem_oma_start_client_initiated_session_sync
                                    (MMModemOma *self,
    -                                MMOmaSessionType session_type,
    +                                MMOmaSessionType session_type,
                                     GCancellable *cancellable,
                                     GError **error);

    Synchronously starts a client-initiated OMA device management session.

    @@ -577,7 +577,7 @@ of this method.

    - + @@ -909,7 +909,7 @@ is set.


    mm_modem_oma_get_features ()

    -
    MMOmaFeature
    +
    MMOmaFeature
     mm_modem_oma_get_features (MMModemOma *self);

    Gets the currently enabled OMA features.

    @@ -929,14 +929,14 @@ mm_modem_oma_get_features (

    Returns

    -

    a bitmask of MMOmaFeature values.

    +

    a bitmask of MMOmaFeature values.

    Since: 1.2


    mm_modem_oma_get_session_type ()

    -
    MMOmaSessionType
    +
    MMOmaSessionType
     mm_modem_oma_get_session_type (MMModemOma *self);

    Gets the type of the current OMA device management session.

    @@ -956,14 +956,14 @@ mm_modem_oma_get_session_type (

    Since: 1.2


    mm_modem_oma_get_session_state ()

    -
    MMOmaSessionState
    +
    MMOmaSessionState
     mm_modem_oma_get_session_state (MMModemOma *self);

    Gets the state of the current OMA device management session.

    @@ -983,7 +983,7 @@ mm_modem_oma_get_session_state (

    Since: 1.2

    @@ -1111,8 +1111,8 @@ information available for a pending network-initiated OMA session.

    - - + + diff --git a/docs/reference/libmm-glib/html/MMModemSignal.html b/docs/reference/libmm-glib/html/MMModemSignal.html index ababc8cb..aee7088b 100644 --- a/docs/reference/libmm-glib/html/MMModemSignal.html +++ b/docs/reference/libmm-glib/html/MMModemSignal.html @@ -146,6 +146,22 @@ + + + + + + + + + + + + + + + + + + + + @@ -348,6 +371,33 @@ value should be freed with +

    mm_sim_get_active ()

    +
    gboolean
    +mm_sim_get_active (MMSim *self);
    +

    Checks whether the MMSim is currently active.

    +
    +

    Parameters

    +
    -MMModemFirmwareUpdateMethod +MMModemFirmwareUpdateMethod mm_firmware_update_settings_get_method () @@ -106,7 +106,7 @@ mm_firmware_update_settings_get_fastboot_at

    Gets the AT command that should be sent to the module to trigger a reset into fastboot mode.

    Only applicable if the update method includes -MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT.

    +MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT.

    Parameters

    @@ -133,7 +133,7 @@ value, it is owned by self

    mm_firmware_update_settings_get_method ()

    -
    MMModemFirmwareUpdateMethod
    +
    MMModemFirmwareUpdateMethod
     mm_firmware_update_settings_get_method
                                    (MMFirmwareUpdateSettings *self);

    Gets the methods to use during the firmware update operation.

    @@ -154,7 +154,7 @@ mm_firmware_update_settings_get_method

    Returns

    -

    a bitmask of MMModemFirmwareUpdateMethod values.

    +

    a bitmask of MMModemFirmwareUpdateMethod values.

    Since: 1.10

    diff --git a/docs/reference/libmm-glib/html/MMModem.html b/docs/reference/libmm-glib/html/MMModem.html index b3e4fef9..98304cce 100644 --- a/docs/reference/libmm-glib/html/MMModem.html +++ b/docs/reference/libmm-glib/html/MMModem.html @@ -58,7 +58,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -897,7 +968,7 @@ should be freed with

    mm_modem_get_state ()

    -
    MMModemState
    +
    MMModemState
     mm_modem_get_state (MMModem *self);

    Gets the overall state of the MMModem.

    @@ -917,16 +988,16 @@ mm_modem_get_state (

    Returns

    -

    A MMModemState value.

    +

    A MMModemState value.

    Since: 1.0


    mm_modem_get_state_failed_reason ()

    -
    MMModemStateFailedReason
    +
    MMModemStateFailedReason
     mm_modem_get_state_failed_reason (MMModem *self);
    -

    Gets the reason specifying why the modem is in MM_MODEM_STATE_FAILED state.

    +

    Gets the reason specifying why the modem is in MM_MODEM_STATE_FAILED state.

    Parameters

    -MMModemState +MMModemState mm_modem_get_state () @@ -66,7 +66,7 @@
    -MMModemStateFailedReason +MMModemStateFailedReason mm_modem_get_state_failed_reason () @@ -74,7 +74,7 @@
    -MMModemPowerState +MMModemPowerState mm_modem_get_power_state () @@ -98,7 +98,7 @@
    -MMModemCapability +MMModemCapability mm_modem_get_current_capabilities () @@ -302,7 +302,7 @@
    -MMModemLock +MMModemLock mm_modem_get_unlock_required () @@ -428,7 +428,7 @@
    -MMBearerIpFamily +MMBearerIpFamily mm_modem_get_supported_ip_families () @@ -444,7 +444,7 @@
    -MMModemAccessTechnology +MMModemAccessTechnology mm_modem_get_access_technologies () @@ -490,6 +490,77 @@
    const gchar * const * + +mm_modem_get_sim_slot_paths () +
    +gchar ** + +mm_modem_dup_sim_slot_paths () +
    +guint + +mm_modem_get_primary_sim_slot () +
    +void + +mm_modem_list_sim_slots () +
    +GPtrArray * + +mm_modem_list_sim_slots_finish () +
    +GPtrArray * + +mm_modem_list_sim_slots_sync () +
    +void + +mm_modem_set_primary_sim_slot () +
    +gboolean + +mm_modem_set_primary_sim_slot_finish () +
    +gboolean + +mm_modem_set_primary_sim_slot_sync () +
    void
    @@ -944,14 +1015,14 @@ mm_modem_get_state_failed_reason (

    Since: 1.0


    mm_modem_get_power_state ()

    -
    MMModemPowerState
    +
    MMModemPowerState
     mm_modem_get_power_state (MMModem *self);

    Gets the power state of the MMModem.

    @@ -971,7 +1042,7 @@ mm_modem_get_power_state (

    Returns

    -

    A MMModemPowerState value.

    +

    A MMModemPowerState value.

    Since: 1.0

    @@ -980,7 +1051,7 @@ mm_modem_get_power_state (

    mm_modem_peek_supported_capabilities ()

    gboolean
     mm_modem_peek_supported_capabilities (MMModem *self,
    -                                      const MMModemCapability **capabilities,
    +                                      const MMModemCapability **capabilities,
                                           guint *n_capabilities);

    Gets the list of combinations of generic families of access technologies supported by this MMModem.

    @@ -1001,7 +1072,7 @@ supported by this
    @@ -1030,7 +1101,7 @@ otherwise.

    mm_modem_get_supported_capabilities ()

    gboolean
     mm_modem_get_supported_capabilities (MMModem *self,
    -                                     MMModemCapability **capabilities,
    +                                     MMModemCapability **capabilities,
                                          guint *n_capabilities);

    Gets the list of combinations of generic families of access technologies supported by this MMModem.

    @@ -1051,7 +1122,7 @@ supported by this
    @@ -1077,7 +1148,7 @@ otherwise.


    mm_modem_get_current_capabilities ()

    -
    MMModemCapability
    +
    MMModemCapability
     mm_modem_get_current_capabilities (MMModem *self);

    Gets the list of generic families of access technologies supported by this MMModem without a firmware reload or reinitialization.

    @@ -1098,7 +1169,7 @@ mm_modem_get_current_capabilities (

    Returns

    -

    A bitmask of MMModemCapability flags.

    +

    A bitmask of MMModemCapability flags.

    Since: 1.0

    @@ -1971,7 +2042,7 @@ The returned value should be freed with

    mm_modem_get_unlock_required ()

    -
    MMModemLock
    +
    MMModemLock
     mm_modem_get_unlock_required (MMModem *self);

    Gets current lock state of the MMModem.

    @@ -1991,7 +2062,7 @@ mm_modem_get_unlock_required (

    Returns

    -

    A MMModemLock value, specifying the current lock state.

    +

    A MMModemLock value, specifying the current lock state.

    Since: 1.0

    @@ -2001,7 +2072,7 @@ mm_modem_get_unlock_required (MMUnlockRetries * mm_modem_peek_unlock_retries (MMModem *self);

    Gets a MMUnlockRetries object, which provides, for each

    -MMModemLock handled by the modem, the +MMModemLock handled by the modem, the

    number of PIN tries remaining before the code becomes blocked (requiring a PUK) or permanently blocked.

    The returned value is only valid until the property changes so it is @@ -2037,7 +2108,7 @@ it belongs to self
    MMUnlockRetries *
     mm_modem_get_unlock_retries (MMModem *self);

    Gets a MMUnlockRetries object, which provides, for each

    -MMModemLock handled by the modem, the +MMModemLock handled by the modem, the

    number of PIN tries remaining before the code becomes blocked (requiring a PUK) or permanently blocked.

    The values reported by self are not updated when the values in the @@ -2358,8 +2429,8 @@ are set,

    mm_modem_get_current_modes ()

    gboolean
     mm_modem_get_current_modes (MMModem *self,
    -                            MMModemMode *allowed,
    -                            MMModemMode *preferred);
    + MMModemMode *allowed, + MMModemMode *preferred);

    Gets the list of modes specifying the access technologies (eg 2G/3G/4G) the MMModem is currently allowed to use when connecting to a network, as well as the preferred one, if any.

    @@ -2379,12 +2450,12 @@ well as the preferred one, if any.

    - + - + @@ -2403,11 +2474,11 @@ are set,

    mm_modem_peek_supported_bands ()

    gboolean
     mm_modem_peek_supported_bands (MMModem *self,
    -                               const MMModemBand **bands,
    +                               const MMModemBand **bands,
                                    guint *n_bands);

    Gets the list of radio frequency and technology bands supported by the MMModem.

    -

    For POTS devices, only MM_MODEM_BAND_ANY will be returned in bands +

    For POTS devices, only MM_MODEM_BAND_ANY will be returned in bands .

    Parameters

    @@ -2426,7 +2497,7 @@ mm_modem_peek_supported_bands (
    @@ -2452,11 +2523,11 @@ are set,

    mm_modem_get_supported_bands ()

    gboolean
     mm_modem_get_supported_bands (MMModem *self,
    -                              MMModemBand **bands,
    +                              MMModemBand **bands,
                                   guint *n_bands);

    Gets the list of radio frequency and technology bands supported by the MMModem.

    -

    For POTS devices, only MM_MODEM_BAND_ANY will be returned in bands +

    For POTS devices, only MM_MODEM_BAND_ANY will be returned in bands .

    Parameters

    @@ -2475,7 +2546,7 @@ mm_modem_get_supported_bands (

    bands

    @@ -2501,11 +2572,11 @@ are set,

    mm_modem_peek_current_bands ()

    gboolean
     mm_modem_peek_current_bands (MMModem *self,
    -                             const MMModemBand **bands,
    +                             const MMModemBand **bands,
                                  guint *n_bands);

    Gets the list of radio frequency and technology bands the MMModem is currently using when connecting to a network.

    -

    For POTS devices, only the MM_MODEM_BAND_ANY band is supported.

    +

    For POTS devices, only the MM_MODEM_BAND_ANY band is supported.

    Parameters

    capabilities

    Return location for the -array of MMModemCapability values. Do not free the returned array, it is +array of MMModemCapability values. Do not free the returned array, it is owned by self .

    [out][array length=n_capabilities]

    capabilities

    Return location for the -array of MMModemCapability values. The returned array should be freed with +array of MMModemCapability values. The returned array should be freed with g_free() when no longer needed.

    [out][array length=n_capabilities]

    allowed

    Return location for a bitmask of MMModemMode values.

    Return location for a bitmask of MMModemMode values.

    [out]

    preferred

    Return location for a MMModemMode value.

    Return location for a MMModemMode value.

    [out]

    bands

    Return location for the array of -MMModemBand values. Do not free the returned array, it is owned by self +MMModemBand values. Do not free the returned array, it is owned by self .

    [out][array length=n_bands]

    Return location for the array of -MMModemBand values. The returned array should be freed with g_free() when +MMModemBand values. The returned array should be freed with g_free() when no longer needed.

    [out][array length=n_bands]
    @@ -2523,7 +2594,7 @@ currently using when connecting to a network.

    @@ -2549,11 +2620,11 @@ are set,

    mm_modem_get_current_bands ()

    gboolean
     mm_modem_get_current_bands (MMModem *self,
    -                            MMModemBand **bands,
    +                            MMModemBand **bands,
                                 guint *n_bands);

    Gets the list of radio frequency and technology bands the MMModem is currently using when connecting to a network.

    -

    For POTS devices, only the MM_MODEM_BAND_ANY band is supported.

    +

    For POTS devices, only the MM_MODEM_BAND_ANY band is supported.

    Parameters

    bands

    Return location for the array of -MMModemBand values. Do not free the returned value, it is owned by self +MMModemBand values. Do not free the returned value, it is owned by self .

    [out][array length=n_bands]
    @@ -2571,7 +2642,7 @@ currently using when connecting to a network.

    @@ -2595,7 +2666,7 @@ are set,

    mm_modem_get_supported_ip_families ()

    -
    MMBearerIpFamily
    +
    MMBearerIpFamily
     mm_modem_get_supported_ip_families (MMModem *self);

    Gets the list of supported IP families.

    @@ -2615,7 +2686,7 @@ mm_modem_get_supported_ip_families (

    Returns

    -

    A bitmask of MMBearerIpFamily values.

    +

    A bitmask of MMBearerIpFamily values.

    Since: 1.0

    @@ -2660,7 +2731,7 @@ value was recent or not.


    mm_modem_get_access_technologies ()

    -
    MMModemAccessTechnology
    +
    MMModemAccessTechnology
     mm_modem_get_access_technologies (MMModem *self);

    Gets the current network access technology used by the MMModem to communicate with the network.

    @@ -2681,7 +2752,7 @@ communicate with the network.

    Returns

    -

    A #MMModemAccessTechnology value.

    +

    A #MMModemAccessTechnology value.

    Since: 1.0

    @@ -2894,6 +2965,403 @@ value should be freed with +

    mm_modem_get_sim_slot_paths ()

    +
    const gchar * const *
    +mm_modem_get_sim_slot_paths (MMModem *self);
    +

    Gets the DBus paths of the MMSim objects available in the different SIM +slots handled in this MMModem. If a given SIM slot at a given index doesn't +have a SIM card available, an empty object path will be given. This list +includes the currently active SIM object path.

    +
    The returned value is only valid until the property changes so it is +only safe to use this function on the thread where self was constructed. Use +mm_modem_dup_sim_slot_paths() if on another thread.
    +
    +

    Parameters

    +

    bands

    Return location for the array of -MMModemBand values. The returned array should be freed with g_free() when +MMModemBand values. The returned array should be freed with g_free() when no longer needed.

    [out][array length=n_bands]
    +++++ + + + + + +

    self

    A MMModem.

     
    +
    +
    +

    Returns

    +

    The DBus paths of the MMSim objects handled in +this MMModem, or NULL if none available. Do not free the returned value, it +belongs to self +.

    +

    [transfer none]

    +
    +

    Since: 1.16

    + +
    +
    +

    mm_modem_dup_sim_slot_paths ()

    +
    gchar **
    +mm_modem_dup_sim_slot_paths (MMModem *self);
    +

    Gets a copy of the DBus paths of the MMSim objects available in the +different SIM slots handled in this MMModem. If a given SIM slot at a given +index doesn't have a SIM card available, an empty object path will be given. +This list includes the currently active SIM object path.

    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMModem.

     
    +
    +
    +

    Returns

    +

    The DBus paths of the MMSim objects handled in +this MMModem, or NULL if none available. The returned value should be +freed with g_strfreev().

    +

    [transfer full]

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_get_primary_sim_slot ()

    +
    guint
    +mm_modem_get_primary_sim_slot (MMModem *self);
    +

    Gets the SIM slot number of the primary active SIM.

    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMModem.

     
    +
    +
    +

    Returns

    +

    slot number, in the [1,N] range.

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_list_sim_slots ()

    +
    void
    +mm_modem_list_sim_slots (MMModem *self,
    +                         GCancellable *cancellable,
    +                         GAsyncReadyCallback callback,
    +                         gpointer user_data);
    +

    Asynchronously lists the SIM slots available in the MMModem.

    +

    The returned array contains one element per slot available in the system; +a MMSim in each of the slots that contains a valid SIM card or NULL if +no SIM card is found.

    +

    When the operation is finished, callback + will be invoked in the

    +thread-default main loop

    of the thread you are calling this method from. You can then call +mm_modem_list_sim_slots_finish() to get the result of the operation.

    +

    See mm_modem_list_sim_slots_sync() for the synchronous, blocking version of +this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    cancellable

    A GCancellable or NULL.

    [allow-none]

    callback

    A GAsyncReadyCallback to call when the request is satisfied or +NULL.

     

    user_data

    User data to pass to callback +.

     
    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_list_sim_slots_finish ()

    +
    GPtrArray *
    +mm_modem_list_sim_slots_finish (MMModem *self,
    +                                GAsyncResult *res,
    +                                GError **error);
    +

    Finishes an operation started with mm_modem_list_sim_slots().

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    res

    The GAsyncResult obtained from the GAsyncReadyCallback passed to +mm_modem_list_sim_slots().

     

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    The array of +MMSim objects, or NULL if error +is set.

    +

    [transfer full][element-type ModemManager.Sim]

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_list_sim_slots_sync ()

    +
    GPtrArray *
    +mm_modem_list_sim_slots_sync (MMModem *self,
    +                              GCancellable *cancellable,
    +                              GError **error);
    +

    Synchronously lists the SIM slots available in the MMModem.

    +

    The returned array contains one element per slot available in the system; +a MMSim in each of the slots that contains a valid SIM card or NULL if +no SIM card is found.

    +

    The calling thread is blocked until a reply is received. See +mm_modem_list_sim_slots() for the asynchronous version of this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    cancellable

    A GCancellable or NULL.

    [allow-none]

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    The array of +MMSim objects, or NULL if error +is set.

    +

    [transfer full][element-type ModemManager.Sim]

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_set_primary_sim_slot ()

    +
    void
    +mm_modem_set_primary_sim_slot (MMModem *self,
    +                               guint sim_slot,
    +                               GCancellable *cancellable,
    +                               GAsyncReadyCallback callback,
    +                               gpointer user_data);
    +

    Asynchronously requests to select which SIM slot to be considered as primary.

    +

    When the operation is finished, callback + will be invoked in the

    +thread-default main loop

    of the thread you are calling this method from. You can then call +mm_modem_set_primary_sim_slot_finish() to get the result of the operation.

    +

    See mm_modem_set_primary_sim_slot_sync() for the synchronous, blocking version of +this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    sim_slot

    SIM slot number.

     

    cancellable

    A GCancellable or NULL.

    [allow-none]

    callback

    A GAsyncReadyCallback to call when the request is satisfied or +NULL.

     

    user_data

    User data to pass to callback +.

     
    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_set_primary_sim_slot_finish ()

    +
    gboolean
    +mm_modem_set_primary_sim_slot_finish (MMModem *self,
    +                                      GAsyncResult *res,
    +                                      GError **error);
    +

    Finishes an operation started with mm_modem_set_primary_sim_slot().

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    res

    The GAsyncResult obtained from the GAsyncReadyCallback passed to +mm_modem_set_primary_sim_slot().

     

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    TRUE if the SIM slot switch has been successfully requested, FALSE if +error +is set.

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_set_primary_sim_slot_sync ()

    +
    gboolean
    +mm_modem_set_primary_sim_slot_sync (MMModem *self,
    +                                    guint sim_slot,
    +                                    GCancellable *cancellable,
    +                                    GError **error);
    +

    Synchronously requests to select which SIM slot to be considered as primary.

    +

    The calling thread is blocked until a reply is received. See +mm_modem_set_primary_sim_slot() for the asynchronous version of this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + +

    self

    A MMModem.

     

    sim_slot

    SIM slot number.

     

    cancellable

    A GCancellable or NULL.

    [allow-none]

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    TRUE if the SIM slot switch has been successfully requested, FALSE if +error +is set.

    +
    +

    Since: 1.16

    +
    +
    +

    mm_modem_enable ()

    void
     mm_modem_enable (MMModem *self,
    @@ -3179,12 +3647,12 @@ is set.

    mm_modem_set_power_state ()

    void
     mm_modem_set_power_state (MMModem *self,
    -                          MMModemPowerState state,
    +                          MMModemPowerState state,
                               GCancellable *cancellable,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

    Asynchronously sets the power state of the device. This method can only be -used while the modem is in MM_MODEM_STATE_DISABLED state.

    +used while the modem is in MM_MODEM_STATE_DISABLED state.

    When the operation is finished, callback will be invoked in the

    thread-default main loop

    of the thread you are calling this method from. You can then call @@ -3207,8 +3675,8 @@ this method.

    state

    Either MM_MODEM_POWER_STATE_LOW or MM_MODEM_POWER_STATE_ON. Every -other MMModemPowerState value is not allowed.

    Either MM_MODEM_POWER_STATE_LOW or MM_MODEM_POWER_STATE_ON. Every +other MMModemPowerState value is not allowed.

     

    Either MM_MODEM_POWER_STATE_LOW or MM_MODEM_POWER_STATE_ON. Every -other MMModemPowerState value is not allowed.

    Either MM_MODEM_POWER_STATE_LOW or MM_MODEM_POWER_STATE_ON. Every +other MMModemPowerState value is not allowed.

     

    modes

    Mask of MMModemMode values specifying which modes are allowed.

    Mask of MMModemMode values specifying which modes are allowed.

     

    preferred

    A MMModemMode value specifying which of the modes given in +

    A MMModemMode value specifying which of the modes given in modes -is the preferred one, or MM_MODEM_MODE_NONE if none.

     

    modes

    Mask of MMModemMode values specifying which modes are allowed.

    Mask of MMModemMode values specifying which modes are allowed.

     

    preferred

    A MMModemMode value specifying which of the modes given in +

    A MMModemMode value specifying which of the modes given in modes -is the preferred one, or MM_MODEM_MODE_NONE if none.

     

    bands

    An array of MMModemBand values specifying which bands are allowed.

    An array of MMModemBand values specifying which bands are allowed.

     

    bands

    An array of MMModemBand values specifying which bands are allowed.

    An array of MMModemBand values specifying which bands are allowed.

     

    capabilities

    A MMModemCapability mask.

    A MMModemCapability mask.

     

    capabilities

    A MMModemCapability mask.

    A MMModemCapability mask.

     

    MMModemMode allowed;

    Mask of MMModemMode values specifying allowed modes.

    MMModemMode allowed;

    Mask of MMModemMode values specifying allowed modes.

     

    MMModemMode preferred;

    A single MMModemMode value specifying the preferred mode.

    MMModemMode preferred;

    A single MMModemMode value specifying the preferred mode.

     
     

    MMModemPortType type;

    A MMModemPortType value.

    MMModemPortType type;

    A MMModemPortType value.

     
    -MMModemAccessTechnology +MMModemAccessTechnology mm_modem_3gpp_network_get_access_technology () @@ -72,7 +72,7 @@
    -MMModem3gppNetworkAvailability +MMModem3gppNetworkAvailability mm_modem_3gpp_network_get_availability () @@ -148,7 +148,7 @@
    -MMModem3gppFacility +MMModem3gppFacility mm_modem_3gpp_get_enabled_facility_locks () @@ -156,7 +156,7 @@
    -MMModem3gppRegistrationState +MMModem3gppRegistrationState mm_modem_3gpp_get_registration_state () @@ -164,7 +164,7 @@
    -MMModem3gppSubscriptionState +MMModem3gppSubscriptionState mm_modem_3gpp_get_subscription_state () @@ -180,7 +180,7 @@
    -MMModem3gppEpsUeModeOperation +MMModem3gppEpsUeModeOperation mm_modem_3gpp_get_eps_ue_mode_operation () @@ -380,8 +380,8 @@ MMModem3gpp implements

    The MMModem3gpp is an object providing access to the methods, signals and properties of the 3GPP interface.

    The 3GPP interface is exposed whenever a modem has any of the 3GPP -capabilities (MM_MODEM_CAPABILITY_GSM_UMTS, MM_MODEM_CAPABILITY_LTE -or MM_MODEM_CAPABILITY_5GNR).

    +capabilities (MM_MODEM_CAPABILITY_GSM_UMTS, MM_MODEM_CAPABILITY_LTE +or MM_MODEM_CAPABILITY_5GNR).

    Functions

    @@ -474,7 +474,7 @@ mm_modem_3gpp_network_get_operator_long

    mm_modem_3gpp_network_get_access_technology ()

    -
    MMModemAccessTechnology
    +
    MMModemAccessTechnology
     mm_modem_3gpp_network_get_access_technology
                                    (const MMModem3gppNetwork *network);

    Get the technology used to access the 3GPP network.

    @@ -495,14 +495,14 @@ mm_modem_3gpp_network_get_access_technology

    Since: 1.0


    mm_modem_3gpp_network_get_availability ()

    -
    MMModem3gppNetworkAvailability
    +
    MMModem3gppNetworkAvailability
     mm_modem_3gpp_network_get_availability
                                    (const MMModem3gppNetwork *network);

    Get availability of the 3GPP network.

    @@ -523,7 +523,7 @@ mm_modem_3gpp_network_get_availability

    Since: 1.0

    @@ -810,7 +810,7 @@ The returned value should be freed with

    mm_modem_3gpp_get_enabled_facility_locks ()

    -
    MMModem3gppFacility
    +
    MMModem3gppFacility
     mm_modem_3gpp_get_enabled_facility_locks
                                    (MMModem3gpp *self);

    Get the list of facilities for which PIN locking is enabled.

    @@ -831,7 +831,7 @@ mm_modem_3gpp_get_enabled_facility_locks

    Returns

    -

    A bitmask of MMModem3gppFacility flags, specifying which facilities +

    A bitmask of MMModem3gppFacility flags, specifying which facilities have locks enabled.

    Since: 1.0

    @@ -839,7 +839,7 @@ have locks enabled.


    mm_modem_3gpp_get_registration_state ()

    -
    MMModem3gppRegistrationState
    +
    MMModem3gppRegistrationState
     mm_modem_3gpp_get_registration_state (MMModem3gpp *self);

    Get the the mobile registration status as defined in 3GPP TS 27.007 section 10.1.19.

    @@ -860,7 +860,7 @@ section 10.1.19.

    Returns

    -

    A MMModem3gppRegistrationState value, specifying the current +

    A MMModem3gppRegistrationState value, specifying the current registration state.

    Since: 1.0

    @@ -868,7 +868,7 @@ registration state.


    mm_modem_3gpp_get_subscription_state ()

    -
    MMModem3gppSubscriptionState
    +
    MMModem3gppSubscriptionState
     mm_modem_3gpp_get_subscription_state (MMModem3gpp *self);

    mm_modem_3gpp_get_subscription_state has been deprecated since version 1.10.0. and should not be used in newly-written code.

    @@ -898,7 +898,7 @@ expose it in the ModemManager interface.

    Returns

    -

    A MMModem3gppSubscriptionState value, specifying the current +

    A MMModem3gppSubscriptionState value, specifying the current subscription state.

    Since: 1.0

    @@ -937,7 +937,7 @@ is set. The returned value should be freed with

    mm_modem_3gpp_get_eps_ue_mode_operation ()

    -
    MMModem3gppEpsUeModeOperation
    +
    MMModem3gppEpsUeModeOperation
     mm_modem_3gpp_get_eps_ue_mode_operation
                                    (MMModem3gpp *self);

    Get the UE mode of operation for EPS.

    @@ -958,7 +958,7 @@ mm_modem_3gpp_get_eps_ue_mode_operation

    Since: 1.8

    @@ -1552,7 +1552,7 @@ should be freed with void mm_modem_3gpp_set_eps_ue_mode_operation (MMModem3gpp *self, - MMModem3gppEpsUeModeOperation mode, + MMModem3gppEpsUeModeOperation mode, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
    @@ -1581,7 +1581,7 @@ is received.

    mode

    A MMModem3gppEpsUeModeOperation.

    A MMModem3gppEpsUeModeOperation.

     

    mode

    A MMModem3gppEpsUeModeOperation.

    A MMModem3gppEpsUeModeOperation.

     
    -MMModem3gppUssdSessionState +MMModem3gppUssdSessionState mm_modem_3gpp_ussd_get_state () @@ -264,7 +264,7 @@ should be freed with

    mm_modem_3gpp_ussd_get_state ()

    -
    MMModem3gppUssdSessionState
    +
    MMModem3gppUssdSessionState
     mm_modem_3gpp_ussd_get_state (MMModem3gppUssd *self);

    Get the state of the ongoing USSD session, if any.

    @@ -284,7 +284,7 @@ mm_modem_3gpp_ussd_get_state (

    Returns

    -

    A MMModem3gppUssdSessionState value, specifying the current state.

    +

    A MMModem3gppUssdSessionState value, specifying the current state.

    Since: 1.0

    diff --git a/docs/reference/libmm-glib/html/MMModemCdma.html b/docs/reference/libmm-glib/html/MMModemCdma.html index b8f30825..5160729b 100644 --- a/docs/reference/libmm-glib/html/MMModemCdma.html +++ b/docs/reference/libmm-glib/html/MMModemCdma.html @@ -104,7 +104,7 @@
    -MMModemCdmaRegistrationState +MMModemCdmaRegistrationState mm_modem_cdma_get_cdma1x_registration_state () @@ -112,7 +112,7 @@
    -MMModemCdmaRegistrationState +MMModemCdmaRegistrationState mm_modem_cdma_get_evdo_registration_state () @@ -120,7 +120,7 @@
    -MMModemCdmaActivationState +MMModemCdmaActivationState mm_modem_cdma_get_activation_state () @@ -219,7 +219,7 @@ MMModemCdma implements

    The MMModemCdma is an object providing access to the methods, signals and properties of the CDMA interface.

    The CDMA interface is exposed whenever a modem has CDMA capabilities -(MM_MODEM_CAPABILITY_CDMA_EVDO).

    +(MM_MODEM_CAPABILITY_CDMA_EVDO).

    Functions

    @@ -471,7 +471,7 @@ a CDMA 1x network.


    mm_modem_cdma_get_cdma1x_registration_state ()

    -
    MMModemCdmaRegistrationState
    +
    MMModemCdmaRegistrationState
     mm_modem_cdma_get_cdma1x_registration_state
                                    (MMModemCdma *self);

    Gets the state of the registration in the CDMA 1x network.

    @@ -492,14 +492,14 @@ mm_modem_cdma_get_cdma1x_registration_state

    Since: 1.0


    mm_modem_cdma_get_evdo_registration_state ()

    -
    MMModemCdmaRegistrationState
    +
    MMModemCdmaRegistrationState
     mm_modem_cdma_get_evdo_registration_state
                                    (MMModemCdma *self);

    Gets the state of the registration in the EV-DO network.

    @@ -520,14 +520,14 @@ mm_modem_cdma_get_evdo_registration_state

    Since: 1.0


    mm_modem_cdma_get_activation_state ()

    -
    MMModemCdmaActivationState
    +
    MMModemCdmaActivationState
     mm_modem_cdma_get_activation_state (MMModemCdma *self);

    Gets the state of the activation in the 3GPP2 network.

    @@ -547,7 +547,7 @@ mm_modem_cdma_get_activation_state (

    Since: 1.0

    diff --git a/docs/reference/libmm-glib/html/MMModemLocation.html b/docs/reference/libmm-glib/html/MMModemLocation.html index 3b0f4cee..041e0fa9 100644 --- a/docs/reference/libmm-glib/html/MMModemLocation.html +++ b/docs/reference/libmm-glib/html/MMModemLocation.html @@ -58,7 +58,7 @@
    -MMModemLocationSource +MMModemLocationSource mm_modem_location_get_capabilities () @@ -66,7 +66,7 @@
    -MMModemLocationSource +MMModemLocationSource mm_modem_location_get_enabled () @@ -105,7 +105,7 @@
    -MMModemLocationAssistanceDataType +MMModemLocationAssistanceDataType mm_modem_location_get_supported_assistance_data () @@ -454,7 +454,7 @@ should be freed with

    mm_modem_location_get_capabilities ()

    -
    MMModemLocationSource
    +
    MMModemLocationSource
     mm_modem_location_get_capabilities (MMModemLocation *self);

    Gets a bitmask of the location capabilities supported by this MMModemLocation.

    @@ -475,14 +475,14 @@ mm_modem_location_get_capabilities (

    Since: 1.0


    mm_modem_location_get_enabled ()

    -
    MMModemLocationSource
    +
    MMModemLocationSource
     mm_modem_location_get_enabled (MMModemLocation *self);

    Gets a bitmask of the location capabilities which are enabled in this MMModemLocation.

    @@ -502,7 +502,7 @@ mm_modem_location_get_enabled (

    Since: 1.0

    @@ -626,7 +626,7 @@ available. Do not free the returned value, it belongs to <

    mm_modem_location_get_supported_assistance_data ()

    -
    MMModemLocationAssistanceDataType
    +
    MMModemLocationAssistanceDataType
     mm_modem_location_get_supported_assistance_data
                                    (MMModemLocation *self);

    Gets a bitmask of the supported assistance data types.

    @@ -647,7 +647,7 @@ mm_modem_location_get_supported_assistance_data

    Since: 1.10

    @@ -722,7 +722,7 @@ only safe to use this function on the thread where s

    mm_modem_location_setup ()

    void
     mm_modem_location_setup (MMModemLocation *self,
    -                         MMModemLocationSource sources,
    +                         MMModemLocationSource sources,
                              gboolean signal_location,
                              GCancellable *cancellable,
                              GAsyncReadyCallback callback,
    @@ -751,7 +751,7 @@ this method.

    sources

    Bitmask of MMModemLocationSource values specifying which locations +

    Bitmask of MMModemLocationSource values specifying which locations should get enabled.

     

    sources

    Bitmask of MMModemLocationSource values specifying which locations +

    Bitmask of MMModemLocationSource values specifying which locations should get enabled.

     
    -MMSmsStorage +MMSmsStorage mm_modem_messaging_get_default_storage () @@ -253,7 +253,7 @@ should be freed with gboolean mm_modem_messaging_peek_supported_storages (MMModemMessaging *self, - const MMSmsStorage **storages, + const MMSmsStorage **storages, guint *n_storages);

    Gets the list of SMS storages supported by the MMModem.

    @@ -272,7 +272,7 @@ mm_modem_messaging_peek_supported_storages

    storages

    Return location for the array of MMSmsStorage values. Do +

    Return location for the array of MMSmsStorage values. Do not free the returned array, it is owned by self .

    [out]

    storages

    Return location for the array of -MMSmsStorage values. The returned array should be freed with g_free() when +MMSmsStorage values. The returned array should be freed with g_free() when no longer needed.

    [out][array length=n_storages]
    -MMOmaFeature +MMOmaFeature mm_modem_oma_get_features () @@ -162,7 +162,7 @@
    -MMOmaSessionType +MMOmaSessionType mm_modem_oma_get_session_type () @@ -170,7 +170,7 @@
    -MMOmaSessionState +MMOmaSessionState mm_modem_oma_get_session_state () @@ -299,7 +299,7 @@ should be freed with

    mm_modem_oma_setup ()

    void
     mm_modem_oma_setup (MMModemOma *self,
    -                    MMOmaFeature features,
    +                    MMOmaFeature features,
                         GCancellable *cancellable,
                         GAsyncReadyCallback callback,
                         gpointer user_data);
    @@ -326,7 +326,7 @@ method.

    features

    Mask of MMOmaFeature values to enable.

    Mask of MMOmaFeature values to enable.

     

    Mask of MMOmaFeature values to enable.

    Mask of MMOmaFeature values to enable.

     

    session_type

    A MMOmaSessionType.

    A MMOmaSessionType.

     

    session_type

    A MMOmaSessionType.

    A MMOmaSessionType.

     

    MMOmaSessionType session_type;

    A MMOmaSessionType.

    MMOmaSessionType session_type;

    A MMOmaSessionType.

     
    +MMSignal * + +mm_modem_signal_peek_nr5g () +
    +MMSignal * + +mm_modem_signal_get_nr5g () +
    void @@ -623,6 +639,72 @@ interface change. Instead, the client is expected to call
    +

    mm_modem_signal_peek_nr5g ()

    +
    MMSignal *
    +mm_modem_signal_peek_nr5g (MMModemSignal *self);
    +

    Gets a MMSignal object specifying the 5G signal information.

    +
    The returned value is only valid until the property changes so it is +only safe to use this function on the thread where self was constructed. Use +mm_modem_signal_get_nr5g() if on another thread.
    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMModem.

     
    +
    +
    +

    Returns

    +

    A MMSignal. Do not free the returned value, it +belongs to self +.

    +

    [transfer none]

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_modem_signal_get_nr5g ()

    +
    MMSignal *
    +mm_modem_signal_get_nr5g (MMModemSignal *self);
    +

    Gets a MMSignal object specifying the 5G signal information.

    +
    The values reported by self are not updated when the values in the +interface change. Instead, the client is expected to call +mm_modem_signal_get_nr5g() again to get a new MMSignal with the new values. +
    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMModem.

     
    +
    +
    +

    Returns

    +

    A MMSignal that must be freed with +g_object_unref() or NULL if unknown.

    +

    [transfer full]

    +
    +

    Since: 1.16

    +
    +
    +

    mm_modem_signal_setup ()

    void
     mm_modem_signal_setup (MMModemSignal *self,
    diff --git a/docs/reference/libmm-glib/html/MMModemSimple.html b/docs/reference/libmm-glib/html/MMModemSimple.html
    index 45e13ec2..a629c2c1 100644
    --- a/docs/reference/libmm-glib/html/MMModemSimple.html
    +++ b/docs/reference/libmm-glib/html/MMModemSimple.html
    @@ -163,7 +163,7 @@ MMModemSimple implements
     

    The MMModemSimple is an object providing access to the methods, signals and properties of the Simple interface.

    The Simple interface is exposed on modems which are not in -MM_MODEM_STATE_FAILED state.

    +MM_MODEM_STATE_FAILED state.

    Functions

    diff --git a/docs/reference/libmm-glib/html/MMSim.html b/docs/reference/libmm-glib/html/MMSim.html index 5d14a273..676ae130 100644 --- a/docs/reference/libmm-glib/html/MMSim.html +++ b/docs/reference/libmm-glib/html/MMSim.html @@ -57,6 +57,14 @@
    +gboolean + +mm_sim_get_active () +
    const gchar * @@ -90,6 +98,21 @@ const gchar * +mm_sim_get_eid () +
    +gchar * + +mm_sim_dup_eid () +
    const gchar * + mm_sim_get_operator_identifier ()
    +++++ + + + + + +

    self

    A MMSim.

     
    +
    +
    +

    Returns

    +

    TRUE if the SIM is active, FALSE otherwise.

    +
    +

    Since: 1.16

    +
    +
    +

    mm_sim_get_identifier ()

    const gchar *
     mm_sim_get_identifier (MMSim *self);
    @@ -473,6 +523,67 @@ couldn't be retrieved. The returned value should be freed with +

    mm_sim_get_eid ()

    +
    const gchar *
    +mm_sim_get_eid (MMSim *self);
    +

    Gets the Embedded UICC ID (or EID) of the MMSim object.

    +
    The returned value is only valid until the property changes so it is +only safe to use this function on the thread where self was constructed. Use +mm_sim_dup_eid() if on another thread.
    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMSim.

     
    +
    +
    +

    Returns

    +

    The EID of the MMSim object, or NULL if it +couldn't be retrieved.

    +

    [transfer none]

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_sim_dup_eid ()

    +
    gchar *
    +mm_sim_dup_eid (MMSim *self);
    +

    Gets a copy of the Embedded UICC ID (EID) of the MMSim object.

    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    A MMSim.

     
    +
    +
    +

    Returns

    +

    The EID of the MMSim object, or NULL if it +couldn't be retrieved. The returned value should be freed with g_free().

    +

    [transfer full]

    +
    +

    Since: 1.16

    +
    +
    +

    mm_sim_get_operator_identifier ()

    const gchar *
     mm_sim_get_operator_identifier (MMSim *self);
    diff --git a/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html b/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html index 9d492134..fb070522 100644 --- a/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html +++ b/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html @@ -95,7 +95,7 @@ -MMBearerAllowedAuth +MMBearerAllowedAuth mm_simple_connect_properties_get_allowed_auth () @@ -141,7 +141,7 @@ -MMBearerIpFamily +MMBearerIpFamily mm_simple_connect_properties_get_ip_type () @@ -172,6 +172,22 @@ + +MMModemCdmaRmProtocol + + +mm_simple_connect_properties_get_rm_protocol () + + + + +void + + +mm_simple_connect_properties_set_rm_protocol () + + + const gchar * @@ -417,7 +433,7 @@ mm_simple_connect_properties_set_apn (

    mm_simple_connect_properties_get_allowed_auth ()

    -
    MMBearerAllowedAuth
    +
    MMBearerAllowedAuth
     mm_simple_connect_properties_get_allowed_auth
                                    (MMSimpleConnectProperties *self);

    Gets the authentication methods allowed in the connection.

    @@ -438,8 +454,8 @@ mm_simple_connect_properties_get_allowed_auth

    Returns

    -

    a bitmask of MMBearerAllowedAuth values, or -MM_BEARER_ALLOWED_AUTH_UNKNOWN to request the modem-default method.

    +

    a bitmask of MMBearerAllowedAuth values, or +MM_BEARER_ALLOWED_AUTH_UNKNOWN to request the modem-default method.

    Since: 1.0

    @@ -449,7 +465,7 @@ mm_simple_connect_properties_get_allowed_auth
    void
     mm_simple_connect_properties_set_allowed_auth
                                    (MMSimpleConnectProperties *self,
    -                                MMBearerAllowedAuth allowed_auth);
    + MMBearerAllowedAuth allowed_auth);

    Sets the authentication method to use.

    Parameters

    @@ -467,8 +483,8 @@ mm_simple_connect_properties_set_allowed_auth

    allowed_auth

    -

    a bitmask of MMBearerAllowedAuth values. -MM_BEARER_ALLOWED_AUTH_UNKNOWN may be given to request the modem-default method.

    +

    a bitmask of MMBearerAllowedAuth values. +MM_BEARER_ALLOWED_AUTH_UNKNOWN may be given to request the modem-default method.

      @@ -603,7 +619,7 @@ mm_simple_connect_properties_set_password

    mm_simple_connect_properties_get_ip_type ()

    -
    MMBearerIpFamily
    +
    MMBearerIpFamily
     mm_simple_connect_properties_get_ip_type
                                    (MMSimpleConnectProperties *self);

    Sets the IP type to use.

    @@ -624,7 +640,7 @@ mm_simple_connect_properties_get_ip_type

    Since: 1.0

    @@ -634,7 +650,7 @@ mm_simple_connect_properties_get_ip_type
    void
     mm_simple_connect_properties_set_ip_type
                                    (MMSimpleConnectProperties *self,
    -                                MMBearerIpFamily ip_type);
    + MMBearerIpFamily ip_type);

    Sets the IP type to use.

    Parameters

    @@ -652,7 +668,7 @@ mm_simple_connect_properties_set_ip_type

    ip_type

    -

    a MMBearerIpFamily.

    +

    a MMBearerIpFamily.

      @@ -723,6 +739,66 @@ connection.


    +

    mm_simple_connect_properties_get_rm_protocol ()

    +
    MMModemCdmaRmProtocol
    +mm_simple_connect_properties_get_rm_protocol
    +                               (MMSimpleConnectProperties *self);
    +

    Get the RM protocol requested by the user.

    +
    +

    Parameters

    +
    +++++ + + + + + +

    self

    a MMSimpleConnectProperties.

     
    +
    +
    +

    Returns

    +

    a MMModemCdmaRmProtocol.

    +
    +

    Since: 1.16

    +
    +
    +
    +

    mm_simple_connect_properties_set_rm_protocol ()

    +
    void
    +mm_simple_connect_properties_set_rm_protocol
    +                               (MMSimpleConnectProperties *self,
    +                                MMModemCdmaRmProtocol protocol);
    +

    Sets the RM protocol requested by the user.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + +

    self

    a MMSimpleConnectProperties.

     

    protocol

    a MMModemCdmaRmProtocol.

     
    +
    +

    Since: 1.16

    +
    +
    +

    mm_simple_connect_properties_get_number ()

    const gchar *
     mm_simple_connect_properties_get_number
    diff --git a/docs/reference/libmm-glib/html/MMSimpleStatus.html b/docs/reference/libmm-glib/html/MMSimpleStatus.html
    index 609eaf95..810fc5fc 100644
    --- a/docs/reference/libmm-glib/html/MMSimpleStatus.html
    +++ b/docs/reference/libmm-glib/html/MMSimpleStatus.html
    @@ -43,7 +43,7 @@
     
     
     
    -MMModemState
    +MMModemState
     
     
     mm_simple_status_get_state ()
    @@ -59,7 +59,7 @@
     
     
     
    -MMModemAccessTechnology
    +MMModemAccessTechnology
     
     
     mm_simple_status_get_access_technologies ()
    @@ -75,7 +75,7 @@
     
     
     
    -MMModem3gppRegistrationState
    +MMModem3gppRegistrationState
     
     
     mm_simple_status_get_3gpp_registration_state ()
    @@ -97,7 +97,7 @@
     
     
     
    -MMModem3gppSubscriptionState
    +MMModem3gppSubscriptionState
     
     
     mm_simple_status_get_3gpp_subscription_state ()
    @@ -105,7 +105,7 @@
     
     
     
    -MMModemCdmaRegistrationState
    +MMModemCdmaRegistrationState
     
     
     mm_simple_status_get_cdma_cdma1x_registration_state ()
    @@ -113,7 +113,7 @@
     
     
     
    -MMModemCdmaRegistrationState
    +MMModemCdmaRegistrationState
     
     
     mm_simple_status_get_cdma_evdo_registration_state ()
    @@ -148,17 +148,17 @@
     
     
     
    -MMModemAccessTechnology
    +MMModemAccessTechnology
     access-technologies
     Read / Write
     
     
    -MMModemCdmaRegistrationState
    +MMModemCdmaRegistrationState
     cdma-cdma1x-registration-state
     Read / Write
     
     
    -MMModemCdmaRegistrationState
    +MMModemCdmaRegistrationState
     cdma-evdo-registration-state
     Read / Write
     
    @@ -191,12 +191,12 @@
     Read / Write
     
     
    -MMModem3gppRegistrationState
    +MMModem3gppRegistrationState
     m3gpp-registration-state
     Read / Write
     
     
    -MMModem3gppSubscriptionState
    +MMModem3gppSubscriptionState
     m3gpp-subscription-state
     Read / Write
     
    @@ -207,7 +207,7 @@
     Read / Write
     
     
    -MMModemState
    +MMModemState
     state
     Read / Write
     
    @@ -244,7 +244,7 @@ available in the Simple interface.

    Functions

    mm_simple_status_get_state ()

    -
    MMModemState
    +
    MMModemState
     mm_simple_status_get_state (MMSimpleStatus *self);

    Gets the state of the modem.

    @@ -264,7 +264,7 @@ mm_simple_status_get_state (

    Returns

    -

    a MMModemState.

    +

    a MMModemState.

    Since: 1.0

    @@ -307,7 +307,7 @@ is considered recent.


    mm_simple_status_get_access_technologies ()

    -
    MMModemAccessTechnology
    +
    MMModemAccessTechnology
     mm_simple_status_get_access_technologies
                                    (MMSimpleStatus *self);

    Gets the currently used access technologies.

    @@ -328,7 +328,7 @@ mm_simple_status_get_access_technologies

    Returns

    -

    a bitmask of MMModemAccessTechnology values.

    +

    a bitmask of MMModemAccessTechnology values.

    Since: 1.0

    @@ -337,7 +337,7 @@ mm_simple_status_get_access_technologies

    mm_simple_status_get_current_bands ()

    void
     mm_simple_status_get_current_bands (MMSimpleStatus *self,
    -                                    const MMModemBand **bands,
    +                                    const MMModemBand **bands,
                                         guint *n_bands);

    Gets the currently used frequency bands.

    @@ -356,7 +356,7 @@ mm_simple_status_get_current_bands (

    bands

    -

    location for an array of MMModemBand values. Do not free the +

    location for an array of MMModemBand values. Do not free the returned value, it is owned by self .

    [out] @@ -375,7 +375,7 @@ returned value, it is owned by self

    mm_simple_status_get_3gpp_registration_state ()

    -
    MMModem3gppRegistrationState
    +
    MMModem3gppRegistrationState
     mm_simple_status_get_3gpp_registration_state
                                    (MMSimpleStatus *self);

    Gets the current state of the registration in the 3GPP network.

    @@ -396,7 +396,7 @@ mm_simple_status_get_3gpp_registration_state

    Since: 1.0

    @@ -465,7 +465,7 @@ value, it is owned by self

    mm_simple_status_get_3gpp_subscription_state ()

    -
    MMModem3gppSubscriptionState
    +
    MMModem3gppSubscriptionState
     mm_simple_status_get_3gpp_subscription_state
                                    (MMSimpleStatus *self);
    @@ -492,14 +492,14 @@ it doesn't make sense to expose it in the ModemManager interface.

    Since: 1.0


    mm_simple_status_get_cdma_cdma1x_registration_state ()

    -
    MMModemCdmaRegistrationState
    +
    MMModemCdmaRegistrationState
     mm_simple_status_get_cdma_cdma1x_registration_state
                                    (MMSimpleStatus *self);

    Gets the current state of the registration in the CDMA-1x network.

    @@ -520,14 +520,14 @@ mm_simple_status_get_cdma_cdma1x_registration_state

    Since: 1.0


    mm_simple_status_get_cdma_evdo_registration_state ()

    -
    MMModemCdmaRegistrationState
    +
    MMModemCdmaRegistrationState
     mm_simple_status_get_cdma_evdo_registration_state
                                    (MMSimpleStatus *self);

    Gets the current state of the registration in the EV-DO network.

    @@ -548,7 +548,7 @@ mm_simple_status_get_cdma_evdo_registration_state

    Since: 1.0

    @@ -620,7 +620,7 @@ only be accessed using the provided API.

    Property Details

    The “access-technologies” property

    -
      “access-technologies”      MMModemAccessTechnology
    +
      “access-technologies”      MMModemAccessTechnology

    Access technologies used by the modem.

    Owner: MMSimpleStatus

    Flags: Read / Write

    @@ -628,7 +628,7 @@ only be accessed using the provided API.


    The “cdma-cdma1x-registration-state” property

    -
      “cdma-cdma1x-registration-state” MMModemCdmaRegistrationState
    +
      “cdma-cdma1x-registration-state” MMModemCdmaRegistrationState

    Registration state in the CDMA1x network.

    Owner: MMSimpleStatus

    Flags: Read / Write

    @@ -637,7 +637,7 @@ only be accessed using the provided API.


    The “cdma-evdo-registration-state” property

    -
      “cdma-evdo-registration-state” MMModemCdmaRegistrationState
    +
      “cdma-evdo-registration-state” MMModemCdmaRegistrationState

    Registration state in the EV-DO network.

    Owner: MMSimpleStatus

    Flags: Read / Write

    @@ -694,7 +694,7 @@ only be accessed using the provided API.


    The “m3gpp-registration-state” property

    -
      “m3gpp-registration-state” MMModem3gppRegistrationState
    +
      “m3gpp-registration-state” MMModem3gppRegistrationState

    Registration state in the 3GPP network.

    Owner: MMSimpleStatus

    Flags: Read / Write

    @@ -703,7 +703,7 @@ only be accessed using the provided API.


    The “m3gpp-subscription-state” property

    -
      “m3gpp-subscription-state” MMModem3gppSubscriptionState
    +
      “m3gpp-subscription-state” MMModem3gppSubscriptionState

    Subscription state of the account (deprecated).

    Owner: MMSimpleStatus

    Flags: Read / Write

    @@ -722,7 +722,7 @@ only be accessed using the provided API.


    The “state” property

    -
      “state”                    MMModemState
    +
      “state”                    MMModemState

    State of the modem.

    Owner: MMSimpleStatus

    Flags: Read / Write

    diff --git a/docs/reference/libmm-glib/html/MMSms.html b/docs/reference/libmm-glib/html/MMSms.html index 3f05d5bf..ea025663 100644 --- a/docs/reference/libmm-glib/html/MMSms.html +++ b/docs/reference/libmm-glib/html/MMSms.html @@ -58,7 +58,7 @@ -MMSmsState +MMSmsState mm_sms_get_state () @@ -66,7 +66,7 @@ -MMSmsPduType +MMSmsPduType mm_sms_get_pdu_type () @@ -74,7 +74,7 @@ -MMSmsStorage +MMSmsStorage mm_sms_get_storage () @@ -158,7 +158,7 @@ -MMSmsCdmaTeleserviceId +MMSmsCdmaTeleserviceId mm_sms_get_teleservice_id () @@ -166,7 +166,7 @@ -MMSmsCdmaServiceCategory +MMSmsCdmaServiceCategory mm_sms_get_service_category () @@ -174,7 +174,7 @@ -MMSmsValidityType +MMSmsValidityType mm_sms_get_validity_type () @@ -380,7 +380,7 @@ value should be freed with

    mm_sms_get_state ()

    -
    MMSmsState
    +
    MMSmsState
     mm_sms_get_state (MMSms *self);

    Gets the state of this SMS.

    @@ -400,14 +400,14 @@ mm_sms_get_state (

    Returns

    -

    A MMSmsState specifying the state.

    +

    A MMSmsState specifying the state.

    Since: 1.0


    mm_sms_get_pdu_type ()

    -
    MMSmsPduType
    +
    MMSmsPduType
     mm_sms_get_pdu_type (MMSms *self);

    Gets the PDU type on which this SMS is based.

    @@ -427,14 +427,14 @@ mm_sms_get_pdu_type (

    Returns

    -

    A MMSmsPduType specifying the PDU type.

    +

    A MMSmsPduType specifying the PDU type.

    Since: 1.0


    mm_sms_get_storage ()

    -
    MMSmsStorage
    +
    MMSmsStorage
     mm_sms_get_storage (MMSms *self);

    Gets the storage in which this SMS is kept.

    @@ -454,7 +454,7 @@ mm_sms_get_storage (

    Returns

    -

    A MMSmsStorage specifying the storage.

    +

    A MMSmsStorage specifying the storage.

    Since: 1.0

    @@ -723,7 +723,7 @@ retrieved. The returned value should be freed with guint mm_sms_get_message_reference (MMSms *self);

    Gets the message reference of the last PDU sent/received within this SMS.

    -

    If the PDU type is MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the +

    If the PDU type is MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the message reference of the PDU associated to the status report.

    Parameters

    @@ -776,7 +776,7 @@ mm_sms_get_class (

    mm_sms_get_teleservice_id ()

    -
    MMSmsCdmaTeleserviceId
    +
    MMSmsCdmaTeleserviceId
     mm_sms_get_teleservice_id (MMSms *self);

    Gets the 3GPP2 Teleservice ID.

    @@ -796,14 +796,14 @@ mm_sms_get_teleservice_id (

    Returns

    -

    a MMSmsCdmaTeleserviceId.

    +

    a MMSmsCdmaTeleserviceId.

    Since: 1.2


    mm_sms_get_service_category ()

    -
    MMSmsCdmaServiceCategory
    +
    MMSmsCdmaServiceCategory
     mm_sms_get_service_category (MMSms *self);

    Gets the 3GPP2 Service Category.

    @@ -823,14 +823,14 @@ mm_sms_get_service_category (

    Returns

    -

    a MMSmsCdmaServiceCategory.

    +

    a MMSmsCdmaServiceCategory.

    Since: 1.2


    mm_sms_get_validity_type ()

    -
    MMSmsValidityType
    +
    MMSmsValidityType
     mm_sms_get_validity_type (MMSms *self);

    Gets the type of validity information in the SMS.

    @@ -850,7 +850,7 @@ mm_sms_get_validity_type (

    Returns

    -

    the validity type or MM_SMS_VALIDITY_TYPE_UNKNOWN.

    +

    the validity type or MM_SMS_VALIDITY_TYPE_UNKNOWN.

    Since: 1.0

    @@ -860,7 +860,7 @@ mm_sms_get_validity_type (guint mm_sms_get_validity_relative (MMSms *self);

    Gets the length of the validity period, in minutes.

    -

    Only applicable if the type of validity is MM_SMS_VALIDITY_TYPE_RELATIVE.

    +

    Only applicable if the type of validity is MM_SMS_VALIDITY_TYPE_RELATIVE.

    Parameters

    @@ -889,8 +889,8 @@ mm_sms_get_validity_relative (MMSms *self);

    Gets the time when the first PDU of the SMS message arrived the SMSC, in

    ISO8601

    format.

    -

    This field is only applicable if the PDU type is MM_SMS_PDU_TYPE_DELIVER or -MM_SMS_PDU_TYPE_STATUS_REPORT.

    +

    This field is only applicable if the PDU type is MM_SMS_PDU_TYPE_DELIVER or +MM_SMS_PDU_TYPE_STATUS_REPORT.

    The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_sms_dup_timestamp() if on another thread.
    @@ -924,8 +924,8 @@ retrieved.

    mm_sms_dup_timestamp (MMSms *self);

    Gets the time when the first PDU of the SMS message arrived the SMSC, in

    ISO8601

    format.

    -

    This field is only applicable if the PDU type is MM_SMS_PDU_TYPE_DELIVER or -MM_SMS_PDU_TYPE_STATUS_REPORT.

    +

    This field is only applicable if the PDU type is MM_SMS_PDU_TYPE_DELIVER or +MM_SMS_PDU_TYPE_STATUS_REPORT.

    Parameters

    @@ -957,7 +957,7 @@ mm_sms_get_discharge_timestamp (Gets the time when the first PDU of the SMS message left the SMSC, in

    ISO8601

    format.

    This field is only applicable if the PDU type is -MM_SMS_PDU_TYPE_STATUS_REPORT.

    +MM_SMS_PDU_TYPE_STATUS_REPORT.

    The returned value is only valid until the property changes so it is only safe to use this function on the thread where self was constructed. Use mm_sms_dup_discharge_timestamp() if on another thread.
    @@ -992,7 +992,7 @@ mm_sms_dup_discharge_timestamp (Gets the time when the first PDU of the SMS message left the SMSC, in

    ISO8601

    format.

    This field is only applicable if the PDU type is -MM_SMS_PDU_TYPE_STATUS_REPORT.

    +MM_SMS_PDU_TYPE_STATUS_REPORT.

    Parameters

    @@ -1023,7 +1023,7 @@ retrieved. The returned value should be freed with MMSms *self);

    Gets the delivery state of this SMS.

    This field is only applicable if the PDU type is -MM_SMS_PDU_TYPE_STATUS_REPORT.

    +MM_SMS_PDU_TYPE_STATUS_REPORT.

    Parameters

    @@ -1041,7 +1041,7 @@ mm_sms_get_delivery_state (

    Returns

    -

    A MMSmsDeliveryState specifying the delivery state.

    +

    A MMSmsDeliveryState specifying the delivery state.

    Since: 1.0

    @@ -1216,7 +1216,7 @@ is set.

    mm_sms_store ()

    void
     mm_sms_store (MMSms *self,
    -              MMSmsStorage storage,
    +              MMSmsStorage storage,
                   GCancellable *cancellable,
                   GAsyncReadyCallback callback,
                   gpointer user_data);
    @@ -1243,8 +1243,8 @@ mm_sms_store (
    - + @@ -1317,7 +1317,7 @@ is set.

    mm_sms_store_sync ()

    gboolean
     mm_sms_store_sync (MMSms *self,
    -                   MMSmsStorage storage,
    +                   MMSmsStorage storage,
                        GCancellable *cancellable,
                        GError **error);

    Synchronoulsy requests to store the message in the device if not already @@ -1341,8 +1341,8 @@ for the asynchronous version of this method.

    - + diff --git a/docs/reference/libmm-glib/html/MMSmsProperties.html b/docs/reference/libmm-glib/html/MMSmsProperties.html index 93329038..15b7668a 100644 --- a/docs/reference/libmm-glib/html/MMSmsProperties.html +++ b/docs/reference/libmm-glib/html/MMSmsProperties.html @@ -134,7 +134,7 @@ - + @@ -824,7 +824,7 @@ mm_sms_properties_set_delivery_report_request

    mm_sms_properties_get_teleservice_id ()

    -
    MMSmsCdmaTeleserviceId
    +
    MMSmsCdmaTeleserviceId
     mm_sms_properties_get_teleservice_id (MMSmsProperties *self);

    Gets the CDMA teleservice ID of the SMS.

    @@ -853,7 +853,7 @@ mm_sms_properties_get_teleservice_id (

    mm_sms_properties_set_teleservice_id ()

    void
     mm_sms_properties_set_teleservice_id (MMSmsProperties *self,
    -                                      MMSmsCdmaTeleserviceId teleservice_id);
    + MMSmsCdmaTeleserviceId teleservice_id);

    Sets the CDMA teleservice ID of the SMS.

    Parameters

    @@ -882,7 +882,7 @@ mm_sms_properties_set_teleservice_id (

    mm_sms_properties_get_service_category ()

    -
    MMSmsCdmaServiceCategory
    +
    MMSmsCdmaServiceCategory
     mm_sms_properties_get_service_category
                                    (MMSmsProperties *self);

    Gets the CDMA message service category of the SMS.

    @@ -913,7 +913,7 @@ mm_sms_properties_get_service_category
    void
     mm_sms_properties_set_service_category
                                    (MMSmsProperties *self,
    -                                MMSmsCdmaServiceCategory service_category);
    + MMSmsCdmaServiceCategory service_category);

    Sets the CDMA service category of the SMS.

    Parameters

    diff --git a/docs/reference/libmm-glib/html/MMUnlockRetries.html b/docs/reference/libmm-glib/html/MMUnlockRetries.html index e4a06de9..0380f67f 100644 --- a/docs/reference/libmm-glib/html/MMUnlockRetries.html +++ b/docs/reference/libmm-glib/html/MMUnlockRetries.html @@ -95,7 +95,7 @@

    Description

    The MMUnlockRetries is an object exposing the unlock retry counts for -different MMModemLock values.

    +different MMModemLock values.

    This object is retrieved from the MMModem object with either mm_modem_get_unlock_retries() or mm_modem_peek_unlock_retries().

    @@ -105,7 +105,7 @@ different

    mm_unlock_retries_get ()

    guint
     mm_unlock_retries_get (MMUnlockRetries *self,
    -                       MMModemLock lock);
    + MMModemLock lock);

    Gets the unlock retries for the given lock .

    @@ -124,7 +124,7 @@ mm_unlock_retries_get (

    lock

    -
    + @@ -140,7 +140,7 @@ mm_unlock_retries_get (

    MMUnlockRetriesForeachCb ()

    void
    -(*MMUnlockRetriesForeachCb) (MMModemLock lock,
    +(*MMUnlockRetriesForeachCb) (MMModemLock lock,
                                  guint count,
                                  gpointer user_data);

    Specifies the type of function passed to mm_unlock_retries_foreach().

    @@ -155,7 +155,7 @@ mm_unlock_retries_get (

    lock

    -
    + diff --git a/docs/reference/libmm-glib/html/MmGdbusBearer.html b/docs/reference/libmm-glib/html/MmGdbusBearer.html index 16bdc6d6..33f741a3 100644 --- a/docs/reference/libmm-glib/html/MmGdbusBearer.html +++ b/docs/reference/libmm-glib/html/MmGdbusBearer.html @@ -337,7 +337,7 @@ MmGdbusBearer is implemented by

    mm_gdbus_bearer_get_interface ()

    const gchar *
     mm_gdbus_bearer_get_interface (MmGdbusBearer *object);
    -

    Gets the value of the "Interface" D-Bus property.

    +

    Gets the value of the "Interface" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_bearer_dup_interface() if on another thread.

    @@ -369,7 +369,7 @@ mm_gdbus_bearer_get_interface (

    mm_gdbus_bearer_dup_interface ()

    gchar *
     mm_gdbus_bearer_dup_interface (MmGdbusBearer *object);
    -

    Gets a copy of the "Interface" D-Bus property.

    +

    Gets a copy of the "Interface" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -398,7 +398,7 @@ mm_gdbus_bearer_dup_interface (

    mm_gdbus_bearer_get_ip4_config ()

    GVariant *
     mm_gdbus_bearer_get_ip4_config (MmGdbusBearer *object);
    -

    Gets the value of the "Ip4Config" D-Bus property.

    +

    Gets the value of the "Ip4Config" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_bearer_dup_ip4_config() if on another thread.

    @@ -430,7 +430,7 @@ mm_gdbus_bearer_get_ip4_config (

    mm_gdbus_bearer_dup_ip4_config ()

    GVariant *
     mm_gdbus_bearer_dup_ip4_config (MmGdbusBearer *object);
    -

    Gets a copy of the "Ip4Config" D-Bus property.

    +

    Gets a copy of the "Ip4Config" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -459,7 +459,7 @@ mm_gdbus_bearer_dup_ip4_config (

    mm_gdbus_bearer_get_ip6_config ()

    GVariant *
     mm_gdbus_bearer_get_ip6_config (MmGdbusBearer *object);
    -

    Gets the value of the "Ip6Config" D-Bus property.

    +

    Gets the value of the "Ip6Config" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_bearer_dup_ip6_config() if on another thread.

    @@ -491,7 +491,7 @@ mm_gdbus_bearer_get_ip6_config (

    mm_gdbus_bearer_dup_ip6_config ()

    GVariant *
     mm_gdbus_bearer_dup_ip6_config (MmGdbusBearer *object);
    -

    Gets a copy of the "Ip6Config" D-Bus property.

    +

    Gets a copy of the "Ip6Config" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -520,7 +520,7 @@ mm_gdbus_bearer_dup_ip6_config (

    mm_gdbus_bearer_get_ip_timeout ()

    guint
     mm_gdbus_bearer_get_ip_timeout (MmGdbusBearer *object);
    -

    Gets the value of the "IpTimeout" D-Bus property.

    +

    Gets the value of the "IpTimeout" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -548,7 +548,7 @@ mm_gdbus_bearer_get_ip_timeout (

    mm_gdbus_bearer_get_properties ()

    GVariant *
     mm_gdbus_bearer_get_properties (MmGdbusBearer *object);
    -

    Gets the value of the "Properties" D-Bus property.

    +

    Gets the value of the "Properties" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_bearer_dup_properties() if on another thread.

    @@ -580,7 +580,7 @@ mm_gdbus_bearer_get_properties (

    mm_gdbus_bearer_dup_properties ()

    GVariant *
     mm_gdbus_bearer_dup_properties (MmGdbusBearer *object);
    -

    Gets a copy of the "Properties" D-Bus property.

    +

    Gets a copy of the "Properties" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -609,7 +609,7 @@ mm_gdbus_bearer_dup_properties (

    mm_gdbus_bearer_get_connected ()

    gboolean
     mm_gdbus_bearer_get_connected (MmGdbusBearer *object);
    -

    Gets the value of the "Connected" D-Bus property.

    +

    Gets the value of the "Connected" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -637,7 +637,7 @@ mm_gdbus_bearer_get_connected (

    mm_gdbus_bearer_get_suspended ()

    gboolean
     mm_gdbus_bearer_get_suspended (MmGdbusBearer *object);
    -

    Gets the value of the "Suspended" D-Bus property.

    +

    Gets the value of the "Suspended" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -665,7 +665,7 @@ mm_gdbus_bearer_get_suspended (

    mm_gdbus_bearer_get_bearer_type ()

    guint
     mm_gdbus_bearer_get_bearer_type (MmGdbusBearer *object);
    -

    Gets the value of the "BearerType" D-Bus property.

    +

    Gets the value of the "BearerType" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -693,7 +693,7 @@ mm_gdbus_bearer_get_bearer_type (

    mm_gdbus_bearer_get_stats ()

    GVariant *
     mm_gdbus_bearer_get_stats (MmGdbusBearer *object);
    -

    Gets the value of the "Stats" D-Bus property.

    +

    Gets the value of the "Stats" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_bearer_dup_stats() if on another thread.

    @@ -725,7 +725,7 @@ mm_gdbus_bearer_get_stats (

    mm_gdbus_bearer_dup_stats ()

    GVariant *
     mm_gdbus_bearer_dup_stats (MmGdbusBearer *object);
    -

    Gets a copy of the "Stats" D-Bus property.

    +

    Gets a copy of the "Stats" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -757,7 +757,7 @@ mm_gdbus_bearer_call_connect (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Connect() D-Bus method on proxy +

    Asynchronously invokes the Connect() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -846,7 +846,7 @@ is set.

    mm_gdbus_bearer_call_connect_sync (MmGdbusBearer *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Connect() D-Bus method on proxy +

    Synchronously invokes the Connect() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_bearer_call_connect() for the asynchronous version of this method.

    @@ -891,7 +891,7 @@ mm_gdbus_bearer_call_disconnect (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Disconnect() D-Bus method on proxy +

    Asynchronously invokes the Disconnect() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -981,7 +981,7 @@ is set.

    mm_gdbus_bearer_call_disconnect_sync (MmGdbusBearer *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Disconnect() D-Bus method on proxy +

    Synchronously invokes the Disconnect() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_bearer_call_disconnect() for the asynchronous version of this method.

    @@ -1139,7 +1139,7 @@ is set.

    The “bearer-type” property

      “bearer-type”              guint
    -

    Represents the D-Bus property "BearerType".

    +

    Represents the D-Bus property "BearerType".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1149,7 +1149,7 @@ is set.

    The “connected” property

      “connected”                gboolean
    -

    Represents the D-Bus property "Connected".

    +

    Represents the D-Bus property "Connected".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1159,7 +1159,7 @@ is set.

    The “interface” property

      “interface”                char *
    -

    Represents the D-Bus property "Interface".

    +

    Represents the D-Bus property "Interface".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1169,7 +1169,7 @@ is set.

    The “ip-timeout” property

      “ip-timeout”               guint
    -

    Represents the D-Bus property "IpTimeout".

    +

    Represents the D-Bus property "IpTimeout".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1179,7 +1179,7 @@ is set.

    The “ip4-config” property

      “ip4-config”               GVariant *
    -

    Represents the D-Bus property "Ip4Config".

    +

    Represents the D-Bus property "Ip4Config".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1190,7 +1190,7 @@ is set.

    The “ip6-config” property

      “ip6-config”               GVariant *
    -

    Represents the D-Bus property "Ip6Config".

    +

    Represents the D-Bus property "Ip6Config".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1201,7 +1201,7 @@ is set.

    The “properties” property

      “properties”               GVariant *
    -

    Represents the D-Bus property "Properties".

    +

    Represents the D-Bus property "Properties".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1212,7 +1212,7 @@ is set.

    The “stats” property

      “stats”                    GVariant *
    -

    Represents the D-Bus property "Stats".

    +

    Represents the D-Bus property "Stats".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1223,7 +1223,7 @@ is set.

    The “suspended” property

      “suspended”                gboolean
    -

    Represents the D-Bus property "Suspended".

    +

    Represents the D-Bus property "Suspended".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusBearer

    Flags: Read / Write

    @@ -1238,7 +1238,7 @@ is set.

    user_function (MmGdbusBearer *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Connect() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Connect() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_bearer_complete_connect() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -1270,7 +1270,7 @@ user_function (<

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -1281,7 +1281,7 @@ user_function (< user_function (MmGdbusBearer *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Disconnect() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Disconnect() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_bearer_complete_disconnect() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -1313,7 +1313,7 @@ user_function (<

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    diff --git a/docs/reference/libmm-glib/html/MmGdbusCall.html b/docs/reference/libmm-glib/html/MmGdbusCall.html index 95206bfa..9d3fa706 100644 --- a/docs/reference/libmm-glib/html/MmGdbusCall.html +++ b/docs/reference/libmm-glib/html/MmGdbusCall.html @@ -447,7 +447,7 @@ MmGdbusCall is implemented by

    mm_gdbus_call_get_direction ()

    gint
     mm_gdbus_call_get_direction (MmGdbusCall *object);
    -

    Gets the value of the "Direction" D-Bus property.

    +

    Gets the value of the "Direction" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -475,7 +475,7 @@ mm_gdbus_call_get_direction (

    mm_gdbus_call_get_number ()

    const gchar *
     mm_gdbus_call_get_number (MmGdbusCall *object);
    -

    Gets the value of the "Number" D-Bus property.

    +

    Gets the value of the "Number" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_call_dup_number() if on another thread.

    @@ -507,7 +507,7 @@ mm_gdbus_call_get_number (

    mm_gdbus_call_dup_number ()

    gchar *
     mm_gdbus_call_dup_number (MmGdbusCall *object);
    -

    Gets a copy of the "Number" D-Bus property.

    +

    Gets a copy of the "Number" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -536,7 +536,7 @@ mm_gdbus_call_dup_number (

    mm_gdbus_call_get_state ()

    gint
     mm_gdbus_call_get_state (MmGdbusCall *object);
    -

    Gets the value of the "State" D-Bus property.

    +

    Gets the value of the "State" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -564,7 +564,7 @@ mm_gdbus_call_get_state (

    mm_gdbus_call_get_state_reason ()

    gint
     mm_gdbus_call_get_state_reason (MmGdbusCall *object);
    -

    Gets the value of the "StateReason" D-Bus property.

    +

    Gets the value of the "StateReason" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -592,7 +592,7 @@ mm_gdbus_call_get_state_reason (

    mm_gdbus_call_dup_audio_format ()

    GVariant *
     mm_gdbus_call_dup_audio_format (MmGdbusCall *object);
    -

    Gets a copy of the "AudioFormat" D-Bus property.

    +

    Gets a copy of the "AudioFormat" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -621,7 +621,7 @@ mm_gdbus_call_dup_audio_format (

    mm_gdbus_call_dup_audio_port ()

    gchar *
     mm_gdbus_call_dup_audio_port (MmGdbusCall *object);
    -

    Gets a copy of the "AudioPort" D-Bus property.

    +

    Gets a copy of the "AudioPort" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -650,7 +650,7 @@ mm_gdbus_call_dup_audio_port (

    mm_gdbus_call_get_audio_format ()

    GVariant *
     mm_gdbus_call_get_audio_format (MmGdbusCall *object);
    -

    Gets the value of the "AudioFormat" D-Bus property.

    +

    Gets the value of the "AudioFormat" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_call_dup_audio_format() if on another thread.

    @@ -682,7 +682,7 @@ mm_gdbus_call_get_audio_format (

    mm_gdbus_call_get_audio_port ()

    const gchar *
     mm_gdbus_call_get_audio_port (MmGdbusCall *object);
    -

    Gets the value of the "AudioPort" D-Bus property.

    +

    Gets the value of the "AudioPort" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_call_dup_audio_port() if on another thread.

    @@ -714,7 +714,7 @@ mm_gdbus_call_get_audio_port (

    mm_gdbus_call_get_multiparty ()

    gboolean
     mm_gdbus_call_get_multiparty (MmGdbusCall *object);
    -

    Gets the value of the "Multiparty" D-Bus property.

    +

    Gets the value of the "Multiparty" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -745,7 +745,7 @@ mm_gdbus_call_call_accept (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Accept() D-Bus method on proxy +

    Asynchronously invokes the Accept() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -834,7 +834,7 @@ is set.

    mm_gdbus_call_call_accept_sync (MmGdbusCall *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Accept() D-Bus method on proxy +

    Synchronously invokes the Accept() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_accept() for the asynchronous version of this method.

    @@ -879,7 +879,7 @@ mm_gdbus_call_call_start (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Start() D-Bus method on proxy +

    Asynchronously invokes the Start() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -968,7 +968,7 @@ is set.

    mm_gdbus_call_call_start_sync (MmGdbusCall *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Start() D-Bus method on proxy +

    Synchronously invokes the Start() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_start() for the asynchronous version of this method.

    @@ -1013,7 +1013,7 @@ mm_gdbus_call_call_hangup (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Hangup() D-Bus method on proxy +

    Asynchronously invokes the Hangup() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -1102,7 +1102,7 @@ is set.

    mm_gdbus_call_call_hangup_sync (MmGdbusCall *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Hangup() D-Bus method on proxy +

    Synchronously invokes the Hangup() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_hangup() for the asynchronous version of this method.

    @@ -1148,7 +1148,7 @@ mm_gdbus_call_call_send_dtmf (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the SendDtmf() D-Bus method on proxy +

    Asynchronously invokes the SendDtmf() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -1243,7 +1243,7 @@ mm_gdbus_call_call_send_dtmf_sync (const gchar *arg_dtmf, GCancellable *cancellable, GError **error); -

    Synchronously invokes the SendDtmf() D-Bus method on proxy +

    Synchronously invokes the SendDtmf() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_send_dtmf() for the asynchronous version of this method.

    @@ -1294,7 +1294,7 @@ mm_gdbus_call_call_deflect (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Deflect() D-Bus method on proxy +

    Asynchronously invokes the Deflect() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -1389,7 +1389,7 @@ mm_gdbus_call_call_deflect_sync (const gchar *arg_number, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Deflect() D-Bus method on proxy +

    Synchronously invokes the Deflect() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_deflect() for the asynchronous version of this method.

    @@ -1439,7 +1439,7 @@ mm_gdbus_call_call_join_multiparty (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the JoinMultiparty() D-Bus method on proxy +

    Asynchronously invokes the JoinMultiparty() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -1530,7 +1530,7 @@ mm_gdbus_call_call_join_multiparty_sync (MmGdbusCall *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the JoinMultiparty() D-Bus method on proxy +

    Synchronously invokes the JoinMultiparty() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_join_multiparty() for the asynchronous version of this method.

    @@ -1575,7 +1575,7 @@ mm_gdbus_call_call_leave_multiparty (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the LeaveMultiparty() D-Bus method on proxy +

    Asynchronously invokes the LeaveMultiparty() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -1666,7 +1666,7 @@ mm_gdbus_call_call_leave_multiparty_sync (MmGdbusCall *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the LeaveMultiparty() D-Bus method on proxy +

    Synchronously invokes the LeaveMultiparty() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_call_call_leave_multiparty() for the asynchronous version of this method.

    @@ -1877,7 +1877,7 @@ is set.

    The “audio-format” property

      “audio-format”             GVariant *
    -

    Represents the D-Bus property "AudioFormat".

    +

    Represents the D-Bus property "AudioFormat".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1888,7 +1888,7 @@ is set.

    The “audio-port” property

      “audio-port”               char *
    -

    Represents the D-Bus property "AudioPort".

    +

    Represents the D-Bus property "AudioPort".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1898,7 +1898,7 @@ is set.

    The “direction” property

      “direction”                int
    -

    Represents the D-Bus property "Direction".

    +

    Represents the D-Bus property "Direction".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1908,7 +1908,7 @@ is set.

    The “multiparty” property

      “multiparty”               gboolean
    -

    Represents the D-Bus property "Multiparty".

    +

    Represents the D-Bus property "Multiparty".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1918,7 +1918,7 @@ is set.

    The “number” property

      “number”                   char *
    -

    Represents the D-Bus property "Number".

    +

    Represents the D-Bus property "Number".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1928,7 +1928,7 @@ is set.

    The “state” property

      “state”                    int
    -

    Represents the D-Bus property "State".

    +

    Represents the D-Bus property "State".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1938,7 +1938,7 @@ is set.

    The “state-reason” property

      “state-reason”             int
    -

    Represents the D-Bus property "StateReason".

    +

    Represents the D-Bus property "StateReason".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusCall

    Flags: Read / Write

    @@ -1953,7 +1953,7 @@ is set.

    user_function (MmGdbusCall *object, char *arg_dtmf, gpointer user_data) -

    On the client-side, this signal is emitted whenever the D-Bus signal "DtmfReceived" is received.

    +

    On the client-side, this signal is emitted whenever the D-Bus signal "DtmfReceived" is received.

    On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.

    Parameters

    @@ -1991,7 +1991,7 @@ user_function (MmGdbusCall *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Accept() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Accept() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_accept() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2023,7 +2023,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2035,7 +2035,7 @@ user_function (GDBusMethodInvocation *invocation, char *arg_number, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Deflect() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Deflect() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_deflect() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2072,7 +2072,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2083,7 +2083,7 @@ user_function (MmGdbusCall *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Hangup() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Hangup() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_hangup() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2115,7 +2115,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2126,7 +2126,7 @@ user_function (MmGdbusCall *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the JoinMultiparty() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the JoinMultiparty() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_join_multiparty() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2158,7 +2158,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2169,7 +2169,7 @@ user_function (MmGdbusCall *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the LeaveMultiparty() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the LeaveMultiparty() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_leave_multiparty() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2201,7 +2201,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2213,7 +2213,7 @@ user_function (GDBusMethodInvocation *invocation, char *arg_dtmf, gpointer user_data) -

    Signal emitted when a remote caller is invoking the SendDtmf() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the SendDtmf() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_send_dtmf() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2250,7 +2250,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2261,7 +2261,7 @@ user_function (MmGdbusCall *object, GDBusMethodInvocation *invocation, gpointer user_data) -

    Signal emitted when a remote caller is invoking the Start() D-Bus method.

    +

    Signal emitted when a remote caller is invoking the Start() D-Bus method.

    If a signal handler returns TRUE, it means the signal handler will handle the invocation (e.g. take a reference to invocation and eventually call mm_gdbus_call_complete_start() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the G_DBUS_ERROR_UNKNOWN_METHOD error is returned.

    @@ -2293,7 +2293,7 @@ user_function (

    Returns

    -

    TRUE if the invocation was handled, FALSE to let other signal handlers run.

    +

    G_DBUS_METHOD_INVOCATION_HANDLED or TRUE if the invocation was handled, G_DBUS_METHOD_INVOCATION_UNHANDLED or FALSE to let other signal handlers run.

    Flags: Run Last

    @@ -2306,7 +2306,7 @@ user_function (int arg_new, guint arg_reason, gpointer user_data) -

    On the client-side, this signal is emitted whenever the D-Bus signal "StateChanged" is received.

    +

    On the client-side, this signal is emitted whenever the D-Bus signal "StateChanged" is received.

    On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.

    Parameters

    diff --git a/docs/reference/libmm-glib/html/MmGdbusModem.html b/docs/reference/libmm-glib/html/MmGdbusModem.html index a04b2bf5..9c782a46 100644 --- a/docs/reference/libmm-glib/html/MmGdbusModem.html +++ b/docs/reference/libmm-glib/html/MmGdbusModem.html @@ -375,6 +375,29 @@
    + + + + + + + + + + + + + + + + + + + + + + + + @@ -864,6 +911,11 @@ + + + + + @@ -882,6 +934,11 @@ + + + + + @@ -993,6 +1050,11 @@ + + + + + @@ -1048,7 +1110,7 @@ MmGdbusModem is implemented by
    guint
     mm_gdbus_modem_get_access_technologies
                                    (MmGdbusModem *object);
    -

    Gets the value of the "AccessTechnologies" D-Bus property.

    +

    Gets the value of the "AccessTechnologies" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1076,7 +1138,7 @@ mm_gdbus_modem_get_access_technologies

    mm_gdbus_modem_get_bearers ()

    const gchar *const *
     mm_gdbus_modem_get_bearers (MmGdbusModem *object);
    -

    Gets the value of the "Bearers" D-Bus property.

    +

    Gets the value of the "Bearers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_bearers() if on another thread.

    @@ -1108,7 +1170,7 @@ mm_gdbus_modem_get_bearers (

    mm_gdbus_modem_dup_bearers ()

    gchar **
     mm_gdbus_modem_dup_bearers (MmGdbusModem *object);
    -

    Gets a copy of the "Bearers" D-Bus property.

    +

    Gets a copy of the "Bearers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1137,7 +1199,7 @@ mm_gdbus_modem_dup_bearers (

    mm_gdbus_modem_get_current_modes ()

    GVariant *
     mm_gdbus_modem_get_current_modes (MmGdbusModem *object);
    -

    Gets the value of the "CurrentModes" D-Bus property.

    +

    Gets the value of the "CurrentModes" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_current_modes() if on another thread.

    @@ -1169,7 +1231,7 @@ mm_gdbus_modem_get_current_modes (

    mm_gdbus_modem_dup_current_modes ()

    GVariant *
     mm_gdbus_modem_dup_current_modes (MmGdbusModem *object);
    -

    Gets a copy of the "CurrentModes" D-Bus property.

    +

    Gets a copy of the "CurrentModes" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1198,7 +1260,7 @@ mm_gdbus_modem_dup_current_modes (

    mm_gdbus_modem_get_current_bands ()

    GVariant *
     mm_gdbus_modem_get_current_bands (MmGdbusModem *object);
    -

    Gets the value of the "CurrentBands" D-Bus property.

    +

    Gets the value of the "CurrentBands" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_current_bands() if on another thread.

    @@ -1230,7 +1292,7 @@ mm_gdbus_modem_get_current_bands (

    mm_gdbus_modem_dup_current_bands ()

    GVariant *
     mm_gdbus_modem_dup_current_bands (MmGdbusModem *object);
    -

    Gets a copy of the "CurrentBands" D-Bus property.

    +

    Gets a copy of the "CurrentBands" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1260,7 +1322,7 @@ mm_gdbus_modem_dup_current_bands (guint mm_gdbus_modem_get_current_capabilities (MmGdbusModem *object); -

    Gets the value of the "CurrentCapabilities" D-Bus property.

    +

    Gets the value of the "CurrentCapabilities" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1288,7 +1350,7 @@ mm_gdbus_modem_get_current_capabilities

    mm_gdbus_modem_get_device ()

    const gchar *
     mm_gdbus_modem_get_device (MmGdbusModem *object);
    -

    Gets the value of the "Device" D-Bus property.

    +

    Gets the value of the "Device" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_device() if on another thread.

    @@ -1320,7 +1382,7 @@ mm_gdbus_modem_get_device (

    mm_gdbus_modem_dup_device ()

    gchar *
     mm_gdbus_modem_dup_device (MmGdbusModem *object);
    -

    Gets a copy of the "Device" D-Bus property.

    +

    Gets a copy of the "Device" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1349,7 +1411,7 @@ mm_gdbus_modem_dup_device (

    mm_gdbus_modem_get_device_identifier ()

    const gchar *
     mm_gdbus_modem_get_device_identifier (MmGdbusModem *object);
    -

    Gets the value of the "DeviceIdentifier" D-Bus property.

    +

    Gets the value of the "DeviceIdentifier" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_device_identifier() if on another thread.

    @@ -1381,7 +1443,7 @@ mm_gdbus_modem_get_device_identifier (

    mm_gdbus_modem_dup_device_identifier ()

    gchar *
     mm_gdbus_modem_dup_device_identifier (MmGdbusModem *object);
    -

    Gets a copy of the "DeviceIdentifier" D-Bus property.

    +

    Gets a copy of the "DeviceIdentifier" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1410,7 +1472,7 @@ mm_gdbus_modem_dup_device_identifier (

    mm_gdbus_modem_get_drivers ()

    const gchar *const *
     mm_gdbus_modem_get_drivers (MmGdbusModem *object);
    -

    Gets the value of the "Drivers" D-Bus property.

    +

    Gets the value of the "Drivers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_drivers() if on another thread.

    @@ -1442,7 +1504,7 @@ mm_gdbus_modem_get_drivers (

    mm_gdbus_modem_dup_drivers ()

    gchar **
     mm_gdbus_modem_dup_drivers (MmGdbusModem *object);
    -

    Gets a copy of the "Drivers" D-Bus property.

    +

    Gets a copy of the "Drivers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1472,7 +1534,7 @@ mm_gdbus_modem_dup_drivers (const gchar * mm_gdbus_modem_get_equipment_identifier (MmGdbusModem *object); -

    Gets the value of the "EquipmentIdentifier" D-Bus property.

    +

    Gets the value of the "EquipmentIdentifier" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_equipment_identifier() if on another thread.

    @@ -1505,7 +1567,7 @@ mm_gdbus_modem_get_equipment_identifier
    gchar *
     mm_gdbus_modem_dup_equipment_identifier
                                    (MmGdbusModem *object);
    -

    Gets a copy of the "EquipmentIdentifier" D-Bus property.

    +

    Gets a copy of the "EquipmentIdentifier" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1534,7 +1596,7 @@ mm_gdbus_modem_dup_equipment_identifier

    mm_gdbus_modem_get_manufacturer ()

    const gchar *
     mm_gdbus_modem_get_manufacturer (MmGdbusModem *object);
    -

    Gets the value of the "Manufacturer" D-Bus property.

    +

    Gets the value of the "Manufacturer" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_manufacturer() if on another thread.

    @@ -1566,7 +1628,7 @@ mm_gdbus_modem_get_manufacturer (

    mm_gdbus_modem_dup_manufacturer ()

    gchar *
     mm_gdbus_modem_dup_manufacturer (MmGdbusModem *object);
    -

    Gets a copy of the "Manufacturer" D-Bus property.

    +

    Gets a copy of the "Manufacturer" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1595,7 +1657,7 @@ mm_gdbus_modem_dup_manufacturer (

    mm_gdbus_modem_get_max_active_bearers ()

    guint
     mm_gdbus_modem_get_max_active_bearers (MmGdbusModem *object);
    -

    Gets the value of the "MaxActiveBearers" D-Bus property.

    +

    Gets the value of the "MaxActiveBearers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1623,7 +1685,7 @@ mm_gdbus_modem_get_max_active_bearers (

    mm_gdbus_modem_get_max_bearers ()

    guint
     mm_gdbus_modem_get_max_bearers (MmGdbusModem *object);
    -

    Gets the value of the "MaxBearers" D-Bus property.

    +

    Gets the value of the "MaxBearers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1651,7 +1713,7 @@ mm_gdbus_modem_get_max_bearers (

    mm_gdbus_modem_get_model ()

    const gchar *
     mm_gdbus_modem_get_model (MmGdbusModem *object);
    -

    Gets the value of the "Model" D-Bus property.

    +

    Gets the value of the "Model" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_model() if on another thread.

    @@ -1683,7 +1745,7 @@ mm_gdbus_modem_get_model (

    mm_gdbus_modem_dup_model ()

    gchar *
     mm_gdbus_modem_dup_model (MmGdbusModem *object);
    -

    Gets a copy of the "Model" D-Bus property.

    +

    Gets a copy of the "Model" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1712,7 +1774,7 @@ mm_gdbus_modem_dup_model (

    mm_gdbus_modem_get_own_numbers ()

    const gchar *const *
     mm_gdbus_modem_get_own_numbers (MmGdbusModem *object);
    -

    Gets the value of the "OwnNumbers" D-Bus property.

    +

    Gets the value of the "OwnNumbers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_own_numbers() if on another thread.

    @@ -1744,7 +1806,7 @@ mm_gdbus_modem_get_own_numbers (

    mm_gdbus_modem_dup_own_numbers ()

    gchar **
     mm_gdbus_modem_dup_own_numbers (MmGdbusModem *object);
    -

    Gets a copy of the "OwnNumbers" D-Bus property.

    +

    Gets a copy of the "OwnNumbers" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1773,7 +1835,7 @@ mm_gdbus_modem_dup_own_numbers (

    mm_gdbus_modem_get_plugin ()

    const gchar *
     mm_gdbus_modem_get_plugin (MmGdbusModem *object);
    -

    Gets the value of the "Plugin" D-Bus property.

    +

    Gets the value of the "Plugin" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_plugin() if on another thread.

    @@ -1805,7 +1867,7 @@ mm_gdbus_modem_get_plugin (

    mm_gdbus_modem_dup_plugin ()

    gchar *
     mm_gdbus_modem_dup_plugin (MmGdbusModem *object);
    -

    Gets a copy of the "Plugin" D-Bus property.

    +

    Gets a copy of the "Plugin" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1834,7 +1896,7 @@ mm_gdbus_modem_dup_plugin (

    mm_gdbus_modem_get_power_state ()

    guint
     mm_gdbus_modem_get_power_state (MmGdbusModem *object);
    -

    Gets the value of the "PowerState" D-Bus property.

    +

    Gets the value of the "PowerState" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1862,7 +1924,7 @@ mm_gdbus_modem_get_power_state (

    mm_gdbus_modem_get_primary_port ()

    const gchar *
     mm_gdbus_modem_get_primary_port (MmGdbusModem *object);
    -

    Gets the value of the "PrimaryPort" D-Bus property.

    +

    Gets the value of the "PrimaryPort" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_primary_port() if on another thread.

    @@ -1894,7 +1956,7 @@ mm_gdbus_modem_get_primary_port (

    mm_gdbus_modem_dup_primary_port ()

    gchar *
     mm_gdbus_modem_dup_primary_port (MmGdbusModem *object);
    -

    Gets a copy of the "PrimaryPort" D-Bus property.

    +

    Gets a copy of the "PrimaryPort" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1923,7 +1985,7 @@ mm_gdbus_modem_dup_primary_port (

    mm_gdbus_modem_get_ports ()

    GVariant *
     mm_gdbus_modem_get_ports (MmGdbusModem *object);
    -

    Gets the value of the "Ports" D-Bus property.

    +

    Gets the value of the "Ports" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_ports() if on another thread.

    @@ -1955,7 +2017,7 @@ mm_gdbus_modem_get_ports (

    mm_gdbus_modem_dup_ports ()

    GVariant *
     mm_gdbus_modem_dup_ports (MmGdbusModem *object);
    -

    Gets a copy of the "Ports" D-Bus property.

    +

    Gets a copy of the "Ports" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -1984,7 +2046,7 @@ mm_gdbus_modem_dup_ports (

    mm_gdbus_modem_get_revision ()

    const gchar *
     mm_gdbus_modem_get_revision (MmGdbusModem *object);
    -

    Gets the value of the "Revision" D-Bus property.

    +

    Gets the value of the "Revision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_revision() if on another thread.

    @@ -2016,7 +2078,7 @@ mm_gdbus_modem_get_revision (

    mm_gdbus_modem_dup_revision ()

    gchar *
     mm_gdbus_modem_dup_revision (MmGdbusModem *object);
    -

    Gets a copy of the "Revision" D-Bus property.

    +

    Gets a copy of the "Revision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2046,7 +2108,7 @@ mm_gdbus_modem_dup_revision (const gchar * mm_gdbus_modem_get_carrier_configuration (MmGdbusModem *object); -

    Gets the value of the "CarrierConfiguration" D-Bus property.

    +

    Gets the value of the "CarrierConfiguration" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_carrier_configuration() if on another thread.

    @@ -2079,7 +2141,7 @@ mm_gdbus_modem_get_carrier_configuration
    gchar *
     mm_gdbus_modem_dup_carrier_configuration
                                    (MmGdbusModem *object);
    -

    Gets a copy of the "CarrierConfiguration" D-Bus property.

    +

    Gets a copy of the "CarrierConfiguration" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2109,7 +2171,7 @@ mm_gdbus_modem_dup_carrier_configuration
    const gchar *
     mm_gdbus_modem_get_carrier_configuration_revision
                                    (MmGdbusModem *object);
    -

    Gets the value of the "CarrierConfigurationRevision" D-Bus property.

    +

    Gets the value of the "CarrierConfigurationRevision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_carrier_configuration_revision() if on another thread.

    @@ -2142,7 +2204,7 @@ mm_gdbus_modem_get_carrier_configuration_revision
    gchar *
     mm_gdbus_modem_dup_carrier_configuration_revision
                                    (MmGdbusModem *object);
    -

    Gets a copy of the "CarrierConfigurationRevision" D-Bus property.

    +

    Gets a copy of the "CarrierConfigurationRevision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2171,7 +2233,7 @@ mm_gdbus_modem_dup_carrier_configuration_revision

    mm_gdbus_modem_get_hardware_revision ()

    const gchar *
     mm_gdbus_modem_get_hardware_revision (MmGdbusModem *object);
    -

    Gets the value of the "HardwareRevision" D-Bus property.

    +

    Gets the value of the "HardwareRevision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_hardware_revision() if on another thread.

    @@ -2203,7 +2265,7 @@ mm_gdbus_modem_get_hardware_revision (

    mm_gdbus_modem_dup_hardware_revision ()

    gchar *
     mm_gdbus_modem_dup_hardware_revision (MmGdbusModem *object);
    -

    Gets a copy of the "HardwareRevision" D-Bus property.

    +

    Gets a copy of the "HardwareRevision" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2232,7 +2294,7 @@ mm_gdbus_modem_dup_hardware_revision (

    mm_gdbus_modem_get_signal_quality ()

    GVariant *
     mm_gdbus_modem_get_signal_quality (MmGdbusModem *object);
    -

    Gets the value of the "SignalQuality" D-Bus property.

    +

    Gets the value of the "SignalQuality" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_signal_quality() if on another thread.

    @@ -2264,7 +2326,7 @@ mm_gdbus_modem_get_signal_quality (

    mm_gdbus_modem_dup_signal_quality ()

    GVariant *
     mm_gdbus_modem_dup_signal_quality (MmGdbusModem *object);
    -

    Gets a copy of the "SignalQuality" D-Bus property.

    +

    Gets a copy of the "SignalQuality" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2293,7 +2355,7 @@ mm_gdbus_modem_dup_signal_quality (

    mm_gdbus_modem_get_sim ()

    const gchar *
     mm_gdbus_modem_get_sim (MmGdbusModem *object);
    -

    Gets the value of the "Sim" D-Bus property.

    +

    Gets the value of the "Sim" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_sim() if on another thread.

    @@ -2325,7 +2387,7 @@ mm_gdbus_modem_get_sim (

    mm_gdbus_modem_dup_sim ()

    gchar *
     mm_gdbus_modem_dup_sim (MmGdbusModem *object);
    -

    Gets a copy of the "Sim" D-Bus property.

    +

    Gets a copy of the "Sim" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2351,11 +2413,100 @@ mm_gdbus_modem_dup_sim ( +

    mm_gdbus_modem_dup_sim_slots ()

    +
    gchar **
    +mm_gdbus_modem_dup_sim_slots (MmGdbusModem *object);
    +

    Gets a copy of the "SimSlots" D-Bus property.

    +

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    +

    [skip]

    +
    +

    Parameters

    +

    storage

    A MMSmsStorage specifying where to store the SMS, or -MM_SMS_STORAGE_UNKNOWN to use the default.

    A MMSmsStorage specifying where to store the SMS, or +MM_SMS_STORAGE_UNKNOWN to use the default.

     

    storage

    A MMSmsStorage specifying where to store the SMS, or -MM_SMS_STORAGE_UNKNOWN to use the default.

    A MMSmsStorage specifying where to store the SMS, or +MM_SMS_STORAGE_UNKNOWN to use the default.

     
    -MMSmsValidityType +MMSmsValidityType mm_sms_properties_get_validity_type () @@ -190,7 +190,7 @@
    -MMSmsCdmaTeleserviceId +MMSmsCdmaTeleserviceId mm_sms_properties_get_teleservice_id () @@ -206,7 +206,7 @@
    -MMSmsCdmaServiceCategory +MMSmsCdmaServiceCategory mm_sms_properties_get_service_category () @@ -619,7 +619,7 @@ mm_sms_properties_set_smsc (

    mm_sms_properties_get_validity_type ()

    -
    MMSmsValidityType
    +
    MMSmsValidityType
     mm_sms_properties_get_validity_type (MMSmsProperties *self);

    Gets the relative validity type the SMS.

    @@ -639,7 +639,7 @@ mm_sms_properties_get_validity_type (

    Since: 1.0

    @@ -695,7 +695,7 @@ mm_sms_properties_set_validity_relative

    validity

    The validity of MM_SMS_VALIDITY_TYPE_RELATIVE type.

    The validity of MM_SMS_VALIDITY_TYPE_RELATIVE type.

     

    a MMModemLock.

    a MMModemLock.

     

    a MMModemLock.

    a MMModemLock.

     
    +gchar ** + +mm_gdbus_modem_dup_sim_slots () +
    const gchar *const * + +mm_gdbus_modem_get_sim_slots () +
    +guint + +mm_gdbus_modem_get_primary_sim_slot () +
    GVariant * @@ -714,6 +737,30 @@ void +mm_gdbus_modem_call_set_primary_sim_slot () +
    +gboolean + +mm_gdbus_modem_call_set_primary_sim_slot_finish () +
    +gboolean + +mm_gdbus_modem_call_set_primary_sim_slot_sync () +
    +void + mm_gdbus_modem_call_command ()
    Read / Write
    guintprimary-sim-slotRead / Write
    char * revisionRead / Write
    GStrvsim-slotsRead / Write
    int state Read / WriteRun Last
    gbooleanhandle-set-primary-sim-slotRun Last
    void state-changed Run Last
    +++++ + + + + + +

    object

    A MmGdbusModem.

     
    +
    +
    +

    Returns

    +

    The property value or NULL if the property is not set. The returned value should be freed with g_strfreev().

    +

    [transfer full][nullable]

    +
    +
    +
    +
    +

    mm_gdbus_modem_get_sim_slots ()

    +
    const gchar *const *
    +mm_gdbus_modem_get_sim_slots (MmGdbusModem *object);
    +

    Gets the value of the "SimSlots" D-Bus property.

    +

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    +

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object + was constructed. Use mm_gdbus_modem_dup_sim_slots() if on another thread.

    +

    [skip]

    +
    +

    Parameters

    +
    +++++ + + + + + +

    object

    A MmGdbusModem.

     
    +
    +
    +

    Returns

    +

    The property value or NULL if the property is not set. Do not free the returned value, it belongs to object +.

    +

    [transfer none][nullable]

    +
    +
    +
    +
    +

    mm_gdbus_modem_get_primary_sim_slot ()

    +
    guint
    +mm_gdbus_modem_get_primary_sim_slot (MmGdbusModem *object);
    +

    Gets the value of the "PrimarySimSlot" D-Bus property.

    +

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    +

    [skip]

    +
    +

    Parameters

    +
    +++++ + + + + + +

    object

    A MmGdbusModem.

     
    +
    +
    +

    Returns

    +

    The property value.

    +
    +
    +
    +

    mm_gdbus_modem_get_supported_capabilities ()

    GVariant *
     mm_gdbus_modem_get_supported_capabilities
                                    (MmGdbusModem *object);
    -

    Gets the value of the "SupportedCapabilities" D-Bus property.

    +

    Gets the value of the "SupportedCapabilities" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_supported_capabilities() if on another thread.

    @@ -2388,7 +2539,7 @@ mm_gdbus_modem_get_supported_capabilities
    GVariant *
     mm_gdbus_modem_dup_supported_capabilities
                                    (MmGdbusModem *object);
    -

    Gets a copy of the "SupportedCapabilities" D-Bus property.

    +

    Gets a copy of the "SupportedCapabilities" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2417,7 +2568,7 @@ mm_gdbus_modem_dup_supported_capabilities

    mm_gdbus_modem_get_state ()

    gint
     mm_gdbus_modem_get_state (MmGdbusModem *object);
    -

    Gets the value of the "State" D-Bus property.

    +

    Gets the value of the "State" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2446,7 +2597,7 @@ mm_gdbus_modem_get_state (guint mm_gdbus_modem_get_state_failed_reason (MmGdbusModem *object); -

    Gets the value of the "StateFailedReason" D-Bus property.

    +

    Gets the value of the "StateFailedReason" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2474,7 +2625,7 @@ mm_gdbus_modem_get_state_failed_reason

    mm_gdbus_modem_get_supported_bands ()

    GVariant *
     mm_gdbus_modem_get_supported_bands (MmGdbusModem *object);
    -

    Gets the value of the "SupportedBands" D-Bus property.

    +

    Gets the value of the "SupportedBands" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_supported_bands() if on another thread.

    @@ -2506,7 +2657,7 @@ mm_gdbus_modem_get_supported_bands (

    mm_gdbus_modem_dup_supported_bands ()

    GVariant *
     mm_gdbus_modem_dup_supported_bands (MmGdbusModem *object);
    -

    Gets a copy of the "SupportedBands" D-Bus property.

    +

    Gets a copy of the "SupportedBands" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2536,7 +2687,7 @@ mm_gdbus_modem_dup_supported_bands (guint mm_gdbus_modem_get_supported_ip_families (MmGdbusModem *object); -

    Gets the value of the "SupportedIpFamilies" D-Bus property.

    +

    Gets the value of the "SupportedIpFamilies" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2564,7 +2715,7 @@ mm_gdbus_modem_get_supported_ip_families

    mm_gdbus_modem_get_supported_modes ()

    GVariant *
     mm_gdbus_modem_get_supported_modes (MmGdbusModem *object);
    -

    Gets the value of the "SupportedModes" D-Bus property.

    +

    Gets the value of the "SupportedModes" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_supported_modes() if on another thread.

    @@ -2596,7 +2747,7 @@ mm_gdbus_modem_get_supported_modes (

    mm_gdbus_modem_dup_supported_modes ()

    GVariant *
     mm_gdbus_modem_dup_supported_modes (MmGdbusModem *object);
    -

    Gets a copy of the "SupportedModes" D-Bus property.

    +

    Gets a copy of the "SupportedModes" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2625,7 +2776,7 @@ mm_gdbus_modem_dup_supported_modes (

    mm_gdbus_modem_get_unlock_required ()

    guint
     mm_gdbus_modem_get_unlock_required (MmGdbusModem *object);
    -

    Gets the value of the "UnlockRequired" D-Bus property.

    +

    Gets the value of the "UnlockRequired" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2653,7 +2804,7 @@ mm_gdbus_modem_get_unlock_required (

    mm_gdbus_modem_get_unlock_retries ()

    GVariant *
     mm_gdbus_modem_get_unlock_retries (MmGdbusModem *object);
    -

    Gets the value of the "UnlockRetries" D-Bus property.

    +

    Gets the value of the "UnlockRetries" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where object was constructed. Use mm_gdbus_modem_dup_unlock_retries() if on another thread.

    @@ -2685,7 +2836,7 @@ mm_gdbus_modem_get_unlock_retries (

    mm_gdbus_modem_dup_unlock_retries ()

    GVariant *
     mm_gdbus_modem_dup_unlock_retries (MmGdbusModem *object);
    -

    Gets a copy of the "UnlockRetries" D-Bus property.

    +

    Gets a copy of the "UnlockRetries" D-Bus property.

    Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

    [skip]

    @@ -2718,7 +2869,7 @@ mm_gdbus_modem_call_enable (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Enable() D-Bus method on proxy +

    Asynchronously invokes the Enable() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -2813,7 +2964,7 @@ mm_gdbus_modem_call_enable_sync (gboolean arg_enable, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Enable() D-Bus method on proxy +

    Synchronously invokes the Enable() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_enable() for the asynchronous version of this method.

    @@ -2864,7 +3015,7 @@ mm_gdbus_modem_call_set_power_state (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the SetPowerState() D-Bus method on proxy +

    Asynchronously invokes the SetPowerState() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -2961,7 +3112,7 @@ mm_gdbus_modem_call_set_power_state_sync guint arg_state, GCancellable *cancellable, GError **error); -

    Synchronously invokes the SetPowerState() D-Bus method on proxy +

    Synchronously invokes the SetPowerState() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_set_power_state() for the asynchronous version of this method.

    @@ -3012,7 +3163,7 @@ mm_gdbus_modem_call_create_bearer (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the CreateBearer() D-Bus method on proxy +

    Asynchronously invokes the CreateBearer() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3116,7 +3267,7 @@ mm_gdbus_modem_call_create_bearer_sync gchar **out_path, GCancellable *cancellable, GError **error); -

    Synchronously invokes the CreateBearer() D-Bus method on proxy +

    Synchronously invokes the CreateBearer() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_create_bearer() for the asynchronous version of this method.

    @@ -3172,7 +3323,7 @@ mm_gdbus_modem_call_delete_bearer (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the DeleteBearer() D-Bus method on proxy +

    Asynchronously invokes the DeleteBearer() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3269,7 +3420,7 @@ mm_gdbus_modem_call_delete_bearer_sync const gchar *arg_bearer, GCancellable *cancellable, GError **error); -

    Synchronously invokes the DeleteBearer() D-Bus method on proxy +

    Synchronously invokes the DeleteBearer() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_delete_bearer() for the asynchronous version of this method.

    @@ -3319,7 +3470,7 @@ mm_gdbus_modem_call_list_bearers (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the ListBearers() D-Bus method on proxy +

    Asynchronously invokes the ListBearers() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3416,7 +3567,7 @@ mm_gdbus_modem_call_list_bearers_sync (gchar ***out_bearers, GCancellable *cancellable, GError **error); -

    Synchronously invokes the ListBearers() D-Bus method on proxy +

    Synchronously invokes the ListBearers() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_list_bearers() for the asynchronous version of this method.

    @@ -3466,7 +3617,7 @@ mm_gdbus_modem_call_reset (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the Reset() D-Bus method on proxy +

    Asynchronously invokes the Reset() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3555,7 +3706,7 @@ is set.

    mm_gdbus_modem_call_reset_sync (MmGdbusModem *proxy, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Reset() D-Bus method on proxy +

    Synchronously invokes the Reset() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_reset() for the asynchronous version of this method.

    @@ -3601,7 +3752,7 @@ mm_gdbus_modem_call_factory_reset (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the FactoryReset() D-Bus method on proxy +

    Asynchronously invokes the FactoryReset() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3698,7 +3849,7 @@ mm_gdbus_modem_call_factory_reset_sync const gchar *arg_code, GCancellable *cancellable, GError **error); -

    Synchronously invokes the FactoryReset() D-Bus method on proxy +

    Synchronously invokes the FactoryReset() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_factory_reset() for the asynchronous version of this method.

    @@ -3749,7 +3900,7 @@ mm_gdbus_modem_call_set_current_modes (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the SetCurrentModes() D-Bus method on proxy +

    Asynchronously invokes the SetCurrentModes() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3846,7 +3997,7 @@ mm_gdbus_modem_call_set_current_modes_sync GVariant *arg_modes, GCancellable *cancellable, GError **error); -

    Synchronously invokes the SetCurrentModes() D-Bus method on proxy +

    Synchronously invokes the SetCurrentModes() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_set_current_modes() for the asynchronous version of this method.

    @@ -3897,7 +4048,7 @@ mm_gdbus_modem_call_set_current_bands (GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the SetCurrentBands() D-Bus method on proxy +

    Asynchronously invokes the SetCurrentBands() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -3994,7 +4145,7 @@ mm_gdbus_modem_call_set_current_bands_sync GVariant *arg_bands, GCancellable *cancellable, GError **error); -

    Synchronously invokes the SetCurrentBands() D-Bus method on proxy +

    Synchronously invokes the SetCurrentBands() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_set_current_bands() for the asynchronous version of this method.

    @@ -4046,7 +4197,7 @@ mm_gdbus_modem_call_set_current_capabilities GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

    Asynchronously invokes the SetCurrentCapabilities() D-Bus method on proxy +

    Asynchronously invokes the SetCurrentCapabilities() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -4143,7 +4294,7 @@ mm_gdbus_modem_call_set_current_capabilities_sync guint arg_capabilities, GCancellable *cancellable, GError **error); -

    Synchronously invokes the SetCurrentCapabilities() D-Bus method on proxy +

    Synchronously invokes the SetCurrentCapabilities() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_set_current_capabilities() for the asynchronous version of this method.

    @@ -4187,6 +4338,155 @@ is set.


    +

    mm_gdbus_modem_call_set_primary_sim_slot ()

    +
    void
    +mm_gdbus_modem_call_set_primary_sim_slot
    +                               (MmGdbusModem *proxy,
    +                                guint arg_sim_slot,
    +                                GCancellable *cancellable,
    +                                GAsyncReadyCallback callback,
    +                                gpointer user_data);
    +

    Asynchronously invokes the SetPrimarySimSlot() D-Bus method on proxy +. +When the operation is finished, callback + will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). +You can then call mm_gdbus_modem_call_set_primary_sim_slot_finish() to get the result of the operation.

    +

    See mm_gdbus_modem_call_set_primary_sim_slot_sync() for the synchronous, blocking version of this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    proxy

    A MmGdbusModemProxy.

     

    arg_sim_slot

    Argument to pass with the method invocation.

     

    cancellable

    A GCancellable or NULL.

    [nullable]

    callback

    A GAsyncReadyCallback to call when the request is satisfied or NULL.

     

    user_data

    User data to pass to callback +.

     
    +
    +
    +
    +
    +

    mm_gdbus_modem_call_set_primary_sim_slot_finish ()

    +
    gboolean
    +mm_gdbus_modem_call_set_primary_sim_slot_finish
    +                               (MmGdbusModem *proxy,
    +                                GAsyncResult *res,
    +                                GError **error);
    +

    Finishes an operation started with mm_gdbus_modem_call_set_primary_sim_slot().

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + +

    proxy

    A MmGdbusModemProxy.

     

    res

    The GAsyncResult obtained from the GAsyncReadyCallback passed to mm_gdbus_modem_call_set_primary_sim_slot().

     

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    TRUE if the call succeeded, FALSE if error +is set.

    +

    [skip]

    +
    +
    +
    +
    +

    mm_gdbus_modem_call_set_primary_sim_slot_sync ()

    +
    gboolean
    +mm_gdbus_modem_call_set_primary_sim_slot_sync
    +                               (MmGdbusModem *proxy,
    +                                guint arg_sim_slot,
    +                                GCancellable *cancellable,
    +                                GError **error);
    +

    Synchronously invokes the SetPrimarySimSlot() D-Bus method on proxy +. The calling thread is blocked until a reply is received.

    +

    See mm_gdbus_modem_call_set_primary_sim_slot() for the asynchronous version of this method.

    +
    +

    Parameters

    +
    +++++ + + + + + + + + + + + + + + + + + + + + + + +

    proxy

    A MmGdbusModemProxy.

     

    arg_sim_slot

    Argument to pass with the method invocation.

     

    cancellable

    A GCancellable or NULL.

    [nullable]

    error

    Return location for error or NULL.

     
    +
    +
    +

    Returns

    +

    TRUE if the call succeeded, FALSE if error +is set.

    +

    [skip]

    +
    +
    +
    +

    mm_gdbus_modem_call_command ()

    void
     mm_gdbus_modem_call_command (MmGdbusModem *proxy,
    @@ -4195,7 +4495,7 @@ mm_gdbus_modem_call_command (GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);
    -

    Asynchronously invokes the Command() D-Bus method on proxy +

    Asynchronously invokes the Command() D-Bus method on proxy . When the operation is finished, callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). @@ -4303,7 +4603,7 @@ mm_gdbus_modem_call_command_sync (gchar **out_response, GCancellable *cancellable, GError **error); -

    Synchronously invokes the Command() D-Bus method on proxy +

    Synchronously invokes the Command() D-Bus method on proxy . The calling thread is blocked until a reply is received.

    See mm_gdbus_modem_call_command() for the asynchronous version of this method.

    @@ -4423,6 +4723,11 @@ is set.

    GDBusMethodInvocation *invocation, guint arg_state); + gboolean (*handle_set_primary_sim_slot) ( + MmGdbusModem *object, + GDBusMethodInvocation *invocation, + guint arg_sim_slot); + guint (*get_access_technologies) (MmGdbusModem *object); const gchar *const * (*get_bearers) (MmGdbusModem *object); @@ -4465,12 +4770,16 @@ is set.

    const gchar * (*get_primary_port) (MmGdbusModem *object); + guint (*get_primary_sim_slot) (MmGdbusModem *object); + const gchar * (*get_revision) (MmGdbusModem *object); GVariant * (*get_signal_quality) (MmGdbusModem *object); const gchar * (*get_sim) (MmGdbusModem *object); + const gchar *const * (*get_sim_slots) (MmGdbusModem *object); + gint (*get_state) (MmGdbusModem *object); guint (*get_state_failed_reason) (MmGdbusModem *object); @@ -4565,6 +4874,11 @@ is set.

      +

    handle_set_primary_sim_slot ()

    +

    Handler for the “handle-set-primary-sim-slot” signal.

    +  + +

    get_access_technologies ()

    Getter for the “access-technologies” property.

      @@ -4670,6 +4984,11 @@ is set.

      +

    get_primary_sim_slot ()

    +

    Getter for the “primary-sim-slot” property.

    +  + +

    get_revision ()

    Getter for the “revision” property.

      @@ -4685,6 +5004,11 @@ is set.

      +

    get_sim_slots ()

    +

    Getter for the “sim-slots” property.

    +  + +

    get_state ()

    Getter for the “state” property.

      @@ -4739,7 +5063,7 @@ is set.

    The “access-technologies” property

      “access-technologies”      guint
    -

    Represents the D-Bus property "AccessTechnologies".

    +

    Represents the D-Bus property "AccessTechnologies".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4749,7 +5073,7 @@ is set.

    The “bearers” property

      “bearers”                  GStrv
    -

    Represents the D-Bus property "Bearers".

    +

    Represents the D-Bus property "Bearers".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4758,7 +5082,7 @@ is set.

    The “carrier-configuration” property

      “carrier-configuration”    char *
    -

    Represents the D-Bus property "CarrierConfiguration".

    +

    Represents the D-Bus property "CarrierConfiguration".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4768,7 +5092,7 @@ is set.

    The “carrier-configuration-revision” property

      “carrier-configuration-revision” char *
    -

    Represents the D-Bus property "CarrierConfigurationRevision".

    +

    Represents the D-Bus property "CarrierConfigurationRevision".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4778,7 +5102,7 @@ is set.

    The “current-bands” property

      “current-bands”            GVariant *
    -

    Represents the D-Bus property "CurrentBands".

    +

    Represents the D-Bus property "CurrentBands".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4789,7 +5113,7 @@ is set.

    The “current-capabilities” property

      “current-capabilities”     guint
    -

    Represents the D-Bus property "CurrentCapabilities".

    +

    Represents the D-Bus property "CurrentCapabilities".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4799,7 +5123,7 @@ is set.

    The “current-modes” property

      “current-modes”            GVariant *
    -

    Represents the D-Bus property "CurrentModes".

    +

    Represents the D-Bus property "CurrentModes".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4810,7 +5134,7 @@ is set.

    The “device” property

      “device”                   char *
    -

    Represents the D-Bus property "Device".

    +

    Represents the D-Bus property "Device".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4820,7 +5144,7 @@ is set.

    The “device-identifier” property

      “device-identifier”        char *
    -

    Represents the D-Bus property "DeviceIdentifier".

    +

    Represents the D-Bus property "DeviceIdentifier".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4830,7 +5154,7 @@ is set.

    The “drivers” property

      “drivers”                  GStrv
    -

    Represents the D-Bus property "Drivers".

    +

    Represents the D-Bus property "Drivers".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4839,7 +5163,7 @@ is set.

    The “equipment-identifier” property

      “equipment-identifier”     char *
    -

    Represents the D-Bus property "EquipmentIdentifier".

    +

    Represents the D-Bus property "EquipmentIdentifier".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4849,7 +5173,7 @@ is set.

    The “hardware-revision” property

      “hardware-revision”        char *
    -

    Represents the D-Bus property "HardwareRevision".

    +

    Represents the D-Bus property "HardwareRevision".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4859,7 +5183,7 @@ is set.

    The “manufacturer” property

      “manufacturer”             char *
    -

    Represents the D-Bus property "Manufacturer".

    +

    Represents the D-Bus property "Manufacturer".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4869,7 +5193,7 @@ is set.

    The “max-active-bearers” property

      “max-active-bearers”       guint
    -

    Represents the D-Bus property "MaxActiveBearers".

    +

    Represents the D-Bus property "MaxActiveBearers".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4879,7 +5203,7 @@ is set.

    The “max-bearers” property

      “max-bearers”              guint
    -

    Represents the D-Bus property "MaxBearers".

    +

    Represents the D-Bus property "MaxBearers".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4889,7 +5213,7 @@ is set.

    The “model” property

      “model”                    char *
    -

    Represents the D-Bus property "Model".

    +

    Represents the D-Bus property "Model".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4899,7 +5223,7 @@ is set.

    The “own-numbers” property

      “own-numbers”              GStrv
    -

    Represents the D-Bus property "OwnNumbers".

    +

    Represents the D-Bus property "OwnNumbers".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4908,7 +5232,7 @@ is set.

    The “plugin” property

      “plugin”                   char *
    -

    Represents the D-Bus property "Plugin".

    +

    Represents the D-Bus property "Plugin".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4918,7 +5242,7 @@ is set.

    The “ports” property

      “ports”                    GVariant *
    -

    Represents the D-Bus property "Ports".

    +

    Represents the D-Bus property "Ports".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write

    @@ -4929,7 +5253,7 @@ is set.

    The “power-state” property

      “power-state”              guint
    -

    Represents the D-Bus property "PowerState".

    +

    Represents the D-Bus property "PowerState".

    Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

    Owner: MmGdbusModem

    Flags: Read / Write