aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-12-01Revert "base-manager: add support to put modem in low power mode during suspend"mainAleksander Morgado
This reverts commit 23033217de26fb91734fed3b999173f151195040. This was mixed up in the wrong branch.
2023-12-01base-manager: add support to put modem in low power mode during suspendAleksander Morgado
Based on an earlier approach from Jack Song and Nero Zhang, see https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1050
2023-12-01broadband-modem: set read sms timeout to 120sPetr Krasnoshchekov
A7600E-H prints read sms response very slow. Having a lot of SMS can lead to timeout expiration and errors during next requests
2023-12-01simtech: add port type hints for A7600E-H, A7602E-HPetr Krasnoshchekov
2023-12-01simtech: ignore +CPIN: READY URC on startupPetr Krasnoshchekov
A7600E-H sends +CPIN: URC on startup. The URC can be treated by ModemManager as a response to other command, what leads to errors during ModemManager initialization
2023-12-01simtech: ignore PB DONE, SMS DONE, +NITZ: URCsPetr Krasnoshchekov
2023-12-01simtech: implement reset for A7600E-H/A7602E-HPetr Krasnoshchekov
2023-12-01base-sim: increase operator identifier loading timeoutPetr Krasnoshchekov
SIMCOM A760xE-H modems can answer to AT+CRSM=176,28589,0,0,4 request in 10s or more, so use rather big timeout (20s)
2023-12-01modem-helpers: improve CGDCONT read response parsingPetr Krasnoshchekov
SIM A7600E-H sends only 3 parameters in CGDCONT read response (+CGDCONT: 1,"IP","nate.sktelecom.com"). The parsing regex requeres 4 parameters, so the response is not matched. In addition fourth parameter is not used by parsing code.
2023-12-01broadband-modem-mbim: plug leak when facility pin query failsAleksander Morgado
2023-12-01iface-modem: allow cancellability during unlock required checksAleksander Morgado
The process doing the unlock required checks may need a lot of retries e.g. to decide whether a SIM card is available or not. If we do a quick SIM eject, so the unlock required check starts looping, and then insert the SIM again, we expect the loop to be cancelled right away, so that the new modem object can be reprobed without any interference from the old modem object. We now take the modem-wide cancellable and bind it to the GTask in mm_iface_modem_update_lock_info(), and we pass it down to every sub-step of the async logic in the operation. We also plug the cancellable to the delayed retries in the interface logic, to allow aborting the checks right away
2023-11-30broadband-modem-mbim: fix detection of SIM hot swapMichal Mazur
Previous patch for hotswap detection caused the modem to be reprobed after unlocking or changing PIN for SIM card lock (commit 7b878765c6c8). This change allows to differentiate between hotswap and PIN lock events.
2023-11-28bearer-mbim: warn and workaround wrong link prefix length in static IPv6 configAleksander Morgado
Seems to happen with e.g. the Fibocom FM350: # mmcli -b 2 ------------------------------------ IPv6 configuration | method: static | address: 2607:fb90:dd16:d38a:ac39:89f1:67a7:5a9d | prefix: 128 | gateway: 2607:fb90:dd16:d38a:ac39:89f1:67a7:5a01 | dns: fd00:976a::9, fd00:976a::10 | mtu: 1436
2023-11-16bearer-mbim: remove unused property nameAleksander Morgado
2023-11-16broadband-modem-mbim: signal notification id is a gulongAleksander Morgado
2023-11-08broadband-modem-mbim: skip modem reprobe when unlocking SIM cardMichal Mazur
Removed code was introduced as a part of carrier lock support but it affects also unlocking SIM card locks which is incorrect. (carrier lock support commit: e3a1206c57db685065dfd0eb4efae5083dd5cef5)
2023-11-06mtk: add FM350 specific MBIM implementationAleksander Morgado
Including logic to set low power mode during an EPS initial bearer settings update.
2023-11-06mtk: add MTK specific MBIM implementationAleksander Morgado
Basically to flag that we don't support QMI explicitly, so that it's not even attempted.
2023-11-06mtk: flag FM350 as not supporting multiplexingAleksander Morgado
There is no released firmware version with proper support for multiplexing yet.
2023-11-06mtk-legacy: rename label in udev rulesAleksander Morgado
2023-10-31build: fix single-plugin build for mtkAleksander Morgado
2023-10-30mtk: remove support for the udev rules testerAleksander Morgado
There are no udev rules in the new mtk plugin for now.
2023-10-30mtk-legacy: rename port type hints rules fileAleksander Morgado
These rules apply to modems managed by the mtk-legacy plugin.
2023-10-30mtk: add mtk plugin which support mbim interfaceming-pei.hsu
Add MTK plugin for mtk_t7xx platform which support MBIM interface.
2023-10-27broadband-modem-mbim: fix crash with missing ICCIDAleksander Morgado
Output fields like ICCID or IMSI are optional in MBIM Subscriber Ready Status v3 operations. We should not assume they are set to a valid value when the operation succeeds. 2023-10-27T10:24:16.512461Z <inf> [modem0] started checking for basic SIM details... 2023-10-27T10:24:16.516104Z <err> mm_3gpp_parse_iccid: assertion 'raw_iccid != NULL' failed
2023-10-27mm-port-probe: Invoke the mm_port_qmi_open function with a GCancellable objectMadhav
Ensure that the cdc-wdm port probing task is canceled if the modem drops off the bus before the task completes. This prevents the task from preventing other port probing tasks from starting.
2023-10-27modem-helpers-qmi: avoid "ip-version-mismatch" error if possibleAleksander Morgado
Based on the WDS client being connected, we'll convert this error into "IPv4 only allowed" or "IPv6 only allowed".
2023-10-27modem-helpers-qmi: translate QMI internal verbose call reason into MM errorsAleksander Morgado
Just a few key translations for now.
2023-10-27core: ensure all errors returned in DBus operations are normalizedAleksander Morgado
We want to ensure that all errors reported via DBus operations are normalized to MM-specific errors. We don't want to return QMI or MBIM specific errors, as those are protocol specific and we don't want DBus clients to need to rely on knowing which is the protocol in use by the device.
2023-10-27base-bearer: normalize connection error exposed in DBusAleksander Morgado
The connection error exposed in the DBus interface should be an error defined in the ModemManager API, and therefore it should be normalized before being exposed. This was already being done by limiting the exposure to MM specific errors, but now we also try to normalize QMI or MBIM errors into MM specific ones.
2023-10-27api,errors: new MMCarrierLockError typeAleksander Morgado
This new error type will be used to report errors in the carrier lock operations performed through ModemManager. They have a one to one mapping to the MBIM status specific errors.
2023-10-26modem-helpers-qmi: register QMI error translationsAleksander Morgado
We register translations for QMI core and QMI protocol errors. These translations are a best-effort, and they are not meant to be exhaustive. The original error description is included in the translated GError, so that the details of the issue are not lost.
2023-10-26modem-helpers-qmi: group error translation methods togetherAleksander Morgado
2023-10-26modem-helpers-qmi: minor method renameAleksander Morgado
2023-10-26modem-helpers-mbim: register MBIM error translationsAleksander Morgado
We register translations for MBIM core, MBIM protocol and MBIM status errors. These translations are a best-effort, and they are not meant to be exhaustive. The original error description is included in the translated GError, so that the details of the issue are not lost.
2023-10-26modem-helpers-mbim: move error translation methodAleksander Morgado
Moved to the end of the file, we'll add all new error translations together.
2023-10-26modem-helpers-mbim: minor method renameAleksander Morgado
2023-10-26error-helpers: allow registering error mappingsAleksander Morgado
E.g. from QMI/MBIM errors into MM errors.
2023-10-26core,error-helpers: new method to normalize GErrorsAleksander Morgado
The ModemManager API should not expose or return error types out of the error domains it supports. Default to a generic core error "Failed", while keeping the original error description.
2023-10-25core,error-helpers: fix formatting in ME error stringsAleksander Morgado
2023-10-19mm-port-probe: Invoke the mm_port_mbim_open function with a GCancellable objectMadhav
After the modem recovers, the ports are up but not yet responsive. When MM tries to probe the ports, they do not respond. As a result, the probing tasks are left ongoing, waiting for a response from the modem. If the modem drops off the bus for any reason, the cdc-wdm port probing task is not immediately canceled. This patch fixes this issue by passing a cancellable object to mm_port_mbim_open(). In other words, the patch ensures that the cdc-wdm port probing task is canceled if the modem drops off the bus before the task completes. This prevents the task from preventing other port probing tasks from starting.
2023-10-18quectel: coding style fixesAleksander Morgado
2023-10-18quectel: avoid incorrect module version report after the upgrademank.wang
After LVFS upgrade, the module needs to be restarted. ModemManager queries the module information, sometimes the module is not ready, and the information queried by "mmcli -m any --firmware-status" is incomplete, It is now modified to re query once per second when obtaining incomplete versions, up to a maximum of 16 times. Signed-off-by: mank.wang <mank.wang@quectel.com>
2023-10-18broadband-modem-mbim: reprobe modem and update SIM info after ↵Rukun Mao
"nonInitialized" error When the subscriber ready status notification's ready state becomes "initialized" from "nonInitialized", it indicates a new SIM is inserted, for which a modem reprobe is needed.
2023-10-18fibocom: Added support for firmware objectsPuliang Lu
Added load_update_settings, load_update_settings_finish Add support for fastboot flash
2023-10-18iface-modem-3gpp-profile-manager: throttle emission of the "updated" signalAleksander Morgado
Emit the "Updated" signal max one time per 2 seconds, even if we get many more notifications from the modem during that time.
2023-10-18mm-broadband-modem-mbim: Enable PROCESS_NOTIFICATION_FLAG_SLOT_INFO_STATUS ↵Madhav
during sim hot swap setup Add PROCESS_NOTIFICATION_FLAG_SLOT_INFO_STATUS to enable and setup flags, this should help SIM detection on inactive slots when the modem is in a failed state. This helps fix the following scenario, If a physical SIM card (pSIM) is inserted into a device that is currently using its eSIM slot, but does not have any eSIM profiles installed, the pSIM will not be detected.
2023-10-17ublox: remove ID_MM_PROCESS tagsAleksander Morgado
The ID_MM_PROCESS tag should be set by the user when using the allowlist filter, we must not ship any device flagged by default with that tag. Moreover, the two ENV actions in a single rule is something not currently supported by the builtin udev rule parser that is used in systems without udev (e.g. openwrt). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/779
2023-10-12quectel: add support for RM520NRobert Marko
RM520N in USB mode exposes the following: ttyUSB0 (if #0): QCDM/DIAG port ttyUSB1 (if #1): GPS data port ttyUSB2 (if #2): AT primary port ttyUSB3 (if #3): AT secondary port So, lets mark them so ModemManager can properly manage them. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2023-10-11ModemManager: Add force option to set initial EPS bearer settingsUjjwal Pande
Adding a new force option to force send initial EPS bearer settings to modem even if they match the existing ones. Currently settings are not sent to the modem if they match old settings