go-udap

Global flags

Flags that apply to every go-udap subcommand

Every flag below can appear before OR after the subcommand — go-udap -v read MAC and go-udap read -v MAC are equivalent.

FlagDefaultPurpose
--timeout DURATION2sOperation timeout, e.g. 2s, 30s, 2m
--verbose, -voffDebug logging to stderr. Also surfaces soft-fail warnings (e.g. get_ip timeout in discover --info) that are silent by default
--bind-interface NAMEBind discovery (and all subsequent operations) to one named network interface. See interfaces for valid names. Mutually exclusive with --all-interfaces. Not supported on Windows — the flag is hidden from --help there
--all-interfacesoffFan out discovery across every usable network interface. Useful on multi-homed hosts. Mutually exclusive with --bind-interface. Not supported on Windows
--retries N0Re-transmit each UDAP send N additional times back-to-back. Useful on lossy links (ad-hoc Wi-Fi). --retries 2 matches the squeezeplay reference triple-send
--versionPrint version and exit
--help, -hPrint help

Multi-interface behaviour (--bind-interface / --all-interfaces)

Discovery only emits broadcasts on the kernel's default-route NIC by default. On a multi-homed laptop (Wi-Fi + Ethernet both up), if the Squeezebox is on the non-default subnet you'll see zero devices.

--bind-interface NAME forces UDAP traffic out a specific NIC via IP_BOUND_IF (macOS) / SO_BINDTODEVICE (Linux). --all-interfaces sends concurrently on every NIC.

The singular form is spelled --bind-interface (not --interface) because --interface 0|1 is also a per-parameter flag on set — it configures the device's NVRAM interface byte (0 = wireless, 1 = wired). Two unrelated concepts share the word, so the local-NIC binding flag gets the more specific name.

See How to discover on a multi-NIC laptop for usage, and Multi-NIC discovery for the underlying mechanics.

On this page