Hello all,
I have recently installed syncthing on my home server, and I was hoping to let it use UPnP to facilitate direct connections. My home router does support UPnP and other services on the same home server use it, but syncthing logs Malformed device description: no compatible service descriptions found. and the service is in fact not accessible from the outside.
Browsing the forum, I have found the recommendation to set the environment variable STTRACE=upnp to get more information about it, and the result is:
[K6YYO] 2025/11/17 11:50:25.827580 upnp.go:288: DEBUG: Handling UPnP response:
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=120
DATE: Mon, 17 Nov 2025 10:50:25 GMT
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
USN: uuid:ec7c281f-5022-ea11-9fef-0cb6d2006b94::urn:schemas-upnp-org:device:InternetGatewayDevice:1
EXT:
SERVER: LINUX/LINUX UPnP/1.1 MiniUPnPd/1.8
LOCATION: http://192.168.0.1:48564/rootDesc0.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 1
BOOTID.UPNP.ORG: 1
CONFIGID.UPNP.ORG: 1337
[K6YYO] 2025/11/17 11:50:25.829017 upnp.go:513: DEBUG: http://192.168.0.1:48564/rootDesc0.xml - no services of type urn:schemas-upnp-org:service:WANIPConnection:2 found on connection.
[K6YYO] 2025/11/17 11:50:25.829027 upnp.go:513: DEBUG: http://192.168.0.1:48564/rootDesc0.xml - no services of type urn:schemas-upnp-org:service:WANPPPConnection:2 found on connection.
[K6YYO] 2025/11/17 11:50:25.829034 upnp.go:270: INFO: UPnP parse: [http://192.168.0.1:48564/rootDesc0.xml] Malformed device description: no compatible service
The service types available on my router are
<serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType>
<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
<serviceType>urn:schemas-upnp-org:service:WANPPPConnection:1</serviceType>
<serviceType>urn:schemas-upnp-org:service:WANIPv6FirewallControl:1</serviceType>
So I believe that the issue is that my router only provides an “older” revision of the interface,
urn:schemas-upnp-org:service:WANPPPConnection:1
whereas syncthing expects the “newer”
urn:schemas-upnp-org:service:WANPPPConnection:2.
I cannot find in the documentation anything that would suggest that it is possible to configure syncthing to use the older interface, so the question is: is there anything I can do to make syncthing use this interface, or is configuring the router manually the only way?