Skip to content

Flex TCP Server in the CAT Control Applet does not work. #3609

Description

@g4irn

support-bundle-20260615-123000.zip

Title: CAT Control TCP Server (Flex Dialect on Port 4532) Accepts No Client Connections

What happened?

The TCP server provided by the CAT Control applet does not appear to accept incoming CAT client connections.

CAT was enabled in the CAT Control applet and configured for:

  • TCP port: 4532
  • Protocol: Flex dialect

Attempts were made to connect from both DXLog.net and N1MM Logger+ using the configured TCP port. In all cases the connection failed.

Additionally, the CAT Control applet never indicated that a client had connected. The client count remained unchanged and there was no visible indication that either application had successfully established a CAT session.

As a result, neither logging application was able to communicate with the radio through the CAT TCP server.

What did you expect?

When CAT is enabled and configured for the Flex CAT dialect on TCP port 4532:

  • External applications should be able to establish a TCP connection to the CAT server.
  • The CAT Control applet should indicate an active client connection.
  • CAT commands should be exchanged successfully.
  • Logging applications such as DXLog.net and N1MM Logger+ should be able to read and control radio frequency, mode, and related CAT functions through the TCP interface.

Steps to reproduce

  1. Launch AetherSDR.

  2. Connect to a FLEX-8600 running firmware 4.2.20.41343.

  3. Open the CAT Control applet.

  4. Enable CAT functionality.

  5. Configure a TCP CAT listener on port 4532 using Flex dialect.

  6. Launch either DXLog.net or N1MM Logger+.

  7. Configure the logging software to connect via TCP to the AetherSDR CAT server.

  8. Attempt to establish the CAT connection.

  9. Observe that:

    • The CAT connection does not succeed.
    • No CAT functionality is available in the client application.
    • The CAT Control applet does not show a connected client.

Radio model & firmware

  • Radio: FLEX-8600
  • Firmware: 4.2.20.41343

OS & version

  • Windows
  • AetherSDR 26.6.3
  • Qt 6.8.3

Developer Notes

The CAT subsystem appears to have undergone significant development recently, including support for:

  • rigctld-compatible CAT servers
  • Flex dialect CAT
  • TCP-based CAT services
  • Virtual serial CAT interfaces

Recent project documentation and issue discussions indicate that AetherSDR provides CAT services over TCP and that connection status should be visible within the CAT Control applet. Similar reports involving N1MM connectivity have also been filed recently. ([GitHub]1)

Areas most likely involved:

  • CAT Control applet UI
  • TCP listener creation and lifecycle management
  • Flex dialect command parser
  • Client session tracking and connection-count updates
  • Windows-specific networking implementation

Likely source areas (based on repository structure and architecture):

src/
  applets/
    cat/
  services/
    cat/
  protocols/
    cat/
  networking/

Potential root causes include:

  1. TCP listener never successfully binds to the configured port.
  2. Listener binds only to a specific interface rather than localhost/0.0.0.0.
  3. Connection acceptance succeeds but session registration fails, preventing the UI from showing connected clients.
  4. Flex dialect server implementation not being instantiated when selected in the CAT Control applet.
  5. Windows-specific socket handling issue.
  6. Port conflict detection failure causing the CAT server to appear enabled while not actually listening.
  7. Logging software compatibility issue if the advertised "Flex dialect" implementation differs from the command set expected by DXLog.net and N1MM.

Recommended diagnostics:

Enable CAT-related logging from:

Help → Support

Suggested categories:

CAT
CAT_SERVER
CAT_TCP
RIGCTLD
NETWORK
TCP
SESSION
FLEX_PROTOCOL

Useful additional diagnostics:

netstat -ano | findstr 4532

Verify that AetherSDR is actually listening on TCP port 4532 and determine the bound interface.

It would also be useful to log:

  • CAT server startup
  • Port bind success/failure
  • Incoming connection attempts
  • Client disconnect events
  • Dialect selection during server creation
  • CAT command receive/transmit activity

If the server is listening but the CAT Control applet never increments its client count, the fault is likely in the connection acceptance or session registration path rather than in the CAT command parser itself.

This report should be ready to paste directly into GitHub. One additional point that may help the developers: there is already an open AetherSDR issue regarding N1MM CAT connectivity, so referencing that issue when filing this report may help determine whether this is the same underlying defect or a separate regression. ([GitHub]1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfaceWindowsWindows-specific issueawaiting-responseWaiting for reporter to provide additional informationbugSomething isn't workingpriority: highHigh 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