v0.5.0 - Rebased onto devourer's rebuild-on-upstream
The devourer submodule now points at v0.5.1 (rebuild-on-upstream): upstream
OpenIPC/devourer's current architecture (async-URB-pool RX -> IRtlDevice::
StartRxLoop, PCIe transport, Jaguar2/3/Kestrel chip support) with every
APFPV capability re-ported and verified building — no regression:
- Full WPA2/CCMP station-mode connect (scan -> arm -> auth -> assoc -> 4-way
-> DHCP -> RTP/LQ streaming), driver-level auto-reconnect, SSH-over-dongle. - The close-range DIG-saturation fix (hardware-validated RSSI-tracked gain).
- A-MPDU RX reorder + the station RX-filter fix.
- AP mode rewired onto upstream's real hardware beacon/ACK primitives
(IRtlDevice::StartBeacon/StopBeacon) instead of the old manual register
pokes + a software beacon-poll loop, per upstream's own bench-validated
docs/ap-mode.md recipe. Also fixes a real bug: AP-mode TX was calling
send_packet synchronously from the RX callback thread (returns BUSY by
design) — now queued to a separate TX-pump thread. Real-hardware
association is still untested this round. - The Android JNI bridge (apfpv_jni.cpp, WfbngLink.cpp) ported onto the new
IRtlDevice/RtlJaguarDevice API, including a rewritten
app/wfbngrtl8812/src/main/cpp/CMakeLists.txt (the old file mixed the
pre-rebuild extern/WiFiDriver/{hal,src} tree with the rebuilt devourer/
{hal,src} tree on one include path, which broke the build with duplicate
type definitions). WFB-ng's protocol layer (TxFrame/RxFrame/
SignalQualityCalculator, no upstream equivalent) still comes from
extern/WiFiDriver, now re-registered as a proper submodule.
Also: the settings menu now hides dongle-only APFPV actions (VRX beacon
cal, dongle AP test, Reconnect/adapter picker, DE-legal-limits, channel/
width ranges) when in phone-Wi-Fi mode, where there's no dongle for them
to act on.
Verified: a full clean assembleDebug (arm64-v8a + x86_64) builds with zero
errors. Real-hardware validation (dongle connect/stream, AP-mode
association) is still outstanding — this release is a clean build/
architecture milestone, not a hardware-tested one.