Obtained from the IEEE 802.11ax amendment, Table E-4
---
src/band.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 55 insertions(+), 8 deletions(-)
diff --git a/src/band.c b/src/band.c
index 9024d186..28ba6a62 100644
--- a/src/band.c
+++ b/src/band.c
@@ -489,8 +489,8 @@ static int band_channel_info_get_bandwidth(const struct band_chandef
*info)
struct operating_class_info {
uint32_t starting_frequency;
uint32_t flags;
- uint8_t channel_set[20];
- uint8_t center_frequencies[8];
+ uint8_t channel_set[60];
+ uint8_t center_frequencies[30];
uint16_t channel_spacing;
uint8_t operating_class;
};
@@ -598,20 +598,20 @@ static const struct operating_class_info e4_operating_classes[] = {
{
.operating_class = 125,
.starting_frequency = 5000,
- .channel_set = { 149, 153, 157, 161, 165, 169, 173},
+ .channel_set = { 149, 153, 157, 161, 165, 169, 173, 177 },
.channel_spacing = 20,
},
{
.operating_class = 126,
.starting_frequency = 5000,
- .channel_set = { 149, 157, 165},
+ .channel_set = { 149, 157, 165, 173 },
.channel_spacing = 40,
.flags = PRIMARY_CHANNEL_LOWER,
},
{
.operating_class = 127,
.starting_frequency = 5000,
- .channel_set = { 153, 161, 169 },
+ .channel_set = { 153, 161, 169, 177 },
.channel_spacing = 40,
.flags = PRIMARY_CHANNEL_UPPER,
},
@@ -619,21 +619,68 @@ static const struct operating_class_info e4_operating_classes[] = {
.operating_class = 128,
.starting_frequency = 5000,
.channel_spacing = 80,
- .center_frequencies = { 42, 58, 106, 122, 138, 155 },
+ .center_frequencies = { 42, 58, 106, 122, 138, 155, 171 },
},
{
.operating_class = 129,
.starting_frequency = 5000,
.channel_spacing = 160,
- .center_frequencies = { 50, 114 },
+ .center_frequencies = { 50, 114, 163 },
},
{
.operating_class = 130,
.starting_frequency = 5000,
.channel_spacing = 80,
- .center_frequencies = { 42, 58, 106, 122, 138, 155 },
+ .center_frequencies = { 42, 58, 106, 122, 138, 155, 171 },
.flags = PLUS80,
},
+ {
+ .operating_class = 131,
+ .starting_frequency = 5950,
+ .channel_spacing = 20,
+ .channel_set = { 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45,
+ 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93,
+ 97, 101, 105, 109, 113, 117, 121, 125, 129, 133,
+ 137, 141, 145, 149, 153, 157, 161, 165, 169,
+ 173, 177, 181, 185, 189, 193, 197, 201, 205,
+ 209, 213, 217, 221, 225, 229, 233 },
+ },
+ {
+ .operating_class = 132,
+ .starting_frequency = 5950,
+ .channel_spacing = 40,
+ .center_frequencies = { 3, 11, 19, 27, 35, 43, 51, 59, 67, 75,
+ 83, 91, 99, 107, 115, 123, 131, 139,
+ 147, 155, 163, 171, 179, 187, 195, 203,
+ 211, 219, 227 },
+ },
+ {
+ .operating_class = 133,
+ .starting_frequency = 5950,
+ .channel_spacing = 80,
+ .center_frequencies = { 7, 23, 39, 55, 71, 87, 103, 119, 135,
+ 151, 167, 183, 199, 215 },
+ },
+ {
+ .operating_class = 134,
+ .starting_frequency = 5950,
+ .channel_spacing = 160,
+ .center_frequencies = { 15, 47, 79, 111, 143, 175, 207 },
+ },
+ {
+ .operating_class = 135,
+ .starting_frequency = 5950,
+ .channel_spacing = 80,
+ .center_frequencies = { 7, 23, 39, 55, 71, 87, 102, 119, 135,
+ 151, 167, 183, 199, 215 },
+ .flags = PLUS80,
+ },
+ {
+ .operating_class = 136,
+ .starting_frequency = 5950,
+ .channel_spacing = 20,
+ .center_frequencies = { 2 },
+ }
};
static const struct operating_class_info *e4_find_opclass(uint32_t opclass)
--
2.34.1