aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2020-12-13broadband-modem-mbim: ignore MS SAR notifications explicitlyAleksander Morgado
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.
2020-12-03broadband-modem-mbim: Add MM_BROADBAND_MODEM_MBIM_QMI_UNSUPPORTEDTorsten Hilbrich
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
2020-12-01broadband-modem-qmi: fix reporting of signal strength indicationsAleksander Morgado
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
2020-12-01tests: added parse ERROR response testDylan Van Assche
2020-12-01serial-parsers: also match ERROR responses that are not at end of lineDylan Van Assche
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
2020-12-01tests: added parse OK response testDylan Van Assche
2020-12-01serial-parsers: also match OK responses that are not at end of lineDylan Van Assche
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.
2020-11-30introspection: fix Bearer documentationEric Caruso
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.
2020-11-27build: Allow elogind for suspend/resume supportDylan Van Assche
2020-11-26base-sim: Reprobe modem if puk lock is discovered after sending pin1Pavan Holla
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.
2020-11-26base-sim: Reprobe modem if lock status cannot be read after sending pukPavan Holla
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.
2020-11-25huawei: add GPS port type hints for Huawei ME906eThomas Dendale
2020-11-22build: fix build with single pluginsAleksander Morgado
We need to quote arguments with [] so that lists are not expanded as different arguments. Fixes 65560dd8854f01eec1b28587c37d544bfff360d3
2020-11-20base-modem: order ports by name by defaultAleksander Morgado
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().
2020-11-20build: qcom-soc plugin by default disabledAleksander Morgado
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).
2020-11-20qcom-soc: simplify port type hint rulesStephan Gerhold