Discover composite Wi-Fi interfaces and standardize RX FCS#290
Discover composite Wi-Fi interfaces and standardize RX FCS#290RomanLut wants to merge 2 commits into
Conversation
josephnef
left a comment
There was a problem hiding this comment.
Thanks — the direction is right on both halves, and the core FCS change verifies on-air: A/B on an Archer T3U (RTL8812BU), same ambient beacon populations decode at 282/352 B on master vs 286/356 B on this branch — exactly the +4 appended FCS. The parity claim also checks out at the register level (Jaguar1 sets RCR_APPFCS in HalModule.cpp / RadioManagementModule.cpp; Jaguar3's RCR 0xF410400F already has bit31 — Jaguar2 was the outlier). Downstream is mechanically clean: frame_len passes through untouched, C2H reports carry no FCS, the aggregation walk uses next_offset. All 20 ctest selftests pass, and the rewrite incidentally fixes a config-descriptor leak on the old bNumInterfaces==0 path. Nice.
Requesting changes for one functional gap: the discovered Wi-Fi interface number is only logged, never claimed — on a true composite adapter the in-repo demos claim interface 0 (Bluetooth) and bulk I/O on the Wi-Fi interface fails. Details inline. Two smaller items also inline (stale RCR bit-list comment, last-match altsetting selection).
One more thing to note in the PR description: enable_rx() is shared with the RTL8821CE vfio-pci transport, so PCIe RX frames also grow by 4 — tests/pcie_rx_smoke.py should get a re-run before merge. And consider retitling (the 8822BU is already supported; the real content is composite-interface discovery + FCS standardization, which is a deliberate +4 B breaking change for existing Jaguar2 consumers).
RTL8822BU support and standardize RX FCS
Tested in PixelPilot and hx-esp32-cam android gs.