aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-23NEWS: update for 1.16.0Aleksander Morgado
2021-02-23build: require libqmi 1.28.0Aleksander Morgado
2021-02-23bearer-mbim: IP type may be reported as deactivated and still have IP settingsAleksander Morgado
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
2021-02-17api,introspection: flag as DEPRECATED the 'number' bearer settingAleksander Morgado
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.
2021-02-17libmm-glib,simple-connect-properties: add missing APIs to get/set RM protocolAleksander Morgado
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.
2021-02-17libmm-glib,bearer-properties: consume 'rm-protocol' settingAleksander Morgado
2021-02-15examples: modem-watcher: get rid of global variablesYegor Yefremov
Move the code into the main() routine and pass main_loop as a parameter to the signal handler.
2021-02-15examples: ModemWatcher: convert comments in the doc stringsYegor Yefremov
Move comments under the class and method definitions. Also rework boolean handling.
2021-02-15po: add Hebrew translationYaron Shahrabani
2021-02-15broadband-modem-mbim: detect 5G support in custom data classAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/301
2021-02-14examples: network-scan: enable modem before the network scanYegor Yefremov
Otherwise we get the following exception: Traceback (most recent call last): File "/root/network-scan-python", line 57, in <module> 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)
2021-02-14examples: network-scan: resolve PEP8 issuesYegor Yefremov
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.
2021-02-14device: avoid trying to remove source multiple timesAleksander Morgado
ModemManager[115879]: <debug> [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
2021-02-14context: add test-no-suspend-resume cli parameterDylan Van Assche
Disables suspend/resume support at runtime. This is useful for modems which are never turned off or suspended when the host suspends.
2021-02-13examples,python: ignore scan operation in modems without 3GPP interfaceAleksander Morgado
Traceback (most recent call last): File "/home/aleksander/Development/foss/ModemManager/examples/network-scan-python/./network-scan-python", line 46, in <module> modem3gpp.set_default_timeout(300000) AttributeError: 'NoneType' object has no attribute 'set_default_timeout'
2021-02-13examples,python: fix undefined NameError in modem watcher exampleAleksander Morgado
$ ./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 <module> 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
2021-02-13examples: rework importsYegor Yefremov
Remove unused imports and fix import sorting using isort utility.
2021-02-06filter: add missing reference to rpmsg filterAleksander Morgado
2021-02-05README: add CoC infoAleksander Morgado
2021-02-03broadband-modem-qmi: remove unused variablesAndrew Lassalle
2021-02-03cinterion: remove unused variablesAndrew Lassalle
2021-01-18simtech: fix updating bitmask during gps disablingLukas Senger
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.
2021-01-17core: update copyright years to 2021Aleksander Morgado
2021-01-16doc: skip running gtkdoc-rebase on local install stepAleksander Morgado
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
2021-01-16docs: add 'online-location' referencesAleksander Morgado
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
2021-01-16build: add new RELEASING doc explaining how releases are madeAleksander Morgado
2021-01-16zte: add 1 second delay after sim unlock to avoid IMSI reading issueLouis-Alexis Eyraud
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/306 Signed-off-by: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>
2021-01-15tools: add unit test for test-modemmanager-service.pyFrederic Martinsons
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 <frederic.martinsons@sigfox.com>
2021-01-15docs: add MMBearerPropertiesCmpFlags to ignored listAleksander Morgado
2021-01-11iface-modem: avoid leaking the MmGdbusModem when bearers are updatedAleksander Morgado
See See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302
2021-01-11telit: plug GPS data port leakAleksander Morgado
The _get_port_gps() returns a full reference, use _peek_port_gps() instead. See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302
2021-01-08po: add Finnish translationTimo Jyrinki
Translation by JRfi: https://l10n.gnome.org/vertimus/ModemManager/master/po/fi/
2021-01-08test-sms-part-cdma: fix memory leakAndrew Lassalle
2020-12-21mmcli: don't assume that mm_object_peek_modem or mm_object_get_modem return ↵Frederic Martinsons
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 <frederic.martinsons@sigfox.com>
2020-12-21iface-modem: don't consider charset setup failure as fatal.Frederic Martinsons
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 <frederic.martinsons@sigfox.com>
2020-12-21broadband-modem-qmi: disable signal/access-tech polling if indications enabledAleksander Morgado
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]: <debug> [1606862198.230492] [modem1] signal strength (lte): -79 dBm ModemManager[278759]: <debug> [1606862198.230520] [modem1] signal strength: -79 dBm --> 55% ModemManager[278759]: <debug> [1606862198.230583] [modem1] access technology changed (unknown -> lte) ModemManager[278759]: <debug> [1606862198.230654] [modem1] signal quality updated (55) ModemManager[278759]: <debug> [1606862198.230675] [modem1] periodic signal quality and access technology checks not rescheduled: unneeded or unsupported ModemManager[278759]: <debug> [1606862198.230692] [modem1] periodic signal checks disabled Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/231
2020-12-21broadband-modem-qmi: fix disabling of signal strength eventsAleksander Morgado
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
2020-12-21broadband-modem-qmi: reload initial EPS bearer on data system updatesAleksander Morgado
2020-12-21iface-modem-3gpp: allow requesting the reload of the initial EPS bearerAleksander Morgado
2020-12-21libmm-glib,bearer-properties: allow loose comparisonsAleksander Morgado
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.
2020-12-21iface-modem-3gpp: log requested/updates initial EPS bearer settingsAleksander Morgado
2020-12-21broadband-modem-qmi: implement initial EPS bearer settings loading and settingAleksander Morgado
2020-12-21broadband-modem-qmi: implement initial EPS bearer info loadingAleksander Morgado
2020-12-21broadband-modem-qmi: allocate a generic WDS clientAleksander Morgado
For generic WDS operations not tied to any connection attempt.
2020-12-21build: require libqmi 1.27.3 to support initial EPS managementAleksander Morgado
2020-12-19broadband-modem-mbim: plug memleak when processing USSD in GSM7Aleksander Morgado
2020-12-19altair: make sure parse_vendor_pco_info() always returns an errorAleksander Morgado
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.
2020-12-14cinterion: add AT primary/secondary port type hints for PLS8Aleksander Morgado
2020-12-14cinterion: add QCDM and GPS port type hints for PLS62Aleksander Morgado
2020-12-14cinterion: add PLS83 port type hintsAleksander Morgado