Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
stylenone


Introduction

Band Steering is a solution ensures that clients are connected to the best radio. Dual Band supported Gateway can transmit SSIDs in both 2.4GHz and 5GHz frequency band. Band Steering solution does upgrade steering ( from 2.4 GHz to 5 GHz) and downgrade steering (5 GHz to 2.4 GHz) which allows optimal utilization of both bands. The Steering of the Wireless clients are based on the following parameter,

...

The purpose of Band Steering feature is to maintain Wireless Clients in band best suited to them. For instance, a 5GHz capable client would be maintained in faster & wider-channeled 5GHz band but if the Received Signal Strength is lesser than the threshold value, the Client is moved to a wider-range 2.4GHz band.

Design Considerations

Decision Overview

The most basic prerequisite of Band Steering is both the 2.4GHz and the 5GHz frequency band must have the same SSID and passphrase. The wireless Clients will be steered to a better band only if SSID and password are same. So before performing Band Steering operations, same SSID, Authentication Mechanism and  passphrase are set to both 2.4GHz and 5GHz band. The enable & disabling of the Band Steering feature is done by dmcli command. Changes are done in WiFiHal and meta-cmf-raspberrypi layer.

WiFi HAL Changes

Modified Wifi Hal APIs related to Band Steering are as follows,

wifi_setBandSteeringEnable

On Enabling, checks if the Device is dual band capable and makes sure that the SSID, passphrase and Authentication mechanism is same in both 2.4GHz and 5GHz. Sets syscfg value for "band_steering_enable" as "1"

When disabled, resets the configured SSIDs, passphrase and Authentication Mechanism in 5GHz band. Also sets syscfg value for "band_steering_enable" as "0".

wifi_getBandSteeringEnable

Returns the Band Steering status of the device, this is done by using the syscfg get "band_steering_enable" variable.

wifi_getBandSteeringCapability

Returns true if the device can transmit SSID in both 2.4GHz and 5GHz band, else return false. The return type is the device capability to support Band Steering Feature.

Other Component Changes

A compilation flag is defined to include WiFi Band Steering related calls in the CcspWifiAgent component.

System default is added with name "band_steering_enable" to track band steering status, whether enabled/disbaled.

Band Steering Use cases

  • RSSI Threshold for client devices which support both 2.4GHz and 5GHz -

...

a. Client has associated with a non-preferred band, RSSI is checked if it is above threshold. If it is above threshold, client is disassociated from the band and Steered to preferred band using Pre-association procedure.

Post-association Band Steering using RSSI Threshold
Description

RSSI is the Received Signal Strength of the probe request sent by the Client to the APs for connection establishment. RSSI will always be a negative value when converted to dbm.

...

For this, the events generated when the clients probe requests to gateway have to be captured. If the clients probe request to 2.4GHz band always, they are considered to be capable of connecting only to 2.4GHz. If the clients are found to be probing requests on both 2.4GHz and 5GHz band, then they are capable of connecting to 5GHz network.

Approach

Command to obtain Signal Level value for multiple client:

...

The above command will check if client has probed any request to gateway in 5GHz band. If the value is NULL, it will remain connected in 2.4GHz.

Sequence diagram

draw.io Diagram
bordertrue
diagramNameSequence_Diagram_BS
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth621
revision6

Band Steering using Utilization Threshold (To be updated further)
Description

Band Utilization is the number of channel bands occupied by clients. The Utilization threshold is set to a default value. When the Number of Clients connected to 5GHz band are more than the threshold value, the clients have to be steered to 2.4GHz band. This is done to improve the network quality to the connected clients.

...

Hence, the RSSI threshold and Utilization threshold implementations have to be combined to achieve a better Band Steering.

Approach

a. Density/Number of Clients in the Band

...

Need the information from driver

Sequence Diagram

draw.io Diagram
bordertrue
diagramNameSequence_Diagram_BS_Utilization
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth621
revision5

implementation

Architecture
  • Layout

draw.io Diagram
bordertrue
diagramNameBandSteeringArch
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth707
revision1

Implementation of Band Steering using RSSI Threshold:

Frequency Band Client is connected to

Client capability for 5GHz

Expected behaviorCurrent behavior

RSSI signal < RSSI Threshold

RSSI signal >= RSSI Threshold

5GHz

Y

Switch to 2.4GHz

Remain in 5GHz

Pass

2.4GHz

Y

Remain in 2.4GHz

Switch to 5GHz

Pass

2.4GHz

N

Remain in 2.4GHz

Remain in 2.4GHz

Pass

Please refer to User Manual for Band Steering for further details.

Data Model


S.noModuledmcli commandDescription
1WiFi - TR181-WiFi-USGv2.XML

Device.WiFi.X_RDKCENTRAL-COM_BandSteering.Enable

used to  enabled/disbaled Band Steering
2WiFi - TR181-WiFi-USGv2.XML

Device.WiFi.X_RDKCENTRAL-COM_BandSteering.APGroup

sets/returns AP Group name
3WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.Capability

returns Band Steering Device level capability

4WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.HistoryHistory of Clients Steered across bands
5WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.<radio-index>.UtilizationThresholdBandwidth Utilization threshold for 2.4/5 GHz
6WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.<radio-index>.RSSIThresholdSignal Strength threshold for 2.4/5 GHz
7WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.<radio-index>.PhyRateThresholdPhysical Transmit rate thresholdrate for a Client in a band
8WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.<radio-index>.OverloadInactiveTimeThreshold inactive time of a client during band overload condiiton
9WiFi - TR181-WiFi-USGv2.XMLDevice.WiFi.X_RDKCENTRAL-COM_BandSteering.<radio-index>.IdleInactiveTimeThreshold inactive time of a client during Idle condiiton


Limitations

  • Band Steering feature is limited only to dual/tri band radio capable devices.
  • Steering of 5 GHz capable wireless clients can be done only when SSID and security parameters are same for both 2.4GHz and 5GHz.

Future Enhancements

  • Steering of Clients are based on Utilization threshold. These use cases need to be implemented.
  • A table for maintaining mac addresses of clients which are identified to be incapable for connecting to 5GHz.

...