Proper operating class definition for class 137?
Pablo MARTIN-GOMEZ
pmartin-gomez at freebox.fr
Wed Feb 4 08:00:19 PST 2026
Hello,
On 03/02/2026 23:17, Ben Greear wrote:
> Hello,
>
> I found this patch from Allen Ye in an openwrt repo and have been
> using it for a while.
> I notice the comment was updated sometime recently, but values were
> not updated.
>
> I wanted to see if this patch is actually correct, or if the existing
> code is correct?
>
> hostapd: Fix definition of 6GHz operating class 137
>
> The channel sets should follow the op_class 131, and the inc
> should be
> 64 to fit the bandwidth 320MHz.
>
> Signed-off-by: Allen Ye <allen.ye at mediatek.com>
>
> @@ -2480,7 +2480,7 @@ const struct oper_class_map global_op_class[] = {
> { HOSTAPD_MODE_IEEE80211A, 136, 2, 2, 4, BW20, NO_P2P_SUPP },
>
> /* IEEE P802.11be/D5.0, Table E-4 (Global operating classes) */
> - { HOSTAPD_MODE_IEEE80211A, 137, 31, 191, 32, BW320, NO_P2P_SUPP },
> + { HOSTAPD_MODE_IEEE80211A, 137, 1, 233, 64, BW320, NO_P2P_SUPP },
I'm going with: both code are incorrect but by chance both work.
The "correct" change would be:
- { HOSTAPD_MODE_IEEE80211A, 137, 31, 191, 32, BW320, NO_P2P_SUPP },
+ { HOSTAPD_MODE_IEEE80211A, 137, 1, 233, 32, BW320, NO_P2P_SUPP },
[`32` is not the size of a channel, it's the increment to go to one
channel to the next, one particularity of op class 137 is its channels
overlap, so yes a channel stops at +64, but the next (overlapping)
channel starts at +32]
And make sure the rest of the code base treat op class 137 as a op class
that uses the lowest 20MHz of the channel and not directly the channel
number.
> /*
> * IEEE Std 802.11ad-2012 and P802.ay/D5.0 60 GHz operating classes.
>
> Thanks,
> Ben
>
Best regards,
Pablo MG
More information about the Hostap
mailing list