morrownr / 8814au

Linux Driver for USB WiFi Adapters that are based on the RTL8814AU Chipset
Other
508 stars 98 forks source link

Add support for upcoming Linux Kernel 6.3.0 (Puncturing) #98

Closed moisespr123 closed 10 months ago

moisespr123 commented 1 year ago

The merge window for the Linux Kernel 6.3.0 is still in progress.

There is this commit: https://github.com/torvalds/linux/commit/d7c1a9a0ed180d8884798ce97afe7283622a484f that adds a new argument for a puncturing bitmap.

New feature flag, NL80211_EXT_FEATURE_PUNCT, to advertise
  driver support for preamble puncturing in AP mode.
- New attribute, NL80211_ATTR_PUNCT_BITMAP, to receive a puncturing
  bitmap from the userspace during AP bring up (NL80211_CMD_START_AP)
  and channel switch (NL80211_CMD_CHANNEL_SWITCH) operations. Each bit
  corresponds to a 20 MHz channel in the operating bandwidth, lowest
  bit for the lowest channel. Bit set to 1 indicates that the channel
  is punctured. Higher 16 bits are reserved.
- New members added to structures cfg80211_ap_settings and
  cfg80211_csa_settings to propagate the bitmap to the driver after
  validation.

I'm not sure what exact argument it should have but setting it to 1 allows it to compile properly. Note that because the merge window is still open, I had to set the #IF to 6.2.0, but eventually will be 6.3.0 once the first 6.3.0 kernel release candidate is released.

I believe this change may affect other drivers. Tested this with an AC1900 Wavlink adapter.

morrownr commented 1 year ago

@moisespr123

I really appreciate this heads up. After reading about this, my best guess is that the setting should probably be zero, at least for now, but that needs to be tested and I will hopefully have time to test it this coming week. I'll let you know what I figure out.

@morrownr

moisespr123 commented 1 year ago

Makes sense. I'm using hostapd with it but noticed that I'm only getting 300mbps on the 5ghz channel whereas before I was getting up to 866mbps.

It will be interesting to see if this has anything to do. I haven't yet changed it nor compiled it but will do as we now have the first 6.3.0 RC release.