ssdpd(8) System Manager's Manual ssdpd(8)


ssdpdSimple Service Discovery Protocol daemon


ssdpd [-hnsv] [-i SEC] [-l LEVEL] [-r SEC] [-t TTL] [IFACE [IFACE [...]]]


Simple Service Discovery Protocol daemon (SSDP) for networked Linux devices. Useful for small and embedded systems that want to announce themselves to UPnP capable systems, e.g. Windows.
ssdpd is a stand-alone UNIX daemon with no external dependencies but the standard C library. It has a built-in web server for serving the UPnP XML description which Windows use to present the icon, by default an InternetGatewayDevice is announced.
On Linux systems, ssdpd reads /etc/os-release, or /etc/lsb-release, in that order to determine the distribution name and version, which along with the system hostname, is periodically transmitted in SSDP multicast discovery frames. If neither file exists a built-in default is used as server string. On non-Linux systems the information from uname(1) is used, since that is the canonical UNIX location for such information.
Each SSDP capable device on a LAN has its own UUID. This is generated the first time ssdpd is started and then stored in /var/lib/misc/ssdpd.cache, on *BSD systems it is stored in /var/db/ssdpd.cache. Note, depending on your system this directory may be wiped on reboot, so ssdpd may start up with a different UUID every time.


Show program help text
-i SEC
SSDP notify interval (30-900), default 300 sec
Set log level to one of the following, default notice:
Disable all logging
Error conditions
Warning conditions
Normal but significant condition (default)
Debug-level messages
Run in foreground, do not daemonize by default
-r SEC
Interface refresh interval (5-1800), default 600 sec
Use syslog, default unless running in foreground, -n.
-t TTL
TTL for multicast frames, default 2, according to the UPnP Device Architecture (UDA)
Show program version
By default ssdpd runs on all IPv4 capable interfaces, except loopback. If interface names are given as arguments, ssdpd will run only on them. Interfaces are refrehed at runtime, so if an interface given on the command line does not exist at first, ssdpd will add them later.


PID file, created as soon as all setup is complete
Linux standard base release information. Primarily used to figure out distribution name and release version
If /etc/os-release does not exist, ssdpd falls back to query this non-standard file for information on the distribution name and release version
Cached UUID (Linux), may be wiped by the system on reboot
Cached UUID (*BSD), may be wiped by the system on reboot


ssdp-scan(1) avahi-daemon(8) lldpd(8)


Joachim Nilsson ⟨⟩
June 7, 2020 Debian