Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

luci-wireless: add 11be support #7279

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

rmandrad
Copy link

@rmandrad rmandrad commented Sep 14, 2024

Add 11be support

Tested with banana rpi-4

In order to complete 11be support - the below pulls will need to be applied

RPCD - openwrt/rpcd#5
iwinfo - openwrt/iwinfo#10

Signed-off-by: Rudy Andram [email protected]

@rmandrad
Copy link
Author

rmandrad commented Sep 14, 2024

screenshot / tested with banana rpi-4

image

@rmandrad rmandrad changed the title add 11be support luci-wireless add 11be support Sep 14, 2024
@rmandrad rmandrad changed the title luci-wireless add 11be support luci-wireless: add 11be support Sep 14, 2024
@rmandrad rmandrad closed this Sep 14, 2024
@rmandrad rmandrad reopened this Sep 14, 2024
@systemcrash systemcrash marked this pull request as draft September 14, 2024 20:26
@rmandrad rmandrad marked this pull request as ready for review September 15, 2024 11:19
@systemcrash systemcrash added the depends on PR in other repo PR depends on PR in sister repo e.g. openwrt/packags label Sep 15, 2024
@systemcrash systemcrash marked this pull request as draft September 16, 2024 13:51
danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 17, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279
@rmandrad rmandrad marked this pull request as ready for review September 17, 2024 18:11
@rmandrad
Copy link
Author

rmandrad commented Sep 18, 2024

the below are now released

RPCD - openwrt/rpcd#5
iwinfo - openwrt/iwinfo#10

@rmandrad
Copy link
Author

@hnyman would you mind to have a look at this pr? both the RPCD and iwinfo PRs have been committed. thank you

@systemcrash
Copy link
Contributor

the below are now released

What do you mean, 'released'?

RPCD - openwrt/rpcd#5 iwinfo - openwrt/iwinfo#10

@rmandrad
Copy link
Author

rmandrad commented Sep 18, 2024

the below are now released

What do you mean, 'released'?

RPCD - openwrt/rpcd#5 iwinfo - openwrt/iwinfo#10

yes those dependent PRs have been merged

@systemcrash
Copy link
Contributor

yes those dependent PRs have been merged

merged.... where?

danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 18, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
@systemcrash
Copy link
Contributor

Ah, OK. I see now. That was confusing because your linked PRs were/are not merged.

@rmandrad
Copy link
Author

Ah, OK. I see now. That was confusing because your linked PRs were/are not merged.

yes I was confused also ... but it got there eventually somehow ;)

@dannil
Copy link
Contributor

dannil commented Sep 18, 2024

You should also update getHTModes() JSDoc to reflect the new EHT channel widths.

--- a/modules/luci-base/htdocs/luci-static/resources/network.js
+++ b/modules/luci-base/htdocs/luci-static/resources/network.js
@@ -3396,6 +3396,11 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ {
         *  - `HE40` - applicable to IEEE 802.11ax, 40 MHz wide channels
         *  - `HE80` - applicable to IEEE 802.11ax, 80 MHz wide channels
         *  - `HE160` - applicable to IEEE 802.11ax, 160 MHz wide channels
+        *  - `EHT20` - applicable to IEEE 802.11be, 20 MHz wide channels
+        *  - `EHT40` - applicable to IEEE 802.11be, 40 MHz wide channels
+        *  - `EHT80` - applicable to IEEE 802.11be, 80 MHz wide channels
+        *  - `EHT160` - applicable to IEEE 802.11be, 160 MHz wide channels
+        *  - `EHT320` - applicable to IEEE 802.11be, 320 MHz wide channels
         */
        getHTModes: function() {
                var htmodes = this.ubus('dev', 'iwinfo', 'htmodes');

danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 19, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 19, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 20, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 20, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
@rmandrad
Copy link
Author

@systemcrash @hnyman @dannil anything you need in order to approve this PR ? thank you

@systemcrash
Copy link
Contributor

Please remove all merge commits and just rebase on master. Squash all your commits into one.

@rmandrad
Copy link
Author

thank you @systemcrash let me know if looks fine as per your ask

@systemcrash
Copy link
Contributor

squash all your commits please

@rmandrad
Copy link
Author

@systemcrash sorry my rebase -i (a single pick and the remaining commit squash) somehow didn't squashed it into a single commit ... there's a single commit now doing it differently hope it works for you

@dannil
Copy link
Contributor

dannil commented Sep 21, 2024

@systemcrash @hnyman @dannil anything you need in order to approve this PR ? thank you

Is this the branch that's continuously being integrated in the custom WiFi 7 build by @danpawlik in https://forum.openwrt.org/t/banana-bpi-r4-wifi7-status/201051/278? In that case I think we should wait for reports about eventual issues if it's being tested anyway so this PR is as complete as possible.

@@ -3374,7 +3374,7 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ {
*/
getHWModes: function() {
var hwmodes = this.ubus('dev', 'iwinfo', 'hwmodes');
return Array.isArray(hwmodes) ? hwmodes : [ 'b', 'g' ];
return Array.isArray(hwmodes) ? hwmodes : [ 'b', 'g', 'n', 'ac', 'ax', 'be' ];
Copy link
Contributor

@dannil dannil Sep 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit unsure about this change, what I assume happens here is that if the HW modes for a specific wireless device is returned as an array if they could be found, it will use that one as the return value of getHWModes, and if not, it falls back to the pre-defined array.

With this change this now seems to indicate HW mode capabilities up to 802.11be for all wireless devices if they don't return a proper HW modes array. I assume the default is ['b', 'g'] since when this code was introduced, those were the supported 802.11 stacks in OpenWrt, meaning by virtue of WiFi's backwards compatibility those will be the lowest common denominators. If this is the case, it would explain why n, ac, and ax was left out prior to this change.

Has this been tested on non-WiFi 7-devices and the eventual impact it might have if HW modes isn't correctly fetched for a wireless device? I've never touched this code before so any input is appreciated, I feel like this needs to be tested.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so I tested this on ip807x qualcommax (qnap) - as you can see BE doesn't show based on the iwinfo capabilities - so what I would do is to put it back to the original ... the banana pi4 still shows 'be'
image

let me know if you agree - probably worth adding a comment to that function on the likes of what you just made

@@ -3374,7 +3374,7 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ {
*/
getHWModes: function() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a notice in the JSDoc about be.

danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 21, 2024
The forked luci project contains a patch [1] that will enable
BE standard.

[1] - openwrt/luci#7279

(cherry picked from commit 4d65ad8)
(cherry picked from commit e759911)
danpawlik added a commit to danpawlik/openwrt that referenced this pull request Sep 21, 2024
This commit provides switch luci project to use branch that contains
patch for BE standard [1].
The rpcd repository contains a patch [2] that will bring BE wireless
standard.
Also update iwinfo project to apply patches [3][4].

[1] - openwrt/luci#7279
[2] - openwrt/rpcd#5
[3] openwrt/iwinfo#11
[4] openwrt/iwinfo#10

(cherry picked from commit 97d6044)
Add 11be support

Tested with banana rpi-4

Signed-off-by: Rudy Andram <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depends on PR in other repo PR depends on PR in sister repo e.g. openwrt/packags
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants