aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-28broadband-modem-qmi: avoid the deprecated ↵Aleksander Morgado
QmiMessageDmsGetStoredImageInfoInput type
2022-02-28shared-qmi: use the new QmiSlotEidElement typeAleksander Morgado
This type was introduced to avoid having GArrays of GArrays in libqmi.
2022-02-28shared-qmi: avoid the deprecated QmiConfigTypeAndId typeAleksander Morgado
This type was a JSON description bug in libqmi, it should have never been a struct by itself. This was changed in libqmi by the 1.31.3 snapshot, so let's use the new methods instead of the deprecated ones.
2022-02-28build: require libqmi 1.31.3Aleksander Morgado
In order to use the new methods that avoid intermediate structs like QmiConfigTypeAndId.
2022-02-25fcc-unlock: Make scripts POSIX shell compatibleSven Schwermer
This allows us to not rely on bash which may not be available on constrained systems, e.g. Yocto-built embedded systems. The scripts now pass shellcheck. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-02-19fibocom: remove executable bit from rules fileguihkx
This silents a warning given by udev: Configuration file /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules is marked executable. Please remove executable permission bits. Proceeding anyway.
2022-02-17broadband-modem-mbim: include puk locks in facilitiesMichal Mazur
The MBIM command PIN LIST returns only status of pin locks and omits puk-locked facilities. This caused the pop-up window for unlocking PUK is not shown after reboot. Currenty active PUK lock has to be obtained using additional call for PIN command but only single facility is supported this way.
2022-02-17modem-helpers-mbim: add pin type to 3gpp facility converterMichal Mazur
2022-02-17charsets: set error if UTF-8 validation failsAleksander Morgado
Otherwise, mm_modem_charset_bytearray_to_utf8() may return NULL without error set, and that will trigger a crash in the caller. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/511
2022-02-16sim-mbim: report error if decoding EID from APDU response failsAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/510
2022-02-16fibocom: detect ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON on runtimeAleksander Morgado
We won't create a full new different modem object based on whether the ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON tag is found or not. Instead, we always will create the same object type, and detect whether the OFF/ON cycle is required during runtime.
2022-02-16fibocom: initial EPS settings update always available in parentAleksander Morgado
Assume that the method to change the initial EPS bearer settings is always implemented in the parent, so that we can avoid the runtime check. This also fixes the codepath that would happen if the iface_modem_3gpp_parent->set_initial_eps_bearer_settings == NULL condition was valid, as that would end up with a GTask never completed.
2022-02-16fibocom: toggle modem power after attach APNJack Song
When the attach APN settings are changed, the device will go through a radio on -> radio off -> radio on cycle so that the new changes are taken into consideration. This change is done in a Fibocom-specific MBIM modem implementation because it's working around a firmware bug that would prevent for the attach settings to be considered automatically.
2022-02-16iface-modem-signal: polling and thresholds only in effect if modem enabledAleksander Morgado
If the modem is disabled: * Polling is completely halted. * Thresholds are disabled. * The user is allowed to call Setup() or SetupThresholds() to change the settings, even if the actual polling or thresholds setup isn't in effect. When the modem is enabled: * Polling will be started if there is a existing polling rate. * Thresholds will be setup based on the existing threshold settings. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/504
2022-02-16ci: enable gtk-doc in meson buildAleksander Morgado
2022-02-16ci: enable tests in meson buildAleksander Morgado
2022-02-16tools,tests: make test-wrapper.sh.in template executableAleksander Morgado
So that when the meson build does the template replacement, the generated file is also executable and can be used as Exec line in the test DBus service file. Fixes the 'test-stub' unit test in meson.
2022-02-16meson,tests: fix DBus service lookup in test-plugin-genericAleksander Morgado
2022-02-16meson,data: generate test service fileAleksander Morgado
The test service file is used in the test-plugin-generic unit tests, which require the ModemManager daemon to be launched in a private test DBus session.
2022-02-16cli: new --test-session option to use the session busAleksander Morgado
2022-02-15libqcdm, errors: fix format specifier for integerPablo Barciela
2022-02-15libqcdm, errors: Fix argument orderPablo Barciela
2022-02-14build,meson: fix 'export_packages' in GIR setupAleksander Morgado
The 'export_packages' field in the generate_gir() command should include the name of the pkg-config package being exported, not the name of the library file. Without this change, building GIR files depending on the one we provide here would fail as the corresponding .pc file isn't found.
2022-02-14libqcdm,commands: 'const' instead 'static' in 'char' variablePablo Barciela
2022-02-14mm-call-audio-format: avoid redundant conditionPablo Barciela
2022-02-09quectel: add name to device IDsDylan Van Assche
fwupd expects device IDs which are unique for each device and its variants. However, Quectel re-uses the same USB VID & PID among different variants such as EG25, EC25, EC20, etc. Moreover, each variant may have subvariants such as EG25GGB, EG25GGC, EG25AFF, EG25AFX, etc. Add the name of the modem to the device IDs to build more unique device IDs such as USB\VID_2C7C&PID_0125&REV_0001&NAME_EC25GGB.
2022-02-08iface-modem-firmware: expose device id builderDylan Van Assche
Expose the generic device id method as a public API for plugins. Plugins can call this method first and then add their own device ids on top in case the generic ones aren't specific enough like in the case of Quectel modems.
2022-02-08libmm-glib,firmware-update-settings: setter for methodDylan Van Assche
Allow to set the firmware update method even after initialization of the MMFirmwareUpdateSettings object.
2022-02-01sim-mbim: don't crash if SIM IMSI not providedAleksander Morgado
E.g. if we have an eSIM without profiles.
2022-01-31broadband-modem-mbim: treat update in eSIM profiles list as a SIM hotplug eventAleksander Morgado
2022-01-31broadband-modem-mbim: minor alignment fixAleksander Morgado
2022-01-31shared-qmi: filter out modes not currently availableAleksander Morgado
Do not build the mask of "all" modes based only on the supported radio interfaces, also filter out those modes that would not be available based on the current capabilities enabled.
2022-01-31modem-helpers-qmi: multimode devices shouldn't always have 4G/5G only modesAleksander Morgado
In GSM/UMTS+CDMA/EVDO multimode devices, the 4G and 5G mode switching operations are exclusively limited to the capability selection that has LTE+5GNR exclusively. We cannot allow switching to 4G-only, 5G-only or 4G+5G if the current capabilities have GSM/UMTS or CDMA/EVDO. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/503
2022-01-31tests,modem-helpers-qmi: add tests for supported modes loadingAleksander Morgado
2022-01-31modem-helpers-qmi: new helper to build array of supported modesAleksander Morgado
2022-01-31tests,modem-helpers-qmi: add additional tests for supported capabilities loadingAleksander Morgado
Including tests for 5G-only and non-multimode 5G+4G and 5G+4G+3G devices.
2022-01-31tests,modem-helpers-qmi: add tests for supported capabilities loadingAleksander Morgado
2022-01-31modem-helpers-qmi: new helper to build array of supported capabilitiesAleksander Morgado
2022-01-31modem-helpers-qmi: refer explicitly to current capabilities in helper methodAleksander Morgado
The helper method for which we have unit tests available refers exclusively to the current capabilities loading, so rename it to clarify that.
2022-01-31build: version bump to flag existence of new API (sahara fw update)Aleksander Morgado
2022-01-30test-modem-helpers-qmi: add unit test for generic 5g modemPrakash Pabba
2022-01-30test-modem-helpers-qmi: Fix tests for UML290Prakash Pabba
Change due to update in current capabilities loading logic.
2022-01-30mm-shared-qmi,mm-modem-helpers: Fix supported capabilities and modes for ↵Prakash Pabba
multimode device We use capability switching logic exclusively for configuring GSM/UMTS+CDMA/EVDO devices (regardless of whether it has LTE/5GNR or not) to add or remove the GSM/UMTS and CDMA/EVDO capabilities. Based on the same logic, we will allow 4 combinations for GSM/UMTS+CDMA/EVDO+LTE+5GNR device: "GSM/UMTS+CDMA/EVDO+LTE+5GNR", "GSM/UMTS+LTE+5GNR", "CDMA/EVDO+LTE+5GNR" and "LTE+5GNR" Similarly, we will allow 4 combinations for GSM/UMTS+CDMA/EVDO+LTE device: "GSM/UMTS+CDMA/EVDO+LTE", "GSM/UMTS+LTE", "CDMA/EVDO+LTE" and "LTE" And, we will allow 3 combinations for GSM/UMTS+CDMA/EVDO device: "GSM/UMTS+CDMA/EVDO", "GSM/UMTS" and "CDMA/EVDO" Also, supported combination modes should be based on current capabilities and not entirely upon supported radio interfaces. 1) If current capability has "gsm-umts" or "cdma-evdo" or both, do not support 4G only, 5G only, or 4G+5G combination modes 2) If current capability neither has "gsm-umts" nor "cdma-evdo", only support combination modes involving 4G and 5G.
2022-01-30mm-modem-helpers-qmi: Fix current capabilities for multimode devicePrakash Pabba
Keep LTE or 5GNR always in current capabilities if supported by device. Since capability switching logic is exclusively used for configuring GSM/UMTS+CDMA/EVDO devices, decide if to have GSM/UMTS or CDMA/EVDO or both or none when loading current capabilities.
2022-01-30iface-modem: make update_unlock_retries method staticMichal Mazur
2022-01-30sim-mbim,broadband-modem-mbim: store number of remaining attemptsMichal Mazur
On MBIM modems the type of PIN cannot be specified in MBIM_CID_PIN query command and the modem responds only remaining attempts for the currently active lock. If PIN1 is unlocked and user tries to disable (or enable) it, MM won't get an update of remaining attempts in response to PIN Query. This value is returned only after the Set command and MM need to store it in all (pin/puk)_set_(enter/enable/change)_ready functions. Previous solution was to call the mm_iface_modem_update_unlock_retries directly from these functions but it caused the notification to be send too early and invalid number was displayed to user sometimes. Instead of this MM will store numbers of remaining attempts and send them in a single notification from modem_load_unlock_retries.
2022-01-30Revert "mm-sim-mbim: Remove update of remaining attempts"Michal Mazur
This reverts commit 46c5cd8b7279e6139466664f87d744a0553fa1c3.
2022-01-26quectel: add Sahara udev tag to EM05 modemsIvan Mikhanchuk
2022-01-26api,enums: add Sahara firmware update methodIvan Mikhanchuk
2022-01-26mm-kernel-device-helpers: fix memory leakNagi Marupaka
Newly refactored string manipulation function is leaking memory as per our tests. This submission fixes that memory leak.