hensm/fx_cast

Cannot discover devices from another subnet

Opened this issue · 0 comments

OS version:
6.11.6-arch1-1
Browser version:
Firefox 132.0.1
Extension version:
v0.3.1
Bridge version:
v0.3.0

Description
Let me preface this by saying that I have a bit of an unorthodox home network setup, so please bare with me while I give you some context. I understand if you don't feel like giving me support on this issue, as it is not exactly the expected use case of your extension, but I am prepared to work in order to get this fixed! Here goes...

My personal computer from which I want to cast does not have a WiFi card. To address this, I have a router running DD-WRT that is setup in station mode which connects to my ISP router and forwards its internet connectivity from WiFi to its Ethernet ports. In short, I have two separate subnets:

  • 192.168.0.1 managed by my ISP router used by my "typical" devices such as my Chrome Cast.
  • 192.168.1.1 managed by my DD-WRT router used by my PC (and other lab devices such as a Pi).

I had issues discovering devices from my PC even outside of fx_cast, as mDNS requests do not carry-over between subnets due to their TTL=1. I have addressed this by enabling Avahi mDNS Reflector on my DD-WRT router. I have confirmed that this in fact fixed the issue, as VLC is now able to find my Chrome Cast, Firefox is able to find my printer, avahi-browse -at shows my discoverable devices etc.

However, when I circled back to fx_cast, I still couldn't manage to see my devices, I just get "No receiver devices found". The bridge and extension seem to be correctly installed as they are able to find one another. I used the fx_cast-bin AUR package and the latest extension package.

In an effort to try and debug the issue, I ran tcpdump on my DD-WRT router to sniff UDP port 5353 (used by mDNS) to see if fx_cast caused mDNS requests to be sent over the network, but it did not. When I run the same command and cast from VLC, I can see mDNS requests being correctly generated by, and responses routed back to, my PC. This makes me think that fx_cast is not attempting to discover the devices at all, or perhaps I'm completely wrong and it uses an entirely different protocol than mDNS which I have missed.

If that's the case, perhaps you could enlighten me on what other protocol/ports etc. fx_cast is using so that I can configure my DD-WRT router to forward them correctly?

Steps to reproduce

  1. Click Cast.
  2. See that no devices appear in the list.

Expected behaviour
My Chrome Cast device should be available to cast to.

Logs
The only logs I have are the ones from the Firefox Browser Console, but they don't say a whole lot:

Cookie warnings 4
stderr output from native app fx_cast_bridge: *** WARNING *** The program 'fx_cast_bridge' uses the Apple Bonjour compatibility>
stderr output from native app fx_cast_bridge: *** WARNING *** Please fix your application to use the native API of Avahi!
stderr output from native app fx_cast_bridge: *** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi->
stderr output from native app fx_cast_bridge: *** WARNING *** The program 'fx_cast_bridge' called 'DNSServiceRegister()' which >
stderr output from native app fx_cast_bridge: *** WARNING *** Please fix your application to use the native API of Avahi!
stderr output from native app fx_cast_bridge: *** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi->
WebExtension context not found! 2 ExtensionParent.sys.mjs:1364:13

Thanks again for you hard work on this extension, I hope the effort I'm putting in tracking down this issue speaks to the importance I give your add-on. I can't live without it!!