Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
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
|
|
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.
|
|
|
|
|
|
Don't transfer state to the private info until we know the operation
has fully succeeded.
|
|
|
|
|
|
Always transition to the next step, and decide what to do based on the
state tracked by the previously run steps.
|
|
If for any reason "Refresh all" fails, don't return an error, as we
may have already configured SIM slot status correctly.
|
|
|
|
Also, don't make the "Get Slot Status" operation fatal; just go on
assuming that the slot status indications are unsupported.
|
|
Instead of connecting to the signal in multiple places, do it in one
single place in the logic.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
Do not use caps for 'call'
|
|
If check_support functions are not defined when implementing
iface-modem-3gpp-profile-manager, set "profile-id" as default
index_field.
|
|
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.
|
|
'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.
|
|
|
|
|
|
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)
|
|
add new device(0x413c:0x81e4 0x413c:0x81e6)
|
|
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>
|
|
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
|
|
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>
|
|
Ignore the error SIM_NOT_INSERTED when ModemManager disable modem after SIM card removed
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/578
|
|
|
|
|
|
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.
|
|
|
|
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>
|
|
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>
|
|
Fix segfault that can occur during message text decoding if there are no
elements in SMS text
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
|
|
|
|
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.
|
|
ModemManager handles suspend and resume signals sent from powerd
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/547
|
|
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)
|