WFB-ng Video Link
WFB-ng (WiFi Broadcast next generation) is the protocol the agent uses for long-range HD video. It is not standard WiFi. Instead, it broadcasts raw 802.11 frames in monitor mode with forward error correction (FEC). This gives you 10-50+ km range at 30-70 ms latency. The agent manages WFB-ng directly as theados-wfb systemd service (the native Rust ados-radio binary). No OpenHD or other wrapper is required.
How it works
Traditional WiFi requires a two-way handshake (connect, authenticate, associate). That limits range to whatever distance both sides can reliably hear each other. WFB-ng skips all of that. The transmitter broadcasts packets one-way. The receiver picks up whatever it can hear. Key differences from standard WiFi:Hardware
WiFi adapter
The recommended chipset is the RTL8812EU (5.8 GHz, 802.11ac). It supports monitor mode and packet injection at high TX power.
The agent auto-detects the adapter by scanning for USB devices with the RTL8812EU vendor/product IDs.
Antennas
The adapter’s built-in antenna works for short-range bench testing. For real flights, use external antennas:- Air side (drone): Omnidirectional dipole antenna, 3-5 dBi. The drone moves in all directions, so omnidirectional coverage is important.
- Ground side: Directional patch or panel antenna, 8-14 dBi. Point it at the drone for maximum range.
Configuration
Channel selection
WFB-ng operates on 5 GHz channels. Choose a channel that is not congested in your area. Common choices:Check your local regulations. Some 5 GHz channels require DFS (Dynamic Frequency Selection) or are restricted for outdoor use. The agent does not enforce regulatory limits. You are responsible for compliance.
TX power
Thetx_power setting is in dBm. Higher power means more range but also more interference and heat. Start at 25 dBm and increase only if needed.
FEC tuning
Forward Error Correction adds redundancy to the stream. Thefec_k parameter is the number of data blocks, and fec_n is the total number of blocks (data + parity). The ratio fec_k/fec_n determines how much packet loss the stream can tolerate.
Higher parity means more resilience but also more bandwidth overhead. The default 8/12 is a good balance for most conditions.
Key management
WFB-ng uses a shared key for stream encryption. The keys live under/etc/ados/wfb/: the air unit transmits with tx.key, and the ground station receives with rx.key. Both sides must share the matching key.
When using the ADOS Ground Station (another instance of the agent in ground-station profile), the keys are generated and exchanged automatically over the local radio during pairing (see WFB Pairing). You normally never touch the key files by hand.
For manual key management:
Link quality monitoring
Theados-wfb service reports link statistics to the state IPC socket and REST API:
View link state from the setup webapp Video or Ground Station page, Mission
Control Hardware tab, or the WFB-ng REST endpoints.
Ground station pairing
The air unit (drone) runswfb_tx to transmit. The ground station runs wfb_rx to receive. Both need to be on the same channel with the same key.
When using two ADOS agents (one drone profile, one ground-station profile), channel and key synchronization happens automatically through the pairing flow.
When using a standalone WFB-ng receiver (like wfb-cli or a custom setup), configure the channel and key manually on both sides.
Distributed receive on the ground
The drone always transmits withwfb_tx. On the ground side, ADOS supports three receive modes depending on the Ground Agent’s role:
- direct - single-node, runs plain
wfb_rx. The default. - relay - runs
wfb_rx -f <receiver>to forward heard fragments over the local mesh to the receiver. - receiver - runs
wfb_rx -ato aggregate fragments from its own radio plus every paired relay, then runs the same Reed-Solomon FEC combine across the merged stream.
Troubleshooting
No video, adapter not detected
No video, adapter not detected
Run
lsusb and check for the RTL8812EU device. If it is present but not recognized, the DKMS driver may not have built for your kernel version. Check dmesg | grep 88x2eu for driver load errors.Short range, weak signal
Short range, weak signal
Check antenna connections. Verify TX power is set appropriately. Make sure the adapter is not USB-hub-connected (use a direct USB port for stable power). Try a different 5 GHz channel to avoid interference.
High FEC failure rate
High FEC failure rate
If
fec_failed is climbing, you are at the edge of range or have interference. Options: increase FEC parity (lower fec_k/fec_n ratio), reduce video bitrate, use a directional antenna on the ground, or move to a cleaner channel.