diff --git a/.gitignore b/.gitignore index d895bca..275f1a6 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ ModemManager-0.4.git20100720.tar.bz2 /ModemManager-1.10.0.tar.xz /ModemManager-1.10.2.tar.xz /ModemManager-1.10.4.tar.xz +/ModemManager-1.10.6.tar.xz diff --git a/0001-plugin-ignore-unwanted-net-ports.patch b/0001-plugin-ignore-unwanted-net-ports.patch deleted file mode 100644 index f8a701d..0000000 --- a/0001-plugin-ignore-unwanted-net-ports.patch +++ /dev/null @@ -1,185 +0,0 @@ -From fd1a26fc36df005d66627109875631264d2f8e19 Mon Sep 17 00:00:00 2001 -From: Aleksander Morgado -Date: Wed, 22 May 2019 23:20:30 +0200 -Subject: [PATCH] plugin: ignore unwanted net ports - - * For QMI modems, make sure we only grab QMI data ports (flag the - rest as ignored). - * For MBIM modems, make sure we only grab MBIM data ports (flag the - rest as ignored). - * For other plugins that use NET ports in their logic, make sure we - only grab non-QMI and non-MBIM data ports. ---- - src/mm-plugin.c | 120 +++++++++++++++++++++++++++++++++++------------- - 1 file changed, 89 insertions(+), 31 deletions(-) - -diff --git a/src/mm-plugin.c b/src/mm-plugin.c -index 08fe2cd0..a19111ff 100644 ---- a/src/mm-plugin.c -+++ b/src/mm-plugin.c -@@ -37,6 +37,13 @@ - #include "mm-log.h" - #include "mm-daemon-enums-types.h" - -+#if defined WITH_QMI -+# include "mm-broadband-modem-qmi.h" -+#endif -+#if defined WITH_MBIM -+# include "mm-broadband-modem-mbim.h" -+#endif -+ - G_DEFINE_TYPE (MMPlugin, mm_plugin, G_TYPE_OBJECT) - - /* Virtual port corresponding to the embedded modem */ -@@ -920,9 +927,22 @@ mm_plugin_create_modem (MMPlugin *self, - - /* Grab each port */ - for (l = port_probes; l; l = g_list_next (l)) { -- GError *inner_error = NULL; -- MMPortProbe *probe = MM_PORT_PROBE (l->data); -- gboolean grabbed; -+ GError *inner_error = NULL; -+ MMPortProbe *probe; -+ gboolean grabbed = FALSE; -+ gboolean force_ignored = FALSE; -+ const gchar *subsys; -+ const gchar *name; -+ const gchar *driver; -+ MMPortType port_type; -+ -+ probe = MM_PORT_PROBE (l->data); -+ -+ subsys = mm_port_probe_get_port_subsys (probe); -+ name = mm_port_probe_get_port_name (probe); -+ port_type = mm_port_probe_get_port_type (probe); -+ -+ driver = mm_kernel_device_get_driver (mm_port_probe_peek_port (probe)); - - /* If grabbing a port fails, just warn. We'll decide if the modem is - * valid or not when all ports get organized */ -@@ -931,45 +951,82 @@ mm_plugin_create_modem (MMPlugin *self, - * probed and accepted by the generic plugin, which is overwritten - * by the specific one when needed. */ - if (apply_subsystem_filter (self, mm_port_probe_peek_port (probe))) { -- grabbed = FALSE; - inner_error = g_error_new (MM_CORE_ERROR, - MM_CORE_ERROR_UNSUPPORTED, - "unsupported subsystem: '%s'", -- mm_port_probe_get_port_subsys (probe)); -+ subsys); -+ goto next; - } -+ - /* Ports that are explicitly blacklisted will be grabbed as ignored */ -- else if (mm_port_probe_is_ignored (probe)) { -- mm_dbg ("(%s/%s): port is blacklisted", -- mm_port_probe_get_port_subsys (probe), -- mm_port_probe_get_port_name (probe)); -- grabbed = mm_base_modem_grab_port (modem, -- mm_port_probe_peek_port (probe), -- MM_PORT_TYPE_IGNORED, -- MM_PORT_SERIAL_AT_FLAG_NONE, -- &inner_error); -+ if (mm_port_probe_is_ignored (probe)) { -+ mm_dbg ("(%s/%s): port is blacklisted", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; - } --#if !defined WITH_QMI -- else if (mm_port_probe_get_port_type (probe) == MM_PORT_TYPE_NET && -- !g_strcmp0 (mm_kernel_device_get_driver (mm_port_probe_peek_port (probe)), "qmi_wwan")) { -- /* Try to generically grab the port, but flagged as ignored */ -- grabbed = mm_base_modem_grab_port (modem, -- mm_port_probe_peek_port (probe), -- MM_PORT_TYPE_IGNORED, -- MM_PORT_SERIAL_AT_FLAG_NONE, -- &inner_error); -+ -+#if defined WITH_QMI -+ if (MM_IS_BROADBAND_MODEM_QMI (modem) && -+ port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "qmi_wwan") != 0) { -+ /* Non-QMI net ports are ignored in QMI modems */ -+ mm_dbg ("(%s/%s): ignoring non-QMI net port in QMI modem", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; -+ } -+ -+ if (!MM_IS_BROADBAND_MODEM_QMI (modem) && -+ port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "qmi_wwan") == 0) { -+ /* QMI net ports are ignored in non-QMI modems */ -+ mm_dbg ("(%s/%s): ignoring QMI net port in non-QMI modem", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; -+ } -+#else -+ if (port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "qmi_wwan") != 0) { -+ /* QMI net ports are ignored if QMI support not built */ -+ mm_dbg ("(%s/%s): ignoring QMI net port as QMI support isn't available", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; -+ } -+#endif -+ -+#if defined WITH_MBIM -+ if (MM_IS_BROADBAND_MODEM_MBIM (modem) && -+ port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "cdc_mbim") != 0) { -+ /* Non-MBIM net ports are ignored in MBIM modems */ -+ mm_dbg ("(%s/%s): ignoring non-MBIM net port in MBIM modem", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; -+ } -+ -+ if (!MM_IS_BROADBAND_MODEM_MBIM (modem) && -+ port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "cdc_mbim") == 0) { -+ /* MBIM net ports are ignored in non-MBIM modems */ -+ mm_dbg ("(%s/%s): ignoring MBIM net port in non-MBIM modem", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; -+ } -+#else -+ if (port_type == MM_PORT_TYPE_NET && -+ g_strcmp0 (driver, "cdc_mbim") == 0) { -+ mm_dbg ("(%s/%s): ignoring MBIM net port as MBIM support isn't available", subsys, name); -+ force_ignored = TRUE; -+ goto grab_port; - } - #endif --#if !defined WITH_MBIM -- else if (mm_port_probe_get_port_type (probe) == MM_PORT_TYPE_NET && -- !g_strcmp0 (mm_kernel_device_get_driver (mm_port_probe_peek_port (probe)), "cdc_mbim")) { -- /* Try to generically grab the port, but flagged as ignored */ -+ -+ grab_port: -+ if (force_ignored) - grabbed = mm_base_modem_grab_port (modem, - mm_port_probe_peek_port (probe), - MM_PORT_TYPE_IGNORED, - MM_PORT_SERIAL_AT_FLAG_NONE, - &inner_error); -- } --#endif - else if (MM_PLUGIN_GET_CLASS (self)->grab_port) - grabbed = MM_PLUGIN_GET_CLASS (self)->grab_port (MM_PLUGIN (self), - modem, -@@ -981,10 +1038,11 @@ mm_plugin_create_modem (MMPlugin *self, - mm_port_probe_get_port_type (probe), - MM_PORT_SERIAL_AT_FLAG_NONE, - &inner_error); -+ -+ next: - if (!grabbed) { - mm_warn ("Could not grab port (%s/%s): '%s'", -- mm_port_probe_get_port_subsys (MM_PORT_PROBE (l->data)), -- mm_port_probe_get_port_name (MM_PORT_PROBE (l->data)), -+ subsys, name, - inner_error ? inner_error->message : "unknown error"); - g_clear_error (&inner_error); - } --- -2.21.0 - diff --git a/ModemManager.spec b/ModemManager.spec index d8f2848..6e86f81 100644 --- a/ModemManager.spec +++ b/ModemManager.spec @@ -6,10 +6,9 @@ Summary: Mobile broadband modem management service Name: ModemManager -Version: 1.10.4 -Release: 2%{?dist} +Version: 1.10.6 +Release: 1%{?dist} Source: https://www.freedesktop.org/software/ModemManager/%{name}-%{version}.tar.xz -Patch0: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/commit/fd1a26fc36df.patch#/0001-plugin-ignore-unwanted-net-ports.patch License: GPLv2+ URL: http://www.freedesktop.org/wiki/Software/ModemManager/ @@ -86,7 +85,6 @@ Vala bindings for ModemManager %prep %setup -q -%patch0 -p1 %build # Regenerate configure, because the one that is shipped @@ -186,6 +184,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/vala/vapi/libmm-glib.* %changelog +* Mon Sep 23 2019 Lubomir Rintel - 1.10.6-1 +- Update to 1.10.6 release + * Wed Jul 24 2019 Fedora Release Engineering - 1.10.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 8d8cfd7..fd27db2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ModemManager-1.10.4.tar.xz) = ead9826efbd360cb47e52a8f8e8b44e92d2d93c6058f099e4bc2358c4ef03bec0b2631b6b4b552d75ff41ec9b6154b4f614c1be5a31e684c69cf3c04c9866dd7 +SHA512 (ModemManager-1.10.6.tar.xz) = 9d0cdca7413c1ad7e44a0c65d620e3c36204919b896290878180c73d7843d217f7c759bcba1007cbed2ec75f615b7ab196989e90afddbcbbf38a1b4cd04a8e3a