Repository navigation
Building
The builder holds the exact configuration of the prebuilt images: a shared config, one config per board group, overlay files and a few feed patches. To build it on GitHub, fork the builder and run its Build workflow. To build locally:
git clone --branch ppe-nss https://github.com/JuliusBairaktaris/openwrt-ppe-nss openwrt
git clone https://github.com/JuliusBairaktaris/Qualcommax_NSS_Builder builder
cd openwrt
cp feeds.conf.default feeds.conf
echo "src-git nss https://github.com/JuliusBairaktaris/nss-packages.git;edma-nss" >> feeds.conf
sed -i 's|^src-git luci .*|src-git luci https://github.com/JuliusBairaktaris/luci.git;luci-app-ppe-qos|' feeds.conf
./scripts/feeds update -a && ./scripts/feeds install -a
patch -d feeds/packages -p1 < ../builder/patches/feeds/ppe-nss/packages/0001-*.patch
cat ../builder/devices/common/config ../builder/devices/xiaomi_ax3600/config > .config
make defconfig
make -j"$(nproc)"Replace xiaomi_ax3600 with the group of your board (see
Hardware Support). For the mesh images, also append
../builder/devices/common/config.mesh to the .config.
The extra feeds and the patch add:
-
nss-firmware, from thenssfeed; -
luci-app-ppe-qos, from the luci fork; -
hw_ppe.qos, by pointingsqm-scriptsat its fork.
The overlay files under devices/*/files* (first-boot defaults, the
AX3600 wireless config) are copied into the image by the builder's
scripts/prepare-build.sh. Copy them into files/ yourself if you want
them.
For your own config on top of stock qualcommax, the NSS Wi-Fi offload needs only:
CONFIG_PACKAGE_kmod-nss-wifi-drv=y
CONFIG_ATH11K_NSS_WIFI=y
CONFIG_NSS_FIRMWARE_VERSION_12_5=y
Or, for mesh:
CONFIG_PACKAGE_kmod-nss-wifi-drv=y
CONFIG_ATH11K_NSS_WIFI=y
CONFIG_NSS_FIRMWARE_VERSION_11_4=y
CONFIG_PACKAGE_wpad-mesh-openssl=y
The seeds/ directory of the tree holds both as
qualcommax-nss-wifi.seed and qualcommax-nss-wifi-mesh.seed:
cat seeds/qualcommax-nss-wifi.seed >> .config
make defconfigThe wired offload is part of the target and needs no build option. Turn on hardware flow offloading at runtime (see Wired Offload).
For SQM and queue classes, add sqm-scripts, luci-app-sqm, ppe-qos and
luci-app-ppe-qos, with the luci feed and sqm-scripts patch above.
ppe-qos pulls in the tc packages it needs.
ppe-nss is rebased often, so git pull does not work on it. Use:
git fetch origin
git reset --hard origin/ppe-nss
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfigAfter switching branches or after a large rebase, remove tmp/ before
make defconfig. Stale package metadata there can cause Kconfig errors
such as a recursive dependency between kmod-ath11k and
ATH11K_NSS_WIFI.
The images use their own kernel, so kernel modules from the official OpenWrt package feeds do not load on them. Build every kmod you need into the image.