Firewalla Gold doesn't natively support SSDP relaying for discovering Roku, Sonos, Tivo and other related devices between different subnets. I found that the following utility works to add this relaying capability.
I have put all the information needed in this initial post but it is the culmination of very useful discussion and inputs from the comments in this discussion thread.
Listing your network interfaces: The examples I provide here use the interfaces "br0 br1" but this is network specific and you will need to provide the interfaces for relaying that work for your network configuration.
Thanks to Michael Bierman for suggesting the following command which allows you to list your available network interfaces.
ip -4 -j address | jq -r '. | "index: \(.ifindex), interface: \(.ifname), local: \(.addr_info.local)"'
Non-Docker method: This directly runs the Python utility which performs the multicast broadcasting. Note that it needs the Python netifaces package to be installed first. You would also need to put this into a cronjob to have it rerun automatically on reboot.
# Download the utility from GitHub
git clone https://github.com/alsmith/multicast-relay
sudo pip install netifaces
# Relay Sonos and SSDP messages between Firewalla ethernet ports 1 & 2
# Skip relaying mDNS which is already supported
sudo multicast-relay.py --interfaces br0 br1 --noMDNS
Docker method: Here's how to do this using a Docker container. With this method there is no need to manually download anything and this will automatically run on reboot as well.
# Create the ssdp-relay container the first time and run it
sudo docker run --detach --restart=always --name ssdp-relay --network=host -e OPTS="--noMDNS" -e INTERFACES="br0 br1" scyto/multicast-relay
# Stop the SSDP relaying
sudo docker stop ssdp-relay
# Restart the SSDP relaying
sudo docker start ssdp-relay
# Remove the ssdp-relay container (if you want to reconfigure it)
sudo docker rm -f ssdp-relay
Note about Samsung TVs: mDNS and SSDP relaying are not enough for Samsung TV discovery because Samsung TVs apparently are restricted to communicating only on the same subnet. Some people have had success with running a proxy server on the same subnet as the TV as a workaround for this. Clients communicate with the TV via the proxy server. (See https://realmenweardress.es/2022/04/vlans-and-samsung-tvs & https://github.com/home-assistant/core/issues/35049#issuecomment-893194912)
Please sign in to leave a comment.