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