Context
PR #2597 (RF2K-S amp interop) changed TCI server identity strings from:
device: <flex name> <flex model> → device: SunSDR2DX
protocol: ExpertSDR3,1.5 → protocol: ExpertSDR2,1.9
This let RF2K-S amplifier firmware whitelist AetherSDR as a known Expert Electronics device. However, WSJT-X (and likely JTDX) read these same identifiers and scale TX audio gain accordingly — the SunSDR2DX / ExpertSDR2,1.9 combination drops TX audio level by ~1 dB compared to the previous identity.
Reported in the v26.5.2 release window: 70 W out of 100 W expected on TCI TX path. Reverting the identity recovered most of the loss (88 W out of 100 W). Reverted on main; need a path that satisfies both WSJT-X (level) AND RF2K-S (whitelist).
Approach options
- Settings toggle. Expose a TCI Server Identity setting (e.g.
Native vs SunSDR2DX (RF2K-S compat)). Defaults to Native; RF2K-S users opt in.
- Per-connection sniff. Detect the connecting TCI client's program name during handshake (TCI clients announce themselves) and adapt: send SunSDR2DX to RF2K-S, send native to WSJT-X / JTDX.
- Dig into which specific identifier WSJT-X uses. The fix reverted both
device: and protocol:. Test which one matters in isolation — device:SunSDR2DX + protocol:ExpertSDR3,1.5 may satisfy WSJT-X (no level drop) AND continue to whitelist for RF2K-S (which probably reads device:).
Option 3 is the cheapest win and worth trying first.
Pickup
Mid-priority. The current revert preserves the bulk of #2597's interop work (init burst order, vfo_limits / if_limits / channels_count / split_enable) which is what RF2K-S's TCI parser actually needs to engage; the device/protocol strings are a smaller piece of the whitelist puzzle.
73, Jeremy KK7GWY & Claude (AI dev partner)
Context
PR #2597 (RF2K-S amp interop) changed TCI server identity strings from:
device: <flex name> <flex model>→device: SunSDR2DXprotocol: ExpertSDR3,1.5→protocol: ExpertSDR2,1.9This let RF2K-S amplifier firmware whitelist AetherSDR as a known Expert Electronics device. However, WSJT-X (and likely JTDX) read these same identifiers and scale TX audio gain accordingly — the
SunSDR2DX/ExpertSDR2,1.9combination drops TX audio level by ~1 dB compared to the previous identity.Reported in the v26.5.2 release window: 70 W out of 100 W expected on TCI TX path. Reverting the identity recovered most of the loss (88 W out of 100 W). Reverted on main; need a path that satisfies both WSJT-X (level) AND RF2K-S (whitelist).
Approach options
NativevsSunSDR2DX (RF2K-S compat)). Defaults to Native; RF2K-S users opt in.device:andprotocol:. Test which one matters in isolation —device:SunSDR2DX+protocol:ExpertSDR3,1.5may satisfy WSJT-X (no level drop) AND continue to whitelist for RF2K-S (which probably readsdevice:).Option 3 is the cheapest win and worth trying first.
Pickup
Mid-priority. The current revert preserves the bulk of #2597's interop work (init burst order, vfo_limits / if_limits / channels_count / split_enable) which is what RF2K-S's TCI parser actually needs to engage; the device/protocol strings are a smaller piece of the whitelist puzzle.
73, Jeremy KK7GWY & Claude (AI dev partner)