Go to file
ravi vaishnav 2c5d1188df Wifi-5995. Fix for CSA failure and invalid chan/BW config
A channel change request from RRM while a reload_config is in
progress cause the new CSA attempt fail. AP updated the UCI
no matter if the CSA attempt failed or passed. This leads to
the AP not re-trying the CSA again.

Furthermore another issue is seen when an invalid channel/BW
combination is configured. Solution is to update the Bandwidth
as per channel change request is made via CSA.

Example: BW already configured for 40MHz, and then the channel
change attempt is made to 165. The channel change code takes care
of downgrading the BW to 20MHz while sending the request down to
the driver, but did not update the same in the UCI config.
UCI config reads as 165/40. A reloadconfig thereafter causes this
invalid combination 165/40 attempt which leads to radio stay disabled.

Signed-off-by: ravi vaishnav <ravi.vaishnav@netexperience.com>
2021-12-02 17:47:42 -05:00
.github ipq40xx: HFCL ION4 Target addition 2021-09-09 09:34:59 -04:00
docker wlan-ap: changed docker PATH to docker to speed up compilation. 2020-10-16 15:42:21 +02:00
feeds Wifi-5995. Fix for CSA failure and invalid chan/BW config 2021-12-02 17:47:42 -05:00
patches ipq4019: Single PHY VLAN Fix. 2021-12-01 17:36:38 -05:00
patches-20.x openwrt-20.x: add support for latest 20.x 2020-12-02 12:14:16 +01:00
profiles WIFI-5982: update ath11k 2021-11-29 17:16:50 -05:00
profiles-20.x WIFI-1845: Added functionality to rotate the logs for ovsdb 2021-05-27 11:41:40 -04:00
.gitignore openwrt-20.x: add support for latest 20.x 2020-12-02 12:14:16 +01:00
build.sh WIFI-5982: update ath11k 2021-11-29 17:16:50 -05:00
config-20.x.yml openwrt-20.x: add support for latest 20.x 2020-12-02 12:14:16 +01:00
config.yml patches: move all patches into a single folder 2020-09-22 18:20:11 +02:00
dock-run.sh wlan-ap: changed docker PATH to docker to speed up compilation. 2020-10-16 15:42:21 +02:00
LICENSE.md LICENSE.md: add file 2020-07-07 08:23:17 +02:00
Makefile wlan-ap: initial import 2020-07-01 15:35:04 +02:00
README.md README.md: update to include the 20.x build info 2020-12-02 12:14:16 +01:00
setup.py openwrt-20.x: add support for latest 20.x 2020-12-02 12:14:16 +01:00

Setting up your build machine

Requires a recent linux installation. Older systems without python 3.7 will have trouble. See this link for details: https://openwrt.org/docs/guide-developer/quickstart-build-images

Install build packages: sudo apt install build-essential libncurses5-dev gawk git libssl-dev gettext zlib1g-dev swig unzip time rsync python3 python3-setuptools python3-yaml.

Plus specific for TIP: sudo apt-get install openvswitch-common

Doing a native build on Linux (OpenWrt 19.07 based)

First we need to clone and setup our tree. This will result in an openwrt/.

python3 setup.py --setup

Next we need to select the profile and base package selection. This setup will install the feeds, packages and generate the .config file. The available profiles are ap2220, ea8300, ecw5211, ecw5410.

cd openwrt
./scripts/gen_config.py ap2220 wlan-ap wifi

If you want to build an AX image you need to setup a different config. The available profiles are hawkeye, cypress, wallaby.

cd openwrt
./scripts/gen_config.py wallaby wifi-ax

Finally we can build the tree.

make -j X V=s

Builds for different profiles can co-exist in the same tree. Switching is done by simple calling gen_config.py again.

Doing a native build on Linux (OpenWrt 20.x based)

First we need to clone and setup our tree. This will result in an openwrt-20.x/.

python3 setup.py --setup --20x

Next we need to select the profile and base package selection. This setup will install the feeds, packages and generate the .config file. The available profiles are ap2220, ea8300, ecw5211, ecw5410. It is no longer required to add the wifi profile. Board profiles will now include their specific wifi flavour profile automatically.

cd openwrt
./scripts/gen_config.py ap2220 wlan-ap

Finally we can build the tree.

make -j X V=s

Builds for different profiles can co-exist in the same tree. Switching is done by simple calling gen_config.py again.

Doing a docker build

Start by installing docker.io on your host system and ensuring that you can run an unprivileged container. Once this is done edit the Dockerfile and choose the Ubuntu flavour. This might depend on your host installation. Then simple call (available targets are AP2220, EA8300, ECW5211, ECW5410)

TARGET=AP2200 make -j 8