OpenWrt on AX3600

Build Infrastructure - CXP11 - Ubuntu 20.04 - https://www.hetzner.com/cloud

Prepare the vanilla Ubuntu 20.04 as root:

apt-get update
apt-get upgrade -v
apt install build-essential ccache ecj fastjar file g++ gawk gettext git java-propose-classpath libelf-dev libncurses5-dev libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget python3-distutils python3-setuptools python3-dev rsync subversion swig time xsltproc zlib1g-dev

Create and become build user:

useradd -m build
su - build
bash

Prepare building the image, in menuconfig go into LuCI and select your desired deployment:

git clone https://github.com/robimarko/openwrt.git
cd openwrt
ls
git pull
git branch -a
git tag
git checkout ipq807x-5.15
./scripts/feeds update -a
./scripts/feeds install -a
echo 'CONFIG_TARGET_ipq807x=y' > .config
echo 'CONFIG_TARGET_ipq807x_generic=y' >> .config
echo 'CONFIG_TARGET_ipq807x_generic_DEVICE_xiaomi_ax3600=y' >> .config
echo 'CONFIG_HAS_SUBTARGETS=y' >> .config
echo 'CONFIG_TARGET_BOARD="ipq807x"' >> .config
echo 'CONFIG_TARGET_SUBTARGET="generic"' >> .config
echo 'CONFIG_TARGET_PROFILE="DEVICE_xiaomi_ax3600"' >> .config
echo 'CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"' >> .config
echo 'CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -mcpu=cortex-a53"' >> .config
echo 'CONFIG_TARGET_ROOTFS_INITRAMFS=y' >> .config
echo 'CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD=y' >> .config
echo 'CONFIG_TARGET_ROOTFS_SQUASHFS=y' >> .config
echo 'CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=256' >> .config
echo 'CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP=y' >> .config
echo 'CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mcpu=cortex-a53"' >> .config
echo 'CONFIG_TARGET_SUFFIX="musl"' >> .config
echo "CONFIG_PACKAGE_nss-firmware-ipq8074=y" >> .config
echo "CONFIG_PACKAGE_kmod-qca-nss-dp=y" >> .config
make menuconfig

Below is the build command I ran because I had some challenges earlier, probably works perfectly as make -j $(nproc) defconfig download clean world

make kernel_menuconfig
make -j1 V=sc defconfig download clean world 

Possible radio configuration

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc/20000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
	option country 'DE'
	option mu_beamformer '1'
	option distance '300'
	option frag '2346'
	option rts '2346'
	option band '2g'
	option channel '1'
	option legacy_rates '1'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option encryption 'psk2'
	option key '***'
	option ssid 'WifiIOT'
	option disabled '1'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc/c000000.wifi'
	option band '5g'
	option country 'DE'
	option mu_beamformer '1'
	option distance '300'
	option frag '2346'
	option rts '2346'
	option legacy_rates '1'
	option htmode 'HE160'
	option channel 'auto'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option encryption 'psk2'
	option key '***'
	option ssid 'WifiName'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'platform/soc/c000000.wifi+1'
	option band '2g'
	option country 'DE'
	option channel 'auto'
	option mu_beamformer '1'
	option distance '500'
	option frag '2346'
	option rts '2346'
	option legacy_rates '1'
	option htmode 'HE40'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option encryption 'psk2'
	option key '****'
	option ssid 'WifiName'