Skip to content

Restore configurable TCI device/protocol identity for RF2K-S amp interop (#2597 follow-up) #2806

Description

@ten9876

Context

PR #2597 (RF2K-S amp interop) changed TCI server identity strings from:

  • device: <flex name> <flex model>device: SunSDR2DX
  • protocol: ExpertSDR3,1.5protocol: 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

  1. Settings toggle. Expose a TCI Server Identity setting (e.g. Native vs SunSDR2DX (RF2K-S compat)). Defaults to Native; RF2K-S users opt in.
  2. 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.
  3. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement to existing featureexternal devicesFlexControl, MIDI, serial port, USB peripheralsmaintainer-reviewRequires maintainer review before any action is takenpriority: mediumMedium priorityprotocolSmartSDR protocol

    Type

    No type

    Fields

    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