From 1eb177dd0ee0c92d251f41f902a5bd17ea9d7fe2 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 1 Apr 2025 09:53:46 -0500 Subject: cli: report 5GNR RSSI in extended signal info MBIM modems report RSSI and sometimes don't report more detailed RSRP and SNR info their MBIMex v2 signal-state replies. RSSI gets reported for every other access technology, and while it's not as good a signal indicator as the others, we might as well show something. Signed-off-by: Dan Williams --- cli/mmcli-modem-signal.c | 4 ++++ cli/mmcli-output.c | 1 + cli/mmcli-output.h | 1 + 3 files changed, 6 insertions(+) (limited to 'cli') diff --git a/cli/mmcli-modem-signal.c b/cli/mmcli-modem-signal.c index 7d1e2ff6..ce23e7c1 100644 --- a/cli/mmcli-modem-signal.c +++ b/cli/mmcli-modem-signal.c @@ -166,6 +166,7 @@ print_signal_info (void) gchar *lte_rsrq = NULL; gchar *lte_snr = NULL; gchar *lte_error_rate = NULL; + gchar *nr5g_rssi = NULL; gchar *nr5g_rsrp = NULL; gchar *nr5g_rsrq = NULL; gchar *nr5g_snr = NULL; @@ -235,6 +236,8 @@ print_signal_info (void) signal = mm_modem_signal_peek_nr5g (ctx->modem_signal); if (signal) { + if ((value = mm_signal_get_rssi (signal)) != MM_SIGNAL_UNKNOWN) + nr5g_rssi = g_strdup_printf ("%.2lf", value); if ((value = mm_signal_get_rsrq (signal)) != MM_SIGNAL_UNKNOWN) nr5g_rsrq = g_strdup_printf ("%.2lf", value); if ((value = mm_signal_get_rsrp (signal)) != MM_SIGNAL_UNKNOWN) @@ -267,6 +270,7 @@ print_signal_info (void) mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_RSRP, lte_rsrp, "dBm"); mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_SNR, lte_snr, "dB"); mmcli_output_string_take_typed (MMC_F_SIGNAL_LTE_ERROR_RATE, lte_error_rate, "%%"); + mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_RSSI, nr5g_rssi, "dBm"); mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_RSRQ, nr5g_rsrq, "dB"); mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_RSRP, nr5g_rsrp, "dBm"); mmcli_output_string_take_typed (MMC_F_SIGNAL_5G_SNR, nr5g_snr, "dB"); diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c index 440d6059..c5a10b84 100644 --- a/cli/mmcli-output.c +++ b/cli/mmcli-output.c @@ -202,6 +202,7 @@ static FieldInfo field_infos[] = { [MMC_F_SIGNAL_LTE_RSRP] = { "modem.signal.lte.rsrp", "rsrp", MMC_S_MODEM_SIGNAL_LTE, }, [MMC_F_SIGNAL_LTE_SNR] = { "modem.signal.lte.snr", "s/n", MMC_S_MODEM_SIGNAL_LTE, }, [MMC_F_SIGNAL_LTE_ERROR_RATE] = { "modem.signal.lte.error-rate", "error rate", MMC_S_MODEM_SIGNAL_LTE, }, + [MMC_F_SIGNAL_5G_RSSI] = { "modem.signal.5g.rssi", "rssi", MMC_S_MODEM_SIGNAL_5G, }, [MMC_F_SIGNAL_5G_RSRQ] = { "modem.signal.5g.rsrq", "rsrq", MMC_S_MODEM_SIGNAL_5G, }, [MMC_F_SIGNAL_5G_RSRP] = { "modem.signal.5g.rsrp", "rsrp", MMC_S_MODEM_SIGNAL_5G, }, [MMC_F_SIGNAL_5G_SNR] = { "modem.signal.5g.snr", "s/n", MMC_S_MODEM_SIGNAL_5G, }, diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h index a9f050d8..700b6800 100644 --- a/cli/mmcli-output.h +++ b/cli/mmcli-output.h @@ -214,6 +214,7 @@ typedef enum { MMC_F_SIGNAL_LTE_RSRP, MMC_F_SIGNAL_LTE_SNR, MMC_F_SIGNAL_LTE_ERROR_RATE, + MMC_F_SIGNAL_5G_RSSI, MMC_F_SIGNAL_5G_RSRQ, MMC_F_SIGNAL_5G_RSRP, MMC_F_SIGNAL_5G_SNR, -- cgit v1.2.3-70-g09d2