🛠 Usages réseau : point d'accès Wi-Fi 6 sous hostapd et OpenWrt officiel
Objectives
The ZERO 3W is a serial network platform: dual-band Wi-Fi 6 + BT 5.4, mainline kernel since 6.10, and a first-class OpenWrt target status (official sysupgrade images ext4 & squashfs in the rockchip/armv8 target, for example release 25.12.0; TOH page openwrt.org/toh/hwdata/radxa/radxa_zero_3w). Two architectures are covered: hostapd access point under Radxa OS (procedure documented by Radxa), and OpenWrt router/gateway. Crucial reminder: the 3W has NO Ethernet port — wired connectivity is on the ZERO 3E (GbE + optional PoE); on the 3W, everything goes through the radio.
Hardware
- 1 Radxa ZERO 3W — ideally current revision V1.12I (dual-band Wi-Fi 6 module BL-M8800DS2/FCS960KAAMD); older AP6212 boards only have 2.4 GHz
- Quality 5 V/2 A power supply: radio transmission has peaks, a flimsy cable will drop the AP under load
- External u.FL antenna if using a metal case or for distance (antenna path switched in software)
- Cooling: closed case + sustained RF + 65 × 30 mm form factor = heat (the SoC is already throttled to 1.6 GHz for thermal reasons)
1) Access point under Radxa OS (hostapd)
sudo apt install hostapd dnsmasq
sudo tee /etc/hostapd/hostapd.conf << 'EOF'
interface=wlan0
driver=nl80211
ssid=ZERO3W-AP
hw_mode=g
channel=6
wpa=2
wpa_passphrase=changez-moi-ici
wpa_key_mgmt=WPA-PSK
EOF
sudo hostapd /etc/hostapd/hostapd.conf # test au premier plan
Then DHCP service (dnsmasq) and connection sharing/NAT to the outgoing network; the complete procedure (including 5 GHz AP mode) is documented by Radxa in their access-point guide. Warning: 5 GHz channels depend on the module, firmware, and regulatory domain — Radxa recommends "confirming with real tests" (FAQ Q9).
sudo iw reg set FR # domaine réglementaire
iw dev wlan0 station dump # clients associes, RSSI
2) Official OpenWrt
# Telecharger l'image sysupgrade rockchip/armv8 pour radxa_zero_3w (voir page TOH)
zcat openwrt-rockchip-armv8-radxa_zero_3w-squashfs-sysupgrade.img.gz | \
sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
# Boot sur SD, puis configuration via LuCI (192.168.1.1 par defaut OpenWrt)
3) Ideas from the field
The projects sheet is full of network uses for this board: USBridge-KVM 2.0 (open-source IP-KVM with BIOS access over SSH, OCR, and AI), OpenIPC Adaptive-Link ground stations for FPV cameras, remote-controlled camera car rk3566-ipc-car — three real projects built around the ZERO 3W.
Expected verification
A client connects to the AP, obtains an IP address, and accesses the Internet; iw dev wlan0 station dump lists peers with their RSSI; under OpenWrt, LuCI responds and the radio dashboard displays the occupied channel. Load test: sustained streaming on one client + monitoring cat /sys/class/thermal/thermal_zone*/temp.
Common mistakes
- Looking for an Ethernet port: the 3W doesn't have one — for a wired/PoE router, get the ZERO 3E.
- Regulatory domain not set: 5 GHz remains disabled, the AP only broadcasts on 2.4 GHz.
- AP6212 advertised for 5 GHz: on older boards, this is a hardware limitation, not software.
- Closed metal case without u.FL antenna: the AP "receives" but clients disconnect at the end of the hallway.
- Poor quality power supply: radio dropouts under full load — the Radxa boot checklist starts with powering and cabling.
- Routing on microSD with continuous writes (logs, dnsmasq.leases): premature wear; prefer eMMC or log to RAM/remote syslog.
- Exposing LuCI/hostapd without changing default passwords on a public uplink.
Other tutorials for this board
- Premiers pas avec la Radxa ZERO 3W : flasher Radxa OS et démarrer
- Wi-Fi 6 et Bluetooth 5.4 : se connecter, choisir l'antenne, connaître sa révision
- GPIO avec libgpiod : faire clignoter une LED et lire un bouton
- Installer le système sur l'eMMC : rkdeveloptool, MaskROM et gain de fiabilité
- Caméra MIPI CSI : brancher une Raspberry Pi Camera (OV5647/IMX219) sur la ZERO 3W
- Noyau mainline avec Armbian : vérifier le device tree, ajouter un overlay, lire le SARADC
Code examples for this board
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash