Age | Commit message (Collapse) | Author |
|
|
|
|
|
Without setting memory to NULL it is possible that ctx->list
point to an unitialized pointer and trig a segfault when we
free it (for example when the firmware list is not supported)
Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
|
|
|
|
Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
Includes updates by Aleksander Morgado to fix coding style issues.
|
|
It stores the epoch timestamp of the current bearer session start.
If there is no connected bearer, it is set to 0 and not displayed
in mmcli output.
Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
Includes updates by Aleksander Morgado to fix coding style issues.
|
|
We process the MBIM signal state notification and use it to update the
extended signal quality information in the Signal interface.
|
|
Includes updates by Aleksander Morgado to fix coding style issues and
rework the coded point transformations.
|
|
To avoid needing to work with GVariants directly.
|
|
The values exposed in the Signal interface must not be cleared every
time polling is disabled, because the user may have also enabled
threshold based loading. And viceversa; if the user disables threshold
based polling, we should not unconditionally clear the values as
polling may still be enabled.
We setup a common Private context associated to the interface, and we
keep the current state there, which is also in sync with the DBus
interface.
We will only clear the signal values if both polling-based and
threshold-based setups are disabled.
Following the same reasoning, the mm_iface_modem_signal_update()
method used by implementations to report new signal quality details
is updated so that it's a no-op if no polling-based or threshold-based
setup has been enabled.
|
|
Also allow updating the per-access technology signal quality
information via indications.
Includes updates by Aleksander Morgado to fix coding style issues and
some other GTask related problems.
|
|
Includes updates by Aleksander Morgado to fix mostly coding style issues.
|
|
Includes updates by Aleksander Morgado to fix mostly coding style issues.
|
|
A new SetupThreshold() method is added to configure and control the
device signal notifications sent to the host. RSSI and error rate
based thresholds are initially assumed, but the interface allows
growing the method with additional threshold types.
Includes updates by Aleksander Morgado to improve documentation of the
new methods and properties.
|
|
Includes updates by Aleksander Morgado to improve documentation.
|
|
When changing the allowed modes using the "Register State Set"
request, the response would arrive once we have been registered in the
network. This is obviously not ideal, as we just want to know if the
mode preference was changed, we don't care if we're registered or not.
Instead of waiting for the response to arrive or to timeout, we now
also process incoming indications that arrive during the wait time,
and if any of them shows the preferred modes to be the same ones as we
just requested, we complete the operation right away.
|
|
In MBIM we use the same "Register State Set Request" for 2 different
things: configuring the allowed modes, and selecting the operator to
use (manual/automatic).
We need to keep track of which were the last things requested by the
user so that we don't overwrite previous user actions when we process
newer ones.
|
|
|
|
|
|
Just for completeness.
|
|
|
|
Use the new Preferred Data Classes field in the Register State v2
message in order to know if the modes requested in the Set message are
the expected ones or not.
Based on an initial implementation by Som_SP <somashekhar.puttagangaiah@intel.com>
|
|
At the moment plugins might depend only on shared plugins. However,
plugins may depend also in different build options. For example,
`qcom-soc` plugin needs `qmi` option to be enabled.
Plugins build check has been changed to allow to depend on different
build options.
Fixes #447
|
|
When we enable MBIMEx v2.0, the "Signal State" responses and
indications no longer report a valid RSSI value; and instead, they
report per access technology RSRP/RSRQ values.
>>>>>> Header:
>>>>>> length = 116
>>>>>> type = indicate-status (0x80000007)
>>>>>> transaction = 0
>>>>>> Fragment header:
>>>>>> total = 1
>>>>>> current = 0
>>>>>> Contents:
>>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
>>>>>> cid = 'signal-state' (0x0000000b)
>>>>>> Fields:
>>>>>> Rssi = '99'
>>>>>> ErrorRate = '99'
>>>>>> SignalStrengthInterval = '5'
>>>>>> RssiThreshold = '2'
>>>>>> ErrorRateThreshold = '4294967295'
>>>>>> RsrpSnr = '{
>>>>>> [0] = {
>>>>>> Rsrp = '0'
>>>>>> Snr = '0'
>>>>>> RsrpThreshold = '4294967295'
>>>>>> SnrThreshold = '4294967295'
>>>>>> SystemType = '5g-nsa'
>>>>>> },
>>>>>> [1] = {
>>>>>> Rsrp = '49'
>>>>>> Snr = '45'
>>>>>> RsrpThreshold = '4294967295'
>>>>>> SnrThreshold = '4294967295'
>>>>>> SystemType = 'lte'
>>>>>> },
>>>>>> }'
|
|
|
|
|
|
|
|
|
|
QMI modems also report a profile name, and that value can be used to
select and update a specific profile.
|
|
The ModemManager codebase has been ported to support Basic Connect v2
messages as defined in MBIMEx v2.0, so at this point we can now switch
to use it by default whenever possible.
|
|
|
|
|
|
|
|
|
|
We're going to enable the Microsoft extensions by default, and in
order to properly parse the notification messages, we'll need to know
which is the currently agreed MBIMEx version.
So, pass down the MbimDevice to every notification parser. Not all of
them will need it, so just for completeness.
|
|
|
|
|
|
|
|
|
|
|
|
Telit modems that require hexadecimal number when specifying 4G bands
also reply to #BND=? command with a 4th parameter <LTE_band_ext>
(e.g. LM940, LM960, LN920, FN980).
On the other hand, modems that require decimal number when specifying 4G
bands only return 3 parameters to the same command.
It is then possible replace the detection of ext_4g_bands via UDEV tags
with an inspection of BND=? reply.
|
|
|
|
|
|
|
|
Since the 'wwan' subsystem addition to the qcom-soc plugin, the rules
to say a modem is handled by this plugin are too broad, and the plugin
attempts to support any kind of device exposed by the WWAN subsystem,
not just those from Qualcomm SoCs.
Update the plugin to require a new ID_MM_QCOM_SOC udev tag that is set
in the plugin udev rules, given that these rules already check for the
expected SoC drivers (bam-dmux, ipa, qcom-q6v5-mss).
|
|
This reverts commit 18b8a3c78404dfd55d75770884bbca273e8b07ef.
We no longer need this, back to only on schedules.
|
|
|
|
|
|
|
|
|