Page MenuHomeVyOS Platform

WiFi: Beamformer support for 802.11ac (VHT at 5GHz) is broken
Open, NormalPublicBUG

Description

Configuring 802.11ac requires setting VHT capability flags. Technically, this is done by providing a list of features to the vht_capab variable in hostapd.conf. However, there are multiple flags which incorporate numbers whose values might depend on the presence of other flags and further settings.

The beamformer/beamformee setting is one such family of flags. Here, the numbers X in both flags [BF-ANTENNA-X] and [SOUNDING-DIMENSION-X] depends on two conditions:

a. the overall antenna count, and
b. if the single-user-beamformer capability is activated. In this case, X needs to be set to the number of antennas minus one.

The Bug:

  1. When configuring 802.11ac without beamforming, VHT flags are being created as expected.

VHT capabilities:

vht {
    antenna-count 3
    center-channel-freq {
        freq-1 42
    }
    channel-set-width 1
    max-mpdu 11454
    max-mpdu-exp 3
}

Resulting VHT flags in hostapd.conf:

vht_capab=[MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP-3]

  1. When configuring 802.11ac with multi-user-beamformer capabilities, VHT flags are rendered incomplete.

VHT capabilities:

vht {
    antenna-count 3
    beamform multi-user-beamformer
    center-channel-freq {
        freq-1 42
    }
    channel-set-width 1
    max-mpdu 11454
    max-mpdu-exp 3
}

Resulting VHT flags in hostapd.conf:

vht_capab=[BF-ANTENNA-3][SOUNDING-DIMENSION-3]

Expected result:

vht_capab=[MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP-3][BF-ANTENNA-3][SOUNDING-DIMENSION-3][MU-BEAMFORMER]

  1. When configuring 802.11ac with multi-user-beamformer and single-user-beamformer capabilities, VHT flags are rendered incomplete and with wrong numbers.

VHT capabilities:

vht {
    antenna-count 3
    beamform multi-user-beamformer
    beamform single-user-beamformer
    center-channel-freq {
        freq-1 42
    }
    channel-set-width 1
    max-mpdu 11454
    max-mpdu-exp 3
}

Resulting VHT flags in hostapd.conf:

vht_capab=[BF-ANTENNA-3][SOUNDING-DIMENSION-3]

Expected result:

vht_capab=[MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP-3][BF-ANTENNA-2][SOUNDING-DIMENSION-2][MU-BEAMFORMER][SU-BEAMFORMER]

Pull Request: https://github.com/vyos/vyos-1x/pull/3576

References:

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.5-rolling-202405262024 and VyOS 1.4.0-epa3
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)