Skip to content

RTL8812CU (rtl8822c) RX marginal on 2.4 GHz channel 6 #126

Description

@josephnef

Summary

The RTL8812CU (rtl8822c, 0bda:c812) receives poorly on 2.4 GHz channel 6 — RX frame delivery is intermittent-to-none — while 5 GHz reception is solid. This is pre-existing (present on master), not caused by any recent refactor.

Observed

Ambient RX capture via tests/bench_init.py (init → first RX frame), 2 reps per build:

build c812 RX ch6 c812 RX ch36
master (f542b06) 0/2
refactor branch (#125) 1/2 400 frames captured
  • On ch36 (5 GHz, rtl8822c's validated band) the same binary pulls hundreds of frames per run.
  • On ch6 the chip initializes cleanly (monitor RX config applied, IQK completes) but delivers few or no frames, even with a strong local beacon injected on the same channel.
  • Its Jaguar3 sibling rtl8822e (0bda:a81a), which shares the same FrameParserJaguar3 read/parse path, does capture on ch6 — so the gap is specific to the rtl8822c PHY/RF path on 2.4 GHz, not the shared RX plumbing.

Expected

Comparable RX sensitivity on 2.4 GHz to the other supported chips (8812AU / 8821AU capture ch6 ambient reliably in the same rig).

Repro

cmake -S . -B build && cmake --build build -j
sudo python3 tests/bench_init.py --pids c812 --channel 6 --skip-tx --reps 2
sudo python3 tests/bench_init.py --pids c812 --channel 36 --skip-tx --reps 2   # contrast

Suspected areas

  • 2.4 GHz RF front-end / RFE pin config or LNA path for rtl8822c (the 5 GHz path is the one that was primarily brought up and validated).
  • 2.4 GHz AGC / initial-gain or CCK RX config on rtl8822c.

Notes

Not a regression — surfaced while A/B-testing the src/jaguar1 split (#125), where master showed the same (worse) ch6 behavior. Filing so the 2.4 GHz rtl8822c RX path gets a proper look.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions