From 906e11cd7d46df6b992e78b8a10d396cc11ed664 Mon Sep 17 00:00:00 2001 From: Joseph <162703152+josephnef@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:19:58 +0300 Subject: [PATCH] docs: split README 5GHz status into UNII-1 vs UNII-2/3 per measurement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous "5 GHz" column oversimplified per-chip status. A 2026-06-01 channel sweep across ch1/6/11 (2.4G), ch36/40/44/48 (UNII-1), ch100 (UNII-2 DFS), and ch149/161 (UNII-3) on all three plugged DUTs (8812AU, 8821AU, 8814AU) showed a real cutoff at the UNII-1 boundary for 8821AU: RTL8812AU devourer TX → kernel RX: every channel, every band: 4300-4676 hits / 4500 TX ✓ RTL8821AU devourer TX → kernel RX: ch1/6/11 (2.4G): 4397-4426 hits ✓ ch36/40/44/48 (UNII-1): 0 hits ✗ ch100 (UNII-2 DFS): 0 hits ✗ ch149/161 (UNII-3): 0 hits ✗ RTL8821AU kernel TX → devourer RX (RX-side check): 2.4G: ✓ UNII-1 (ch36/48): 100 hits each ✓ UNII-2/3 (ch100/149/161): 0 hits ✗ RTL8814AU devourer TX → kernel RX: every channel, every band: 0 hits ✗ (issue #36) So 8821AU has a sharper boundary than the previous "5 GHz = RX only" captured: UNII-1 RX works, but UNII-2/3 is completely dark in both directions. 8814AU TX is broken everywhere as long known. Table split into a 3-column band breakdown so the chip × band cells read directly. 8821AU notes also list the five hypotheses tested and refuted for the 5 GHz TX gate (IQK port from upstream halrf_iqk_8821a_ce.c, BB-divergence value overrides, missing init writes like REG_DWBCN1_CTRL_8812, post-channel-set settle delay, TX power cap) so the next investigator doesn't retry them. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f95d31b..2b799cd 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,13 @@ The Realtek 11ac driver that simply devours its competitors. Devourer is a userspace re-implementation of Realtek's RTL88xxAU Wi-Fi -driver (Jaguar family: RTL8812AU shipping on both bands, RTL8821AU -shipping at 2.4 GHz, RTL8811AU supported via the 8812 code path, -RTL8814AU RX-only), speaking to the chip directly through libusb. No -kernel module, no `rtl8812au` DKMS tree — just a C++20 static library -(`WiFiDriver`) plus two demo executables for RX and TX. It is the -OpenIPC project's driver of choice for long-range video links built on -top of cheap Realtek 11ac USB radios. +driver (Jaguar family: RTL8812AU shipping on every band/channel, +RTL8821AU shipping at 2.4 GHz and 5 GHz UNII-1 RX, RTL8811AU supported +via the 8812 code path, RTL8814AU RX-only), speaking to the chip +directly through libusb. No kernel module, no `rtl8812au` DKMS tree — +just a C++20 static library (`WiFiDriver`) plus two demo executables +for RX and TX. It is the OpenIPC project's driver of choice for +long-range video links built on top of cheap Realtek 11ac USB radios. ## Hardware landscape @@ -21,12 +21,12 @@ register-table layout, firmware-download plumbing, and family; chip-specific EEPROM handling, firmware blobs, and RF tables are layered on top. -| Part | RF / streams | 2.4 GHz | 5 GHz | Notes | -| -------------- | --------------- | ------------- | ------------- | ------------------------------------------- | -| **RTL8812AU** | 2T2R | TX + RX | TX + RX | VID/PID `0bda:8812`; reference part | -| **RTL8811AU** | 1T1R | TX + RX | TX + RX | 1T1R cut of 8812 silicon; rides 8812 code path with `RFType=RF_TYPE_1T1R` selected from `REG_SYS_CFG` bit 27 | -| **RTL8814AU** | 4T4R, 3-SS max | RX only | RX only | VID/PID `0bda:8813`; 2-SS effective on USB-2. TX submits succeed on the bulk pipe but nothing reaches the air at any band — see issue #36 | -| **RTL8821AU** | 1T1R AC + BT | TX + RX | RX only | OEM-rebadged as TP-Link Archer T2U Plus (`2357:0120`) etc; Android hotplug works end-to-end. 5 GHz TX needs the per-channel IQK calibration ported from upstream `halrf_iqk_8821a_ce.c` — see issue #59 | +| Part | RF / streams | 2.4 GHz | 5 GHz UNII-1 (ch36-48) | 5 GHz UNII-2/3 (ch52+) | Notes | +| -------------- | --------------- | ------------- | ---------------------- | ---------------------- | ------------------------------------------- | +| **RTL8812AU** | 2T2R | TX + RX | TX + RX | TX + RX | VID/PID `0bda:8812`; reference part — works on every channel/band combo | +| **RTL8811AU** | 1T1R | TX + RX | TX + RX | TX + RX | 1T1R cut of 8812 silicon; rides 8812 code path with `RFType=RF_TYPE_1T1R` selected from `REG_SYS_CFG` bit 27. Status mirrored from 8812 — no 8811AU DUT in the test rig | +| **RTL8814AU** | 4T4R, 3-SS max | RX only | RX only | RX only | VID/PID `0bda:8813`; 2-SS effective on USB-2. TX submits succeed on the bulk pipe but nothing reaches the air at any band — see issue #36 | +| **RTL8821AU** | 1T1R AC + BT | TX + RX | RX only | none | OEM-rebadged as TP-Link Archer T2U Plus (`2357:0120`) etc; Android hotplug works end-to-end. 5 GHz UNII-1 RX works on this chip but TX is silently gated — sweep `--channel 36/40/44/48` to verify on your hardware. UNII-2 / UNII-3 (ch100, 149, 161, …) are completely broken — both TX and RX. Five hypotheses tested + refuted to date (IQK port, BB-divergence overrides, missing init writes, post-channel-set delay, TX power cap) — see issue #59 | Successor families (`Jaguar2` / `Jaguar+` — 8812BU, 8822BU/BE, etc., and the later `Kestrel` 11ax generation) are **out of scope**: they share