1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-12 13:54:13 -04:00
Files
sdrangel/devices
Robin Getz 9632d6d9c7 plutosdr: resolve ambiguous mDNS URIs using discovered endpoint
Fix mDNS discovery ambiguity where multiple devices across
different network segments/subnets can advertise the same hostname (e.g.
"ip:pluto.local"), resulting in non-unique or misleading URIs.

Replace unresolved mDNS hostnames with the actual discovered endpoint
reported in the scan description.
- Detect ".local" URIs on IP backend and substitute hostname with
  resolved endpoint from libiio scan results.
- Preserve URI semantics:
  - Keep backend prefix ("ip:")
  - Preserve optional port suffix
  - Correctly format IPv6 literals with RFC2732 bracket notation when
    required
- Add replaceHostnameWithIP() to perform URI normalization during scan:
  - Only applies to IP backend URIs
  - Only triggers for mDNS-based ".local" hostnames
  - Uses scan-provided endpoint (from description string) as authoritative
    address instead of advertised hostname
- Extend scan() to emit both original and resolved URIs for debugging
  and verification during device discovery.

This resolves inconsistent device addressing when multiple PlutoSDRs
are accessible via mDNS across different subnets or network segments.

No change to backend enumeration or device identity logic; this only
normalizes .local IP URI resolution at scan time.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-04 16:46:23 -04:00
..
2024-11-06 11:58:44 +00:00
2020-10-02 22:45:28 +01:00

Devices common resources

This folder contains classes and methods that can be used by different plugins that work with a common physical device or via network. Thus this can be one of the following devices:

  • BladeRF1: one Rx and one Tx full duplex. Plugins are:

    • bladerf1input
    • bladerf1output
  • BladeRF2: 2 Rx and 2 Tx full duplex (BladeRF 2.0 micro). Plugins are:

    • bladerf2input
    • bladerf2output
  • HackRF: one Rx and one Tx half duplex. Plugins are:

    • hackrfinput
    • hackrfoutput
  • LimeSDR: 2 Rx and 2 Tx full duplex (Lime-USB). 1 Rx and 1 Tx full duplex (Lime-Mini). Plugins are

    • limesdrinput
    • limesdroutput
  • PlutoSDR: one Rx and one Tx full duplex. Plugins are

    • plutosdrinput
    • plutosdroutput
  • SoapySDR: Soapy SDR virtual device

    • soapysdrinput
    • soapysdroutput
  • USRP: Up to 2 Rx and 2 Tx full duplex. Plugins are

    • usrpinput
    • usrpoutput