[PATCH 3/6] common: add IEEE 802.11ah channel widths
James Ewing
james at teledatics.com
Wed Oct 1 09:49:58 PDT 2025
---
src/common/defs.h | 12 ++++++++++++
src/common/ieee802_11_common.c | 7 +++++++
src/drivers/driver_common.c | 20 ++++++++++++++++++++
3 files changed, 39 insertions(+)
diff --git a/src/common/defs.h b/src/common/defs.h
index 0a79ba2a6..0204358f7 100644
--- a/src/common/defs.h
+++ b/src/common/defs.h
@@ -446,6 +446,13 @@ enum eap_proxy_sim_state {
#define OCE_STA_CFON BIT(1)
#define OCE_AP BIT(2)
+/* S1G channel bandwidth values in MHz */
+#define S1G_BANDWIDTH_1MHZ 1
+#define S1G_BANDWIDTH_2MHZ 2
+#define S1G_BANDWIDTH_4MHZ 4
+#define S1G_BANDWIDTH_8MHZ 8
+#define S1G_BANDWIDTH_16MHZ 16
+
/* enum chan_width - Channel width definitions */
enum chan_width {
CHAN_WIDTH_20_NOHT,
@@ -459,6 +466,11 @@ enum chan_width {
CHAN_WIDTH_6480,
CHAN_WIDTH_8640,
CHAN_WIDTH_320,
+ CHAN_WIDTH_1,
+ CHAN_WIDTH_2,
+ CHAN_WIDTH_4,
+ CHAN_WIDTH_8,
+ CHAN_WIDTH_16,
CHAN_WIDTH_UNKNOWN
};
diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c
index ae7a7647a..c3c01d44c 100644
--- a/src/common/ieee802_11_common.c
+++ b/src/common/ieee802_11_common.c
@@ -1661,6 +1661,13 @@ int ieee80211_chaninfo_to_channel(unsigned int freq, enum chan_width chanwidth,
case CHAN_WIDTH_40:
cw = CONF_OPER_CHWIDTH_USE_HT;
break;
+ case CHAN_WIDTH_16:
+ case CHAN_WIDTH_8:
+ case CHAN_WIDTH_4:
+ case CHAN_WIDTH_2:
+ case CHAN_WIDTH_1:
+ cw = CONF_OPER_CHWIDTH_USE_HT;
+ break;
case CHAN_WIDTH_80:
cw = CONF_OPER_CHWIDTH_80MHZ;
break;
diff --git a/src/drivers/driver_common.c b/src/drivers/driver_common.c
index 045c82967..0a9437808 100644
--- a/src/drivers/driver_common.c
+++ b/src/drivers/driver_common.c
@@ -126,6 +126,16 @@ const char * channel_width_to_string(enum chan_width width)
return "160 MHz";
case CHAN_WIDTH_320:
return "320 MHz";
+ case CHAN_WIDTH_1:
+ return "1 MHz";
+ case CHAN_WIDTH_2:
+ return "2 MHz";
+ case CHAN_WIDTH_4:
+ return "4 MHz";
+ case CHAN_WIDTH_8:
+ return "8 MHz";
+ case CHAN_WIDTH_16:
+ return "16 MHz";
default:
return "unknown";
}
@@ -147,6 +157,16 @@ int channel_width_to_int(enum chan_width width)
return 160;
case CHAN_WIDTH_320:
return 320;
+ case CHAN_WIDTH_1:
+ return 1;
+ case CHAN_WIDTH_2:
+ return 2;
+ case CHAN_WIDTH_4:
+ return 4;
+ case CHAN_WIDTH_8:
+ return 8;
+ case CHAN_WIDTH_16:
+ return 16;
default:
return 0;
}
--
2.43.0
More information about the Hostap
mailing list