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

wireless: T6320: Add 802.11ax at 6GHz to VyOS #3524

Merged
merged 1 commit into from
Jun 28, 2024
Merged

Conversation

alainlamar
Copy link
Contributor

@alainlamar alainlamar commented May 26, 2024

Change Summary

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Related PR(s)

Component(s) name

  • wireless

Proposed changes

  • Add WiFi-6e (802.11ax at 6GHz) to VyOS

How to test

  1. Testing is explained in https://vyos.dev/T6320 as there is a sample VyOS config given.
  2. Configure a WiFi NIC in HE mode (802.11ax) at 6GHz
  3. Connect to that box from a different machine using either wpa_supplicant or NetworkManager.
  4. Use iperf3 to test throughput.

Smoketest result

As of May 30th, smoketests succeed.

vyos@vyos:~$ /usr/libexec/vyos/tests/smoke/cli/test_interfaces_wireless.py
test_add_multiple_ip_addresses (__main__.WirelessInterfaceTest.test_add_multiple_ip_addresses) ... ok
test_add_single_ip_address (__main__.WirelessInterfaceTest.test_add_single_ip_address) ... ok
test_dhcp_client_options (__main__.WirelessInterfaceTest.test_dhcp_client_options) ... ok
test_dhcp_disable_interface (__main__.WirelessInterfaceTest.test_dhcp_disable_interface) ... ok
test_dhcp_vrf (__main__.WirelessInterfaceTest.test_dhcp_vrf) ... ok
test_dhcpv6_client_options (__main__.WirelessInterfaceTest.test_dhcpv6_client_options) ... ok
test_dhcpv6_vrf (__main__.WirelessInterfaceTest.test_dhcpv6_vrf) ... ok
test_dhcpv6pd_auto_sla_id (__main__.WirelessInterfaceTest.test_dhcpv6pd_auto_sla_id) ... ok
test_dhcpv6pd_manual_sla_id (__main__.WirelessInterfaceTest.test_dhcpv6pd_manual_sla_id) ... ok
test_interface_description (__main__.WirelessInterfaceTest.test_interface_description) ... ok
test_interface_disable (__main__.WirelessInterfaceTest.test_interface_disable) ... ok
test_interface_ip_options (__main__.WirelessInterfaceTest.test_interface_ip_options) ... ok
test_interface_ipv6_options (__main__.WirelessInterfaceTest.test_interface_ipv6_options) ... skipped 'not supported'
test_interface_mtu (__main__.WirelessInterfaceTest.test_interface_mtu) ... skipped 'not supported'
test_ipv6_link_local_address (__main__.WirelessInterfaceTest.test_ipv6_link_local_address) ... skipped 'not supported'
test_mtu_1200_no_ipv6_interface (__main__.WirelessInterfaceTest.test_mtu_1200_no_ipv6_interface) ... skipped 'not supported'
test_span_mirror (__main__.WirelessInterfaceTest.test_span_mirror) ... skipped 'not supported'
test_vif_8021q_interfaces (__main__.WirelessInterfaceTest.test_vif_8021q_interfaces) ... skipped 'not supported'
test_vif_8021q_lower_up_down (__main__.WirelessInterfaceTest.test_vif_8021q_lower_up_down) ... skipped 'not supported'
test_vif_8021q_mtu_limits (__main__.WirelessInterfaceTest.test_vif_8021q_mtu_limits) ... skipped 'not supported'
test_vif_8021q_qos_change (__main__.WirelessInterfaceTest.test_vif_8021q_qos_change) ... skipped 'not supported'
test_vif_s_8021ad_vlan_interfaces (__main__.WirelessInterfaceTest.test_vif_s_8021ad_vlan_interfaces) ... ok
test_vif_s_protocol_change (__main__.WirelessInterfaceTest.test_vif_s_protocol_change) ... ok
test_wireless_access_point_bridge (__main__.WirelessInterfaceTest.test_wireless_access_point_bridge) ... ok
test_wireless_add_single_ip_address (__main__.WirelessInterfaceTest.test_wireless_add_single_ip_address) ... ok
test_wireless_hostapd_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_config) ... ok
test_wireless_hostapd_he_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_he_config) ... ok
test_wireless_hostapd_wpa_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_wpa_config) ... ok
test_wireless_security_station_address (__main__.WirelessInterfaceTest.test_wireless_security_station_address) ... ok

----------------------------------------------------------------------
Ran 29 tests in 180.775s

OK (skipped=9)

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the components SMOKETESTS if applicable
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

@alainlamar alainlamar requested a review from a team as a code owner May 26, 2024 21:45
@alainlamar alainlamar changed the title T6320 T6320: Add WiFi-6e to VyOS May 26, 2024
@sever-sever
Copy link
Member

I'm worried about smoketest fails.

Copy link
Member

@dmbaturin dmbaturin left a comment

Choose a reason for hiding this comment

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

I think completion and help can also be improved quite a bit.

interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
@alainlamar alainlamar requested a review from dmbaturin May 28, 2024 08:27
@alainlamar
Copy link
Contributor Author

I'm worried about smoketest fails.

Hi Viacheslav,

There is one test test_wireless_hostapd_wpa_config constantly failing on assertRaises(ConfigSessionError). However, this exception is being thrown on test execution, as one can see in the test output where there is the exception error message present. I'm out of clue why assertRaises does not capture the exception here.

There is also another test case test_wireless_security_station_address which fails erraticaly. Sometimes it fails, sometimes not. My "fix" with time.sleep(1) did not help there. Here, I am also out of clue why this happens.

Until now, I fail to see a link pointing to the newly implemented HE feature as reason why these test cases do not work.

Any advice on the matter would be very much appreciated.
Thanks a lot!

@alainlamar alainlamar changed the title T6320: Add WiFi-6e to VyOS T6320: Add 802.11ax at 6GHz to VyOS May 29, 2024
@alainlamar alainlamar changed the title T6320: Add 802.11ax at 6GHz to VyOS wireless: T6320: Add 802.11ax at 6GHz to VyOS May 29, 2024
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
interface-definitions/interfaces_wireless.xml.in Outdated Show resolved Hide resolved
smoketest/scripts/cli/test_interfaces_wireless.py Outdated Show resolved Hide resolved
smoketest/scripts/cli/test_interfaces_wireless.py Outdated Show resolved Hide resolved
@c-po
Copy link
Member

c-po commented May 30, 2024

@alainlamar which hardware do you use for WIFI 6e?

@alainlamar
Copy link
Contributor Author

@alainlamar which hardware do you use for WIFI 6e?

I use Mediatek devices due to the lack of availability of decent Qualcomm Atheros (ath11k) here in Germany. I have these WiFi modules under test:

  • Mediatek Filogic 630 (MT7916) Network controller [0280]: MEDIATEK Corp. Device [14c3:7906]
  • Mediatek Filogic 330 (MT7922/AMD-RZ616) Network controller [0280]: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]

I am testing on a PC-Engines APU3 using a mPCIe version of the MT7916 module and the MT7922 M.2 NGFF module on a DeLOCK adapter to fit into mPCIe.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@c-po
Copy link
Member

c-po commented Jun 18, 2024

Please resolve merge conflicts by rebasing to latest version of current

data/templates/wifi/hostapd.conf.j2
interface-definitions/interfaces_wireless.xml.in
smoketest/scripts/cli/test_interfaces_wireless.py

@c-po c-po self-requested a review June 18, 2024 18:53
Copy link

Conflicts have been resolved. A maintainer will review the pull request shortly.

@c-po
Copy link
Member

c-po commented Jun 27, 2024

[email protected]:~$ /usr/libexec/vyos/tests/smoke/cli/test_interfaces_wireless.py
test_add_multiple_ip_addresses (__main__.WirelessInterfaceTest.test_add_multiple_ip_addresses) ... ok
test_add_single_ip_address (__main__.WirelessInterfaceTest.test_add_single_ip_address) ... ok
test_dhcp_client_options (__main__.WirelessInterfaceTest.test_dhcp_client_options) ... ok
test_dhcp_disable_interface (__main__.WirelessInterfaceTest.test_dhcp_disable_interface) ... ok
test_dhcp_vrf (__main__.WirelessInterfaceTest.test_dhcp_vrf) ... ok
test_dhcpv6_client_options (__main__.WirelessInterfaceTest.test_dhcpv6_client_options) ... ok
test_dhcpv6_vrf (__main__.WirelessInterfaceTest.test_dhcpv6_vrf) ... ok
test_dhcpv6pd_auto_sla_id (__main__.WirelessInterfaceTest.test_dhcpv6pd_auto_sla_id) ... ok
test_dhcpv6pd_manual_sla_id (__main__.WirelessInterfaceTest.test_dhcpv6pd_manual_sla_id) ... ok
test_interface_description (__main__.WirelessInterfaceTest.test_interface_description) ... ok
test_interface_disable (__main__.WirelessInterfaceTest.test_interface_disable) ... ok
test_interface_ip_options (__main__.WirelessInterfaceTest.test_interface_ip_options) ... ok
test_interface_ipv6_options (__main__.WirelessInterfaceTest.test_interface_ipv6_options) ... skipped 'not supported'
test_interface_mtu (__main__.WirelessInterfaceTest.test_interface_mtu) ... skipped 'not supported'
test_ipv6_link_local_address (__main__.WirelessInterfaceTest.test_ipv6_link_local_address) ... skipped 'not supported'
test_mtu_1200_no_ipv6_interface (__main__.WirelessInterfaceTest.test_mtu_1200_no_ipv6_interface) ... skipped 'not supported'
test_span_mirror (__main__.WirelessInterfaceTest.test_span_mirror) ... skipped 'not supported'
test_vif_8021q_interfaces (__main__.WirelessInterfaceTest.test_vif_8021q_interfaces) ... skipped 'not supported'
test_vif_8021q_lower_up_down (__main__.WirelessInterfaceTest.test_vif_8021q_lower_up_down) ... skipped 'not supported'
test_vif_8021q_mtu_limits (__main__.WirelessInterfaceTest.test_vif_8021q_mtu_limits) ... skipped 'not supported'
test_vif_8021q_qos_change (__main__.WirelessInterfaceTest.test_vif_8021q_qos_change) ... skipped 'not supported'
test_vif_s_8021ad_vlan_interfaces (__main__.WirelessInterfaceTest.test_vif_s_8021ad_vlan_interfaces) ... ok
test_vif_s_protocol_change (__main__.WirelessInterfaceTest.test_vif_s_protocol_change) ... ok
test_wireless_access_point_bridge (__main__.WirelessInterfaceTest.test_wireless_access_point_bridge) ... ok
test_wireless_add_single_ip_address (__main__.WirelessInterfaceTest.test_wireless_add_single_ip_address) ... ok
test_wireless_hostapd_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_config) ... ok
test_wireless_hostapd_he_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_he_config) ... ok
test_wireless_hostapd_vht_mu_beamformer_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_vht_mu_beamformer_config) ... ok
test_wireless_hostapd_vht_su_beamformer_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_vht_su_beamformer_config) ... ok
test_wireless_hostapd_wpa_config (__main__.WirelessInterfaceTest.test_wireless_hostapd_wpa_config) ... ok
test_wireless_security_station_address (__main__.WirelessInterfaceTest.test_wireless_security_station_address) ... ok

----------------------------------------------------------------------
Ran 31 tests in 247.129s

OK (skipped=9)

@c-po c-po enabled auto-merge June 27, 2024 18:49
Copy link

👍 VyOS CLI smoketests finished successfully!

@c-po c-po dismissed dmbaturin’s stale review June 28, 2024 08:05

Completion and helper text improved

@c-po c-po merged commit 57c24a8 into vyos:current Jun 28, 2024
12 checks passed
@c-po
Copy link
Member

c-po commented Jul 22, 2024

@Mergifyio backport circinus sagitta

Copy link
Contributor

mergify bot commented Jul 22, 2024

backport circinus sagitta

✅ Backports have been created

c-po added a commit that referenced this pull request Jul 22, 2024
wireless: T6320: Add 802.11ax at 6GHz to VyOS (backport #3524)
c-po added a commit that referenced this pull request Jul 23, 2024
wireless: T6320: Add 802.11ax at 6GHz to VyOS (backport #3524)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

4 participants