From 436081648b3587096683bd3ba4d219d16f14efb5 Mon Sep 17 00:00:00 2001 From: Lukas Voegl Date: Fri, 22 Nov 2024 15:53:33 +0100 Subject: [PATCH] api,modem: new 'IgnoredPorts' property Expose a new list of 'IgnoredPorts' via D-Bus and therefore remove the use of `MM_MODEM_PORT_TYPE_IGNORED` Signed-off-by: Lukas Voegl --- cli/mmcli-modem.c | 7 ++ cli/mmcli-output.c | 1 + cli/mmcli-output.h | 1 + .../libmm-glib/libmm-glib-sections.txt | 3 + .../org.freedesktop.ModemManager1.Modem.xml | 18 +++- libmm-glib/mm-modem.c | 43 +++++++++- libmm-glib/mm-modem.h | 8 ++ src/mm-base-modem.c | 83 +++++++++++++------ src/mm-base-modem.h | 3 + src/mm-iface-modem.c | 8 ++ src/mm-plugin.c | 38 ++++----- src/mm-port-mbim.c | 1 + src/mm-port-net.c | 1 + src/mm-port-probe.c | 19 +++-- src/mm-port-probe.h | 2 +- src/mm-port-qmi.c | 2 + src/mm-port-serial-at.c | 1 + src/mm-port-serial-gps.c | 1 + src/mm-port-serial-qcdm.c | 2 + src/mm-port-serial.c | 1 + src/mm-port.c | 28 +++++++ src/mm-port.h | 9 ++ src/plugins/cinterion/mm-plugin-cinterion.c | 1 + src/plugins/dell/mm-plugin-dell.c | 1 + src/plugins/fibocom/mm-port-mbim-fibocom.c | 1 + src/plugins/huawei/mm-plugin-huawei.c | 1 + src/plugins/option/mm-plugin-hso.c | 1 + src/plugins/option/mm-plugin-option.c | 1 + src/plugins/pantech/mm-plugin-pantech.c | 1 + src/plugins/quectel/mm-port-mbim-quectel.c | 1 + src/plugins/sierra/mm-common-sierra.c | 1 + src/plugins/telit/mm-common-telit.c | 5 +- src/plugins/zte/mm-plugin-zte.c | 1 + tools/test-modemmanager-service.py | 2 + 34 files changed, 235 insertions(+), 62 deletions(-) diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c index 4d806ef5..45739625 100644 --- a/cli/mmcli-modem.c +++ b/cli/mmcli-modem.c @@ -316,8 +316,11 @@ print_modem_info (void) MMModemBand *bands = NULL; guint n_bands = 0; MMModemPortInfo *ports = NULL; + MMModemPortInfo *ignored_ports = NULL; guint n_ports = 0; + guint n_ignored_ports = 0; gchar *ports_string; + gchar *ignored_ports_string; MMUnlockRetries *unlock_retries; guint signal_quality = 0; gboolean signal_quality_recent = FALSE; @@ -343,6 +346,8 @@ print_modem_info (void) g_free (bands); mm_modem_get_ports (ctx->modem, &ports, &n_ports); ports_string = mm_common_build_ports_string (ports, n_ports); + mm_modem_get_ignored_ports (ctx->modem, &ignored_ports, &n_ignored_ports); + ignored_ports_string = mm_common_build_ports_string (ignored_ports, n_ignored_ports); mm_modem_port_info_array_free (ports, n_ports); if (mm_modem_get_current_modes (ctx->modem, &allowed_modes, &preferred_mode)) { allowed_modes_string = mm_modem_mode_build_string_from_mask (allowed_modes); @@ -376,6 +381,7 @@ print_modem_info (void) mmcli_output_string (MMC_F_SYSTEM_PLUGIN, mm_modem_get_plugin (ctx->modem)); mmcli_output_string (MMC_F_SYSTEM_PRIMARY_PORT, mm_modem_get_primary_port (ctx->modem)); mmcli_output_string_list (MMC_F_SYSTEM_PORTS, ports_string); + mmcli_output_string_list (MMC_F_SYSTEM_IGNORED_PORTS, ignored_ports_string); mmcli_output_string_array (MMC_F_NUMBERS_OWN, (const gchar **) mm_modem_get_own_numbers (ctx->modem), FALSE); @@ -540,6 +546,7 @@ print_modem_info (void) mmcli_output_dump (); g_free (ports_string); + g_free (ignored_ports_string); g_free (supported_ip_families_string); g_free (current_bands_string); g_free (supported_bands_string); diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c index c5a10b84..8aaa3581 100644 --- a/cli/mmcli-output.c +++ b/cli/mmcli-output.c @@ -120,6 +120,7 @@ static FieldInfo field_infos[] = { [MMC_F_SYSTEM_PLUGIN] = { "modem.generic.plugin", "plugin", MMC_S_MODEM_SYSTEM, }, [MMC_F_SYSTEM_PRIMARY_PORT] = { "modem.generic.primary-port", "primary port", MMC_S_MODEM_SYSTEM, }, [MMC_F_SYSTEM_PORTS] = { "modem.generic.ports", "ports", MMC_S_MODEM_SYSTEM, }, + [MMC_F_SYSTEM_IGNORED_PORTS] = { "modem.generic.ignored-ports", "ignored ports", MMC_S_MODEM_SYSTEM, }, [MMC_F_NUMBERS_OWN] = { "modem.generic.own-numbers", "own", MMC_S_MODEM_NUMBERS, }, [MMC_F_STATUS_LOCK] = { "modem.generic.unlock-required", "lock", MMC_S_MODEM_STATUS, }, [MMC_F_STATUS_UNLOCK_RETRIES] = { "modem.generic.unlock-retries", "unlock retries", MMC_S_MODEM_STATUS, }, diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h index 700b6800..e7627653 100644 --- a/cli/mmcli-output.h +++ b/cli/mmcli-output.h @@ -114,6 +114,7 @@ typedef enum { MMC_F_SYSTEM_PLUGIN, MMC_F_SYSTEM_PRIMARY_PORT, MMC_F_SYSTEM_PORTS, + MMC_F_SYSTEM_IGNORED_PORTS, /* Numbers section */ MMC_F_NUMBERS_OWN, /* Status section */ diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt index 877b3ef6..a013b37e 100644 --- a/docs/reference/libmm-glib/libmm-glib-sections.txt +++ b/docs/reference/libmm-glib/libmm-glib-sections.txt @@ -2822,6 +2822,8 @@ mm_gdbus_modem_get_primary_port mm_gdbus_modem_dup_primary_port mm_gdbus_modem_get_ports mm_gdbus_modem_dup_ports +mm_gdbus_modem_get_ignored_ports +mm_gdbus_modem_dup_ignored_ports mm_gdbus_modem_get_revision mm_gdbus_modem_dup_revision mm_gdbus_modem_get_carrier_configuration @@ -2908,6 +2910,7 @@ mm_gdbus_modem_set_own_numbers mm_gdbus_modem_set_plugin mm_gdbus_modem_set_primary_port mm_gdbus_modem_set_ports +mm_gdbus_modem_set_ignored_ports mm_gdbus_modem_set_revision mm_gdbus_modem_set_carrier_configuration mm_gdbus_modem_set_carrier_configuration_revision diff --git a/introspection/org.freedesktop.ModemManager1.Modem.xml b/introspection/org.freedesktop.ModemManager1.Modem.xml index 6631d85c..d189474c 100644 --- a/introspection/org.freedesktop.ModemManager1.Modem.xml +++ b/introspection/org.freedesktop.ModemManager1.Modem.xml @@ -973,15 +973,27 @@ + + +