linux-router icon indicating copy to clipboard operation
linux-router copied to clipboard

WiFi 6 Support

Open kphanipavan opened this issue 1 year ago • 3 comments
trafficstars

Adds partial wifi 6 support.

Connection Test Screenshot:

Tested on an RTL8852BE WifFi 6 PCIe Card for hotspot and a Samsung S24+ Phone as host

Command used for testing: sudo /usr/local/bin/lnxrouter --dns 127.0.0.1 -d --ap $interface rock5boi -p asiudfbla --no-virt -c 149 --freq-band 5 -w "1+2" --no-virt --hs20 --wifi4 --req-ht --ht-capab "[HT40+][HT40-][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40][SMPS-STATIC]" --wifi5 --req-vht --vht-capab "[MAX-MPDU-11454][RXLDPC][SHORT-GI-80][TX-STBC-2BY1][SU-BEAMFORMEE][HTC-VHT]" --vht-ch-width 1 --vht-seg0-ch 155 --country BZ --no-dnsmasq -g 10.9.8.1 --ieee80211ax --he-ch-width 1 --he-seg0-ch 155

New arguments:

  1. --wifi6 Enable IEEE 802.11ax (HE)
  2. --req-he Require station HE (High Efficiency) mode
  3. --he-ch-width <index> Index of HE channel width: 0 for 20MHz or 40MHz (default) 1 for 80MHz 2 for 160MHz 3 for 80+80MHz (Non-contigous 160MHz)
  4. --he-seg0-ch <channel> Channel index of HE center frequency for primary segment. Use with '--he-ch-width'
  5. --he-seg1-ch <channel> Channel index of HE center frequency for secondary (second 80MHz) segment. Use with '--he-ch-width 3'

Above arguments operate similar to their wifi5 counterparts.

Notes:

  • Wifi 6 requires hostapd built with wifi 6 support, with "CONFIG_IEEE80211AX=y" in buildconf
  • Wifi 6 hotspot only works with wifi 6 cards only
  • Requires additional testing
  • Need to add more HE capabilities to the script.
  • Wifi 6 is backward compatible with wifi 5 clients only if --req-he is NOT used.
Error when trying to connect with a WiFi 5 client to a WiFi 6 Hotspot WITH `--req-he`

Red box shows the error when a wifi 5 client tries to connect when --req-he is used. Green box shows a successful connection to a wifi 6 client

Screenshot_20240921_171254

kphanipavan avatar Sep 21 '24 11:09 kphanipavan

Sorry for late reply. Could you please rebase? Your commit seems to base on a quite old branch

garywill avatar Sep 27 '24 15:09 garywill

Hope this will come soon

upsangel avatar Jun 07 '25 09:06 upsangel

I havent been having much time to work on this. We may have to celebrate 1 year anniversary of this mr before I can add any changes 😅

kphanipavan avatar Jun 07 '25 09:06 kphanipavan

The base branch is referring 0.6.7 script

@garywill can you fix that? I used the latest commit on your master branch to add my changes.

kphanipavan avatar Jun 14 '25 07:06 kphanipavan

I merged the 2 branches. Haven't tested or reviewed the code. I'm still busy on other jobs. Need some time before we merge this PR.

garywill avatar Jun 17 '25 05:06 garywill

Dear all I have a MTK7621AU USB currently works well with WIFI5 via Linux router latest release. I can help test the WiFi 6 cap could you please hint me which script should I test with? Excuse me I am not a trained developer have has limited knowledge on the git control thing.

upsangel avatar Jun 26 '25 02:06 upsangel

Use this script: https://github.com/kphanipavan/linux-router/blob/master/lnxrouter

Also, make sure you have a wifi 6 card. MT76 series support upto wifi 5 only.

kphanipavan avatar Jun 26 '25 04:06 kphanipavan

Use this script: https://github.com/kphanipavan/linux-router/blob/master/lnxrouter

Also, make sure you have a wifi 6 card. MT76 series support upto wifi 5 only.

Thank you I will have a try and report back.

  • It's MT7921AU indeed

upsangel avatar Jun 26 '25 05:06 upsangel

@kphanipavan Did you test 6GHz (6e) ? If this pr includes 6GHz feature, we also need to change several FREQ_BAND judgement. If not, we can do that in the future when we really take 6GHz as a feature

garywill avatar Jul 26 '25 03:07 garywill

@garywill I didnt test 6e yet. This pr is only for WiFi 6, not 6e. Lets deal with 6e later. Lets have wifi 6 complete and stable for v0.8. I still have some more flags to add.

kphanipavan avatar Jul 28 '25 05:07 kphanipavan

Hold on... I'm going go click squash merge for this pr, to make the git history tree tidy. Let me revert the lint commit first. Open a new pr for new commits, after squash merge

garywill avatar Jul 28 '25 06:07 garywill

Ok. I am working on adding more wifi6 feature flags. I will create new pr for those. I will also add the lint commit to that pr.

Cheers for the merge. Hoping people test this before I am done with the features pr.

kphanipavan avatar Jul 28 '25 06:07 kphanipavan

Done Screenshot_20250728_142716

garywill avatar Jul 28 '25 06:07 garywill