You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The RTL8733B backend merged in #388 has no RF-domain measurement at all — the DUT bench had no SDR. Every RF claim in docs/rtl8733b.md is therefore a delivery/readback claim, and the README bandwidth cells for RTL8731BU are —. This issue closes that gap once a second module (BL-M8733BU2) is on the bench.
Everything here is hardware-gated: it cannot start before the board arrives.
Why it matters beyond bookkeeping
AdapterCaps::narrowband_ok is false purely for want of an SDR (#TBD-narrowband depends on this issue). The 5/10 MHz register sequence already reads back on hardware; occupied-bandwidth proof is the missing evidence.
The README table is the first thing an integrator reads. A — row next to benchmarked 8812EU/8852BU rows reads as "untested silicon" when what is actually missing is one instrument.
A one-unit result is not a population (docs/rtl8733b.md, "Known gaps"). The second module makes every number below a two-sample claim.
Work items
Absolute output power, per band and per rate. 1/2/5.5/11 Mbps CCK and 6 Mbps OFDM on 2.4 GHz; 6 Mbps OFDM and HT MCS0/4/7 on both bands. The backend has no TX-power API surface beyond its safe TSSI target (kSafeTssiTargetQdbm8733b) — establish what that target actually radiates before anyone proposes raising it.
Occupied bandwidth + spectral mask at 20 and 40 MHz, both bands. This is the gate for the narrowband work and the sanity check on the 40 MHz centre-channel table.
EVM at the top of the ladder (MCS7/20, MCS7/40). Per docs/bench-testing-near-field.md, EVM — not SNR — is the saturation tell; take the near-field precautions.
On-air TX throughput via tests/bench_onair.py: Mbps = SDR duty × PHY rate, never monitor-sniffer frame counts (a sensitive receiver decodes weak frames and masks a real drop). Fill the README RTL8731BU row's 2.4 GHz / 5 GHz / 40 MHz cells.
TSSI target validation. Confirm the closed-loop target is met and stable across a bounded run, and that the safe cap is neither leaving margin on the table nor overdriving the PA.
Traps this specific chip has already demonstrated
TSSI needs settling time, and a fast rate-switching run lies about power. Measured on the f72b DUT during rtl8733b: add RTL8731BU/RTL8733BU USB RX and TX #388: alternating CCK and OFDM at ~9 ms/frame leaves CCK airing ~5 dB above its settled level; the same stream paced to 86 ms/frame lands on the settled value. Any power or mask measurement taken during a mixed-rate stream is measuring the tracking loop, not the transmitter. Pace single-rate, let it settle, then measure.
One clean SDR read per session — a second back-to-back sdr_duty read can fail to reacquire and report ~0. Pin the B210 serial (the bench has two).
Re-check a known-good control adapter each session before believing any absolute number.
Acceptance criteria
README RTL8731BU (and RTL8733BU if the arriving board is that die) bandwidth cells populated from bench_onair.py, with the DUT model named as the other rows do.
docs/rtl8733b.md "Known gaps" loses the "No SDR was available" bullet and gains the measured OBW / mask / EVM / power table — each favourable number paired with its adversarial counterpart (worst band, worst rate, near-field caveat), per the repo's docs convention.
Every number reproducible from a script committed under tests/, not from a shell transcript.
The RTL8733B backend merged in #388 has no RF-domain measurement at all — the DUT bench had no SDR. Every RF claim in
docs/rtl8733b.mdis therefore a delivery/readback claim, and the README bandwidth cells for RTL8731BU are—. This issue closes that gap once a second module (BL-M8733BU2) is on the bench.Everything here is hardware-gated: it cannot start before the board arrives.
Why it matters beyond bookkeeping
AdapterCaps::narrowband_okis false purely for want of an SDR (#TBD-narrowband depends on this issue). The 5/10 MHz register sequence already reads back on hardware; occupied-bandwidth proof is the missing evidence.—row next to benchmarked 8812EU/8852BU rows reads as "untested silicon" when what is actually missing is one instrument.docs/rtl8733b.md, "Known gaps"). The second module makes every number below a two-sample claim.Work items
kSafeTssiTargetQdbm8733b) — establish what that target actually radiates before anyone proposes raising it.docs/bench-testing-near-field.md, EVM — not SNR — is the saturation tell; take the near-field precautions.tests/bench_onair.py: Mbps = SDR duty × PHY rate, never monitor-sniffer frame counts (a sensitive receiver decodes weak frames and masks a real drop). Fill the README RTL8731BU row's 2.4 GHz / 5 GHz / 40 MHz cells.Traps this specific chip has already demonstrated
f72bDUT during rtl8733b: add RTL8731BU/RTL8733BU USB RX and TX #388: alternating CCK and OFDM at ~9 ms/frame leaves CCK airing ~5 dB above its settled level; the same stream paced to 86 ms/frame lands on the settled value. Any power or mask measurement taken during a mixed-rate stream is measuring the tracking loop, not the transmitter. Pace single-rate, let it settle, then measure.sdr_dutyread can fail to reacquire and report ~0. Pin the B210 serial (the bench has two).Acceptance criteria
bench_onair.py, with the DUT model named as the other rows do.docs/rtl8733b.md"Known gaps" loses the "No SDR was available" bullet and gains the measured OBW / mask / EVM / power table — each favourable number paired with its adversarial counterpart (worst band, worst rate, near-field caveat), per the repo's docs convention.tests/, not from a shell transcript.Follow-up to #388. Related: #233.