]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
ucode: nl80211: add missing survey info attributes and fix DFS CAC time
authorFelix Fietkau <nbd@nbd.name>
Sat, 28 Feb 2026 11:39:33 +0000 (11:39 +0000)
committerFelix Fietkau <nbd@nbd.name>
Sun, 1 Mar 2026 18:41:24 +0000 (18:41 +0000)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/utils/ucode/patches/130-nl80211-add-missing-survey-info-attributes.patch [new file with mode: 0644]
package/utils/ucode/patches/131-nl80211-fix-dfs_cac_time-attribute-type.patch [new file with mode: 0644]

diff --git a/package/utils/ucode/patches/130-nl80211-add-missing-survey-info-attributes.patch b/package/utils/ucode/patches/130-nl80211-add-missing-survey-info-attributes.patch
new file mode 100644 (file)
index 0000000..6f780bb
--- /dev/null
@@ -0,0 +1,36 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 28 Feb 2026 11:12:22 +0000
+Subject: [PATCH] nl80211: add missing survey info attributes
+
+Add in_use, time_bss_rx and frequency_offset to the survey info
+nested attribute spec.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/lib/nl80211.c
++++ b/lib/nl80211.c
+@@ -867,16 +867,19 @@ static const uc_nl_nested_spec_t nl80211
+ static const uc_nl_nested_spec_t nl80211_survey_info_nla = {
+       .headsize = 0,
+-      .nattrs = 8,
++      .nattrs = 11,
+       .attrs = {
+               { NL80211_SURVEY_INFO_FREQUENCY, "frequency", DT_U32, 0, NULL },
++              { NL80211_SURVEY_INFO_NOISE, "noise", DT_S8, 0, NULL },
++              { NL80211_SURVEY_INFO_IN_USE, "in_use", DT_FLAG, 0, NULL },
+               { NL80211_SURVEY_INFO_TIME, "time", DT_U64, 0, NULL },
+-              { NL80211_SURVEY_INFO_TIME_TX, "time_tx", DT_U64, 0, NULL },
+-              { NL80211_SURVEY_INFO_TIME_RX, "time_rx", DT_U64, 0, NULL },
+               { NL80211_SURVEY_INFO_TIME_BUSY, "busy", DT_U64, 0, NULL },
+               { NL80211_SURVEY_INFO_TIME_EXT_BUSY, "ext_busy", DT_U64, 0, NULL },
++              { NL80211_SURVEY_INFO_TIME_RX, "time_rx", DT_U64, 0, NULL },
++              { NL80211_SURVEY_INFO_TIME_TX, "time_tx", DT_U64, 0, NULL },
+               { NL80211_SURVEY_INFO_TIME_SCAN, "scan", DT_U64, 0, NULL },
+-              { NL80211_SURVEY_INFO_NOISE, "noise", DT_S8, 0, NULL },
++              { NL80211_SURVEY_INFO_TIME_BSS_RX, "time_bss_rx", DT_U64, 0, NULL },
++              { NL80211_SURVEY_INFO_FREQUENCY_OFFSET, "frequency_offset", DT_U32, 0, NULL },
+       }
+ };
diff --git a/package/utils/ucode/patches/131-nl80211-fix-dfs_cac_time-attribute-type.patch b/package/utils/ucode/patches/131-nl80211-fix-dfs_cac_time-attribute-type.patch
new file mode 100644 (file)
index 0000000..52eebc5
--- /dev/null
@@ -0,0 +1,18 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sun, 1 Mar 2026 15:32:06 +0000
+Subject: [PATCH] nl80211: fix dfs_cac_time attribute type
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/lib/nl80211.c
++++ b/lib/nl80211.c
+@@ -610,7 +610,7 @@ static const uc_nl_nested_spec_t nl80211
+               { NL80211_FREQUENCY_ATTR_NO_HT40_PLUS, "no_ht40_plus", DT_FLAG, 0, NULL },
+               { NL80211_FREQUENCY_ATTR_NO_80MHZ, "no_80mhz", DT_FLAG, 0, NULL },
+               { NL80211_FREQUENCY_ATTR_NO_160MHZ, "no_160mhz", DT_FLAG, 0, NULL },
+-              { NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, "dfs_cac_time", DT_FLAG, 0, NULL },
++              { NL80211_FREQUENCY_ATTR_DFS_CAC_TIME, "dfs_cac_time", DT_U32, 0, NULL },
+               { NL80211_FREQUENCY_ATTR_INDOOR_ONLY, "indoor_only", DT_FLAG, 0, NULL },
+               { NL80211_FREQUENCY_ATTR_IR_CONCURRENT, "ir_concurrent", DT_FLAG, 0, NULL },
+               { NL80211_FREQUENCY_ATTR_NO_20MHZ, "no_20mhz", DT_FLAG, 0, NULL },