aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-24base-sms: don't clear parts on send/store errorAleksander Morgado
The part generation logic is independent to whether the SMS send or store operation failed, so just avoid doing the parts cleanup. E.g. if we created the parts for store() but storing failed, the same parts could still be used for send() successfully.
2022-07-24base-sms: fix segfault when storing already sent messagesAleksander Morgado
The internal list of parts in the base SMS object is created either when the message is sent or when the message is stored. The daemon should not expect the list of SMS parts to be empty upon a store() operation requested via DBus, as the list of parts may have already been created during send(). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/598
2022-07-20sierra: disable CPOL in the GL7600Dan Carpenter
Similar to the EM7345 (also from Sierra Wireless), the GL7600 becomes unresponsive after using "AT+CPOL?". Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/595
2022-07-16broadband-modem: don't make fatal SIM swap check of IMSI or ICCIDAleksander Morgado
If the SIM swap check using ICCID or IMSI fail, don't completely fail the operation, as the other one may still succeed. Fail the operation only if both checks failed.
2022-07-16broadband-modem: plug leaks in sim_swap_context_free()Aleksander Morgado
2022-07-16shared-qmi: improve logging of steps in SIM hot swap setupAleksander Morgado
2022-07-16shared-qmi: only transfer state to priv info if SIM hotswap setup succeedsAleksander Morgado
Don't transfer state to the private info until we know the operation has fully succeeded.
2022-07-16shared-qmi: move indication callbacks out of the SIM hot swap setupAleksander Morgado
2022-07-16shared-qmi: return error if none of the methods succeeded in SIM hot swap setupAleksander Morgado
2022-07-16shared-qmi: avoid jumps in the SIM hot swap setup state machineAleksander Morgado
Always transition to the next step, and decide what to do based on the state tracked by the previously run steps.
2022-07-16shared-qmi: make refresh all non-fatal during SIM hot swap setupAleksander Morgado
If for any reason "Refresh all" fails, don't return an error, as we may have already configured SIM slot status correctly.
2022-07-16shared-qmi: add slot status indication in its own step during SIM hot swap setupAleksander Morgado
2022-07-16shared-qmi: add slot status check in its own step during SIM hot swap setupAleksander Morgado
Also, don't make the "Get Slot Status" operation fatal; just go on assuming that the slot status indications are unsupported.
2022-07-16shared-qmi: new step in SIM hot swap setup to connect to refresh signalAleksander Morgado
Instead of connecting to the signal in multiple places, do it in one single place in the logic.
2022-07-16mm-iface-modem,mm-broadband-modem,mm-shared-qmi: support SIM IMSI switchPrakash Pabba
It is possible that SIM IMSI might change in roaming conditions for a sim. Register for UIM refresh indication always and reprobe if ICCID or IMSI changes for QMI modem.
2022-07-16api,tags: fix typo in ID_MM_PORT_TYPE_AT_GPS_CONTROL docAleksander Morgado
2022-07-16docs: add missing reference to ID_MM_PORT_TYPE_AT_GPS_CONTROLAleksander Morgado
2022-07-16po: update after source file renameAleksander Morgado
2022-07-16mm-call-qmi: implement DTMF supportDylan Van Assche
Overwrite the base class with a QMI implementation to send DTMF characters during a call. Uses the continuous DTMF QMI messages to support both CDMA and 3GPP networks.
2022-07-16mm-call-qmi: drop unnecessary white spaceDylan Van Assche
2022-07-16mm-call-qmi: fix comment consistencyDylan Van Assche
Do not use caps for 'call'
2022-07-15iface-modem-3gpp-profile-manager: add default index_fieldDaniele Palmas
If check_support functions are not defined when implementing iface-modem-3gpp-profile-manager, set "profile-id" as default index_field.
2022-07-15mm-iface-modem-3gpp-profile-manager: do not override Bearer 3gpp profile ↵Carlo Lobrano
properties during connection When connecting via AT commands requiring a 3gpp profile with undefined profile-id, the corresponding bearer 3gpp profile is later modified adding the selected PDP context. For this reason when a next connection is requested with the same properties (that is no profile-id) the already existing bearers is not selected because of the different profile-id value and a new one is created. This change lets the connection logic use a copy of the user-requested bearer's 3gpp profile which can be modified for the logic needs, but it is not stored and then does not compromise a bearer comparison in a next connection request.
2022-07-15mm-iface-modem-3gpp-profile-manager: do not try to deactivate unused profileCarlo Lobrano
'mm_3gpp_profile_list_find_best' can return an unused profile ID, which is later tested for being already activated in 'profile_manager_check_activated_profile_ready' with +GCACT?. Since the profile does not exist, this check always fails, but the profile manager still tries to deactivate it, which is unnecessary. This change checks the return error from 'check_activated_profile' and skips SET_PROFILE_STEP_DEACTIVATE_PROFILE step if error is MM_CORE_ERROR_NOT_FOUND.
2022-07-14mbim: Make use of uim qmi service if availableUlrich Mohr
2022-07-14mm-sim-qmi: use shared qmi interface instead of using qmi modem class directlyUlrich Mohr
2022-07-14foxconn: updating the T77W968 carrier mapping tableFanice Luo
add new MCCMNC of EE UK(23430,23431,23432,23433,23434,23476,23501,23502,23577) add new MCCMNC of ATT(310650,310980,90118) add new MCCMNC of Verizon(312770) add new MCCMNC of Vodafone(46601,46603) add new MCCMNC of Orange(21409,23105,26005)
2022-07-12dell: Add DW5829e(T77W968) modulesFanice Luo
add new device(0x413c:0x81e4 0x413c:0x81e6)
2022-07-11fibocom: Ignore +SIM READY URCSven Schwermer
This URC is emitted when the SIM phonebook is initialized. We don't care about that but don't want this URC to mess with the initialization sequence either. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-07-08fibocom: Add alternative MA510 USB configSven Schwermer
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-07-08fibocom: Add alternative L610 USB configSven Schwermer
This is the factory-default setting. Make sure to support it as well as the ECM/RNDIS settings. The L610 in GTUSBMODE=31 only enumerates with serial USB interfaces using the option driver, so we need to allow that driver too. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-07-06mm-bearer-mbim: ignore mbim status error 'SIM not inserted' while disconnectingJack Song
Ignore the error SIM_NOT_INSERTED when ModemManager disable modem after SIM card removed Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/578
2022-06-30port-mbim: monitor consecutive timeoutsAleksander Morgado
2022-06-30port-qmi: monitor consecutive timeoutsAleksander Morgado
2022-06-30base-modem: setup timeout monitoring in all control portsAleksander Morgado
If any of the control ports ends up timing out 10 consecutive times, the modem will be flagged as invalid and it will be reprobed from scratch. This allows us to detect modems that end up irresponsive in QMI or MBIM while they're still exposed in e.g. the USB bus.
2022-06-30port: make 'timed-out' a signal for all port types, not just serialAleksander Morgado
2022-06-28fibocom: Fix GTRNDIS parsing functionSven Schwermer
This fixes a bug introduced in a2a0e2d754. Since the state pointer is always non-NULL, the function will always fail if GTRNDIS is inactive, i.e. the modem will return state=0 and no cid field. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-06-27fibocom: ensure RNDIS disconnected before a new connection attemptSven Schwermer
The ECM dialling guide requires to check whether RNDIS is already active before attempting to establish an ECM/RNDIS connection. If it is active (regardless of its settings), we will disconnect it first, before attempting the new connection with the user-provided settings. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-06-27mm-sms-part-3gpp: sms_decode_text: avoid decoding an empty text messageDmitry Skorykh
Fix segfault that can occur during message text decoding if there are no elements in SMS text
2022-06-24build,meson: require libqmi 1.31.7, in sync with autotoolsAleksander Morgado
The required libqmi version was updated in configure.ac to 1.31.7 in commit ac06052b97cc02e60ae1ed7a551727b3c14d6a22, but we forgot to do the same in the meson setup.
2022-06-22telit:broadband-mbim: save MBIM originated revision into ↵Carlo Lobrano
software_package_version Currently, MBIM broadband Telit modem does not store firmware revision into 'software_package_version', so it won't be possible to specialize behavior based on modem model (using mm_telit_model_from_revision). This change overloads load-revision in MBIM broadband Telit in order to call parent's loading and store the returned 'caps_firmware_info' into 'software_package_version' via mm_shared_telit_store_revision.
2022-06-22telit: add function to store revisionCarlo Lobrano
2022-06-19telit: add support for QCDM portsDaniele Palmas
The new QCDM probing mechanism does not probe and grab QCDM ports if the plugin is not allowed, so QCDM ports currently ignored in compositions can be safely marked as ID_MM_PORT_TYPE_QCDM.
2022-06-19plugins: add MM_PLUGIN_REQUIRED_QCDM to plugins requiring QCDMDaniele Palmas
The new QCDM port probing and grabbing mechanism implements a new property for detecting the plugins which require the QCDM port to be probed and grabbed. Add the property to the affected plugins.
2022-06-19port-probe: avoid QCDM port probing if not for specific pluginsDaniele Palmas
The QCDM/DIAG port is usually nowadays exclusively used by applications gathering traces from the modem, so avoid port probing and grabbing when plugins set the property MM_PLUGIN_ALLOWED_QCDM. A new property MM_PLUGIN_REQUIRED_QCDM is created for those plugins requiring the QCDM port for properly using a modem.
2022-06-19broadband-bearer: Save profile ID upon successful connectionSven Schwermer
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-06-09mm-broadband-modem-qmi: set endc_available as false by defaultPrakash Pabba
2022-06-09plugins,telit: do not crash if revision is not setCarlo Lobrano
In mm_telit_model_from_revision there is nothing that prevents to use the input revision string if it is NULL, which currently happens if the modem is pure MBIM (i.e. LE910-V2 pid:0x0032). Fix the above error returning a default safe value and not using the NULL variable.
2022-06-09suspend: add suspend/resume support with powerd on ChromeOSRukun Mao
ModemManager handles suspend and resume signals sent from powerd Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/547
2022-05-30fcc-unlock: add support for new Lenovo T99W175 SDX55 FCC unlock methodThilo-Alexander Ginkel
Tested w/ Lenovo firmware T99W175.F0.1.0.0.9.DT.003.055 (old unlock method) and T99W175.F0.1.0.0.9.DT.003.079 (new unlock method)