add NM to support wifi6(fix dde-network-core build error)
This commit is contained in:
parent
b80e93cedc
commit
f00eb7a1ea
114
0001-add-NM-to-support-wifi6.patch
Normal file
114
0001-add-NM-to-support-wifi6.patch
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
From cf567e3b6cd6b596de9f8e02a8de473eddad5b13 Mon Sep 17 00:00:00 2001
|
||||||
|
From: liuzhilin <liuzhilin@uniontech.com>
|
||||||
|
Date: Mon, 15 Apr 2024 10:53:42 +0800
|
||||||
|
Subject: [PATCH] add-NM-to-support-wifi6
|
||||||
|
|
||||||
|
DESC:Support wireless networks connecting WIFI6 encryption methods,
|
||||||
|
so this demand is achieved in NetworkManager, KF5-NetworkManager-QT,
|
||||||
|
DDE-Network-Core software package
|
||||||
|
|
||||||
|
---
|
||||||
|
src/core/nm-core-utils.c | 9 ++++++++-
|
||||||
|
src/core/nm-core-utils.h | 3 ++-
|
||||||
|
src/core/supplicant/nm-supplicant-interface.c | 7 ++++++-
|
||||||
|
src/libnm-core-public/nm-dbus-interface.h | 2 ++
|
||||||
|
4 files changed, 18 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
|
||||||
|
index 5442efb..8e030a3 100644
|
||||||
|
--- a/src/core/nm-core-utils.c
|
||||||
|
+++ b/src/core/nm-core-utils.c
|
||||||
|
@@ -4783,13 +4783,15 @@ get_max_rate_vht(const guint8 *bytes, guint len, guint32 *out_maxrate)
|
||||||
|
#define WLAN_EID_HT_CAPABILITY 45
|
||||||
|
#define WLAN_EID_VHT_CAPABILITY 191
|
||||||
|
#define WLAN_EID_VENDOR_SPECIFIC 221
|
||||||
|
+#define WLAN_EID_EXTENSION 255
|
||||||
|
|
||||||
|
void
|
||||||
|
nm_wifi_utils_parse_ies(const guint8 *bytes,
|
||||||
|
gsize len,
|
||||||
|
guint32 *out_max_rate,
|
||||||
|
gboolean *out_metered,
|
||||||
|
- gboolean *out_owe_transition_mode)
|
||||||
|
+ gboolean *out_owe_transition_mode,
|
||||||
|
+ gboolean *out_he_support)
|
||||||
|
{
|
||||||
|
guint8 id, elem_len;
|
||||||
|
guint32 m;
|
||||||
|
@@ -4797,6 +4799,7 @@ nm_wifi_utils_parse_ies(const guint8 *bytes,
|
||||||
|
NM_SET_OUT(out_max_rate, 0);
|
||||||
|
NM_SET_OUT(out_metered, FALSE);
|
||||||
|
NM_SET_OUT(out_owe_transition_mode, FALSE);
|
||||||
|
+ NM_SET_OUT(out_he_support, FALSE);
|
||||||
|
|
||||||
|
while (len) {
|
||||||
|
if (len < 2)
|
||||||
|
@@ -4835,6 +4838,10 @@ nm_wifi_utils_parse_ies(const guint8 *bytes,
|
||||||
|
&& bytes[3] == 0x1c) /* OUI type: OWE Transition Mode */
|
||||||
|
NM_SET_OUT(out_owe_transition_mode, TRUE);
|
||||||
|
break;
|
||||||
|
+ case WLAN_EID_EXTENSION:
|
||||||
|
+ if (elem_len > 0 && bytes[0] == 0x23)
|
||||||
|
+ NM_SET_OUT(out_he_support, TRUE);
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
|
||||||
|
len -= elem_len;
|
||||||
|
diff --git a/src/core/nm-core-utils.h b/src/core/nm-core-utils.h
|
||||||
|
index 5511250..551c6fa 100644
|
||||||
|
--- a/src/core/nm-core-utils.h
|
||||||
|
+++ b/src/core/nm-core-utils.h
|
||||||
|
@@ -456,7 +456,8 @@ void nm_wifi_utils_parse_ies(const guint8 *bytes,
|
||||||
|
gsize len,
|
||||||
|
guint32 *out_max_rate,
|
||||||
|
gboolean *out_metered,
|
||||||
|
- gboolean *out_owe_transition_mode);
|
||||||
|
+ gboolean *out_owe_transition_mode,
|
||||||
|
+ gboolean *out_he_support);
|
||||||
|
|
||||||
|
guint8 nm_wifi_utils_level_to_quality(int val);
|
||||||
|
|
||||||
|
diff --git a/src/core/supplicant/nm-supplicant-interface.c b/src/core/supplicant/nm-supplicant-interface.c
|
||||||
|
index 1852572..ddb6b2f 100644
|
||||||
|
--- a/src/core/supplicant/nm-supplicant-interface.c
|
||||||
|
+++ b/src/core/supplicant/nm-supplicant-interface.c
|
||||||
|
@@ -764,10 +764,15 @@ _bss_info_properties_changed(NMSupplicantInterface *self,
|
||||||
|
if (v_v) {
|
||||||
|
gboolean p_owe_transition_mode;
|
||||||
|
gboolean p_metered;
|
||||||
|
+ gboolean p_he_support;
|
||||||
|
guint32 rate;
|
||||||
|
|
||||||
|
arr_data = g_variant_get_fixed_array(v_v, &arr_len, 1);
|
||||||
|
- nm_wifi_utils_parse_ies(arr_data, arr_len, &rate, &p_metered, &p_owe_transition_mode);
|
||||||
|
+ nm_wifi_utils_parse_ies(arr_data, arr_len, &rate, &p_metered, &p_owe_transition_mode, &p_he_support);
|
||||||
|
+ if (p_he_support)
|
||||||
|
+ bss_info->rsn_flags |= NM_802_11_AP_FLAGS_He;
|
||||||
|
+ else
|
||||||
|
+ bss_info->rsn_flags &= ~NM_802_11_AP_FLAGS_He;
|
||||||
|
p_max_rate = NM_MAX(p_max_rate, rate);
|
||||||
|
p_max_rate_has = TRUE;
|
||||||
|
g_variant_unref(v_v);
|
||||||
|
diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h
|
||||||
|
index b490e3b..9624618 100644
|
||||||
|
--- a/src/libnm-core-public/nm-dbus-interface.h
|
||||||
|
+++ b/src/libnm-core-public/nm-dbus-interface.h
|
||||||
|
@@ -336,6 +336,7 @@ typedef enum /*< flags >*/ {
|
||||||
|
* @NM_802_11_AP_FLAGS_WPS: access point supports some WPS method
|
||||||
|
* @NM_802_11_AP_FLAGS_WPS_PBC: access point supports push-button WPS
|
||||||
|
* @NM_802_11_AP_FLAGS_WPS_PIN: access point supports PIN-based WPS
|
||||||
|
+ * @NM_802_11_AP_FLAGS_He: access point support high efficiency (new feature in 802.11ax)
|
||||||
|
*
|
||||||
|
* 802.11 access point flags.
|
||||||
|
**/
|
||||||
|
@@ -345,6 +346,7 @@ typedef enum /*< underscore_name=nm_802_11_ap_flags, flags >*/ {
|
||||||
|
NM_802_11_AP_FLAGS_WPS = 0x00000002,
|
||||||
|
NM_802_11_AP_FLAGS_WPS_PBC = 0x00000004,
|
||||||
|
NM_802_11_AP_FLAGS_WPS_PIN = 0x00000008,
|
||||||
|
+ NM_802_11_AP_FLAGS_He = 0x00000010,
|
||||||
|
} NM80211ApFlags;
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
||||||
@ -51,7 +51,7 @@
|
|||||||
Name: NetworkManager
|
Name: NetworkManager
|
||||||
Version: 1.44.2
|
Version: 1.44.2
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: 4
|
Summary: 4
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://networkmanager.dev/
|
URL: https://networkmanager.dev/
|
||||||
@ -63,6 +63,7 @@ Patch2: bugfix-use-PartOf-replace-Requires-in-service.patch
|
|||||||
Patch3: bugfix-recover-to-30s-timeout-in-NetworkManager-wait-online.patch
|
Patch3: bugfix-recover-to-30s-timeout-in-NetworkManager-wait-online.patch
|
||||||
Patch4: NetworkManager-Add-sw64-architecture.patch
|
Patch4: NetworkManager-Add-sw64-architecture.patch
|
||||||
Patch5: delete-lease-file-when-connection-deleted.patch
|
Patch5: delete-lease-file-when-connection-deleted.patch
|
||||||
|
Patch6: 0001-add-NM-to-support-wifi6.patch
|
||||||
|
|
||||||
BuildRequires: gcc libtool pkgconfig automake autoconf intltool gettext-devel ppp-devel gnutls-devel
|
BuildRequires: gcc libtool pkgconfig automake autoconf intltool gettext-devel ppp-devel gnutls-devel
|
||||||
BuildRequires: dbus-devel glib2-devel gobject-introspection-devel jansson-devel
|
BuildRequires: dbus-devel glib2-devel gobject-introspection-devel jansson-devel
|
||||||
@ -547,6 +548,15 @@ fi
|
|||||||
%{_datadir}/gtk-doc/html/NetworkManager/*
|
%{_datadir}/gtk-doc/html/NetworkManager/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 9 2024 liuzhilin <liuzhilin@uniontech.com> - 1:1.44.2-2
|
||||||
|
- add NM to support wifi6(fix dde-network-core build error)
|
||||||
|
- Type:requirement
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:Support wireless networks connecting WIFI6 encryption methods,
|
||||||
|
so this demand is achieved in NetworkManager, KF5-NetworkManager-QT,
|
||||||
|
DDE-Network-Core software package
|
||||||
|
|
||||||
* Mon Feb 5 2024 liubo <liubo335@huawei.com> - 1:1.44.2-1
|
* Mon Feb 5 2024 liubo <liubo335@huawei.com> - 1:1.44.2-1
|
||||||
- Type:requirement
|
- Type:requirement
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user