aboutsummaryrefslogtreecommitdiff
path: root/src/mm-iface-modem-signal.c
AgeCommit message (Collapse)Author
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-05-11iface-modem-signal: launch explicit signal query after setting up thresholdsAleksander Morgado
2023-05-10Revert "iface-modem-signal: send a query after threshold set up"Aleksander Morgado
This reverts commit 17ed63637fea7ab7238880ec5eb75df910355dd2. We were reusing the signal_state_query_ready() callback in the wrong way.
2023-05-10iface-modem-signal: send a query after threshold set upNagi Marupaka
After the setup of threshold for signal state notifications, trigger a query of the current signal state values.
2023-03-15iface-modem-signal: remove unused variableAleksander Morgado
src/mm-iface-modem-signal.c:99:27: warning: unused variable 'current_time' [-Wunused-variable] g_autoptr(GDateTime) current_time = NULL; ^
2022-11-04iface-modem-signal: print signal quality under INFO verbosityPavan Holla
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
2021-10-20libmm-glib: new 'MMSignalThresholdProperties' helper objectAleksander Morgado
To avoid needing to work with GVariants directly.
2021-10-20iface-modem-signal: bind together polling and threshold based setupsAleksander Morgado
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.
2021-10-20iface-modem-signal: implement support for SetupThresholds()Som_SP
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.
2020-07-04iface-modem-signal: port skeleton update logic to use g_autoptrAleksander Morgado
2020-07-04iface-modem-signal: remove unneeded skeleton clear attemptAleksander Morgado
It won't do anything because clear_values() tries to get the skeleton from the modem object, and the skeleton hasn't been set at that point.
2020-07-04iface-modem-signal: added 5G signal informationWalter Hagstrom
Extended the ModemManager Signal interface to include 5G signal information for RSRP, RSRQ and SINR via libqmi. Also extended mmci to print 5G signal info.
2020-04-08iface-modem-signal: port to use object loggingAleksander Morgado
2020-01-30iface-modem-signal: fix warnings with -Wimplicit-fallthroughAleksander Morgado
mm-iface-modem-signal.c:447:18: error: this statement may fall through [-Werror=implicit-fallthrough=] 447 | ctx->step++; | ~~~~~~~~~^~ mm-iface-modem-signal.c:449:5: note: here 449 | case INITIALIZATION_STEP_CHECK_SUPPORT: | ^~~~ ...
2020-01-30iface-modem-signal: fix warnings with -Wswitch-defaultAleksander Morgado
mm-iface-modem-signal.c: In function ‘interface_initialization_step’: mm-iface-modem-signal.c:436:5: error: switch missing default case [-Werror=switch-default] 436 | switch (ctx->step) { | ^~~~~~
2019-11-28iface-modem-signal: avoid logging about signal refresh context if not enabledAleksander Morgado
2018-09-13iface-modem-signal: Tear down refresh context upon shutdown.Paul Bartell
2018-08-05signal: cleanup previous extended info if no new one givenAleksander Morgado
E.g. if the modem switches from 4G to 3G while the extended signal information is enabled, we should no longer expose LTE specific signal quality values, only the UMTS specific ones. E.g. to avoid this: $ mmcli -m 1 --signal-get ------------------------- UMTS | RSSI: '0,00' dBm | RSCP: '-92,00' dBm | EcIo: '-13,00' dB ------------------------- LTE | RSSI: '0,00' dBm | RSRQ: '-6,50' dB | RSRP: '-96,00' dBm | SNR: '0,00' dB
2017-04-18core: prefer g_task_return_error_if_cancelled() than custom errorsAleksander Morgado
When the GCancellable is added to the GTask, we can use a single method call to check for the task being cancelled, and complete it right away if so. This patch also clears up the logic in the Novatel plugin, where the code was trying to return "TRUE" when the task was cancelled, but wouldn't work as the check-cancellable flag in the GTask is TRUE by default (i.e. when completing the GTask, if it was cancelled, a G_IO_ERROR_CANCELLED would be returned by default, regardless of any other return value set). This patch also introduces a small variation of the logic in the Cinterion plugin: instead of running SWWAN=0 before completing the async action, the command is now sent just after completion of the async action. This shouldn't be an issue, as the SWWAN result itself is ignored.
2017-04-15iface-modem-signal: port mm_iface_modem_signal_initialize to use GTaskBen Chan
2017-04-15iface-modem-signal: port mm_iface_modem_signal_enable to use GTaskBen Chan
2017-04-15iface-modem-signal: port mm_modem_iface_signal_disable to use GTaskBen Chan
2015-12-02core: use G_SOURCE_REMOVE and G_SOURCE_CONTINUE in GSourceFuncsAleksander Morgado
2013-08-21iface-modem-signal: use the new 'MMSignal' in the interface implementationAleksander Morgado
Also modify the QMI-specific implementation to act as a state machine, as we'll add more steps afterwards.
2013-08-21iface-modem-signal: explicitly check support for the Signal interfaceAleksander Morgado
2013-08-21api,introspection: use per-technology dictionaries in the 'Signal' interfaceAleksander Morgado
2013-08-21iface-modem-signal: new implementation for the 'Signal' interfaceAleksander Morgado