github aethersdr/AetherSDR v0.7.17.1
v0.7.17.1 — Accurate Network Diagnostics

latest releases: v26.5.3, v26.5.2.1, v26.5.2...
one month ago

Accurate Network Diagnostics

AetherSDR v0.7.17.1 replaces application-layer RTT measurement with kernel TCP stack timing, adds per-stream network diagnostics, and fixes DAX stream lifecycle management.

Improvements

Kernel TCP_INFO RTT (#455)

  • RTT now read from the kernel's TCP congestion control (TCP_INFO), completely immune to Qt event loop delays
  • Linux: getsockopt(TCP_INFO)tcpi_rtt
  • macOS: getsockopt(TCP_CONNECTION_INFO)tcpi_srtt
  • Windows: WSAIoctl(SIO_TCP_INFO)RttUs
  • Falls back to QElapsedTimer stopwatch if kernel call unavailable
  • Fixes inflated RTT (40–200ms) that correlated with waterfall load

Per-stream Network Diagnostics (#455)

  • Network Diagnostics dialog now shows per-stream-type rates: Audio, FFT, Waterfall, Meters, DAX
  • Per-stream packet loss tracking with sequence error counts
  • TX byte counter wired to actual UDP sends
  • Matches SmartSDR's reported RX rate (77 kbps on Opus)

Packet loss accuracy (#455)

  • Sequence tracking moved after ownership filter — no longer counts other clients' streams in Multi-Flex mode
  • Meter broadcast packets excluded (unreliable sequence counter)
  • Eliminates false 28% packet loss reports

DAX stream cleanup

  • Disabling DAX now sends stream remove to the radio and unregisters streams from PanadapterStream
  • Previously DAX streams persisted until app restart

Socket write flush

  • flush() after write() in RadioConnection ensures ping and command packets are sent immediately

Full Changelog: v0.7.17...v0.7.17.1

Don't miss a new AetherSDR release

NewReleases is sending notifications on new releases.