Skip to content

Discover composite Wi-Fi interfaces and standardize RX FCS#290

Open
RomanLut wants to merge 2 commits into
OpenIPC:masterfrom
RomanLut:rtl8812busupport
Open

Discover composite Wi-Fi interfaces and standardize RX FCS#290
RomanLut wants to merge 2 commits into
OpenIPC:masterfrom
RomanLut:rtl8812busupport

Conversation

@RomanLut

Copy link
Copy Markdown

RTL8822BU support and standardize RX FCS

  • discover the Wi-Fi bulk interface/endpoints on composite BT/Wi-Fi adapters
  • retain the trailing FCS in Packet::Data across Realtek RX paths
  • enable APPFCS for Jaguar2 monitor reception
image

Tested in PixelPilot and hx-esp32-cam android gs.

@josephnef josephnef left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Comment thread src/UsbTransport.cpp
Comment thread src/UsbTransport.cpp Outdated
Comment thread src/jaguar2/HalJaguar2.cpp
Comment thread src/RxPacket.h
@RomanLut RomanLut changed the title added rtl8822bu support Discover composite Wi-Fi interfaces and standardize RX FCS Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants