Update to 1.10.6 release
This commit is contained in:
parent
6d4795868f
commit
2275ecc9e2
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
@ -1,185 +0,0 @@
|
||||
From fd1a26fc36df005d66627109875631264d2f8e19 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksander Morgado <aleksander@aleksander.es>
|
||||
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
|
||||
|
@ -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 <lkundrak@v3.sk> - 1.10.6-1
|
||||
- Update to 1.10.6 release
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (ModemManager-1.10.4.tar.xz) = ead9826efbd360cb47e52a8f8e8b44e92d2d93c6058f099e4bc2358c4ef03bec0b2631b6b4b552d75ff41ec9b6154b4f614c1be5a31e684c69cf3c04c9866dd7
|
||||
SHA512 (ModemManager-1.10.6.tar.xz) = 9d0cdca7413c1ad7e44a0c65d620e3c36204919b896290878180c73d7843d217f7c759bcba1007cbed2ec75f615b7ab196989e90afddbcbbf38a1b4cd04a8e3a
|
||||
|
Loading…
Reference in New Issue
Block a user