UPDATED with some corrections and additional facts July 17, 2016. The Access Point is a Linksys E2500, not a Netgear as originally stated. I also tried to be more clear and explicit about what works. We do not need mDNS on the "outer network." We just need it to continue working on the "inner network" (published by the Access Point).
Hard to explain in the title. This question might straddle the line between Stack Overflow and Super User. But I will start here on SU.
TL;DR We have a WiFi Access Point. It publishes an SSID and machines and IoT devices connect to it. When it is standalone (not plugged in to any external network), all machines connect and mDNS/Bonjour resolves. But when we plug our access point into an outer host network, mDNS stops resolving, though machines can still connect to AP using SSID. Worth noting the machines can also reach a file server on the outer network. Only thing broken is mDNS can no longer resolve mDNS on the AP's local network. There is no need to resolve mDNS on the outer network. Read on for details.
More detail:
We have a Linksys E2500 access point (AP). The Linksys AP publish an SSID and machines are able to connect to it.
A couple of facts to assert:
- AP is installed in factory in China
- Linux, OSX, and Windows computers connect over WiFi
- Our product is an IoT device that connects over WiFi using mDNS (aka Bonjour/zeroconf...)
- On all other networks we have tested mDNS works correctly to resolve host name
- I have no way to connect remotely from the US to this network
Now consider the following two cases. In the first case products that use mDNS (aka Bonjour) work but in the second case mDNS does not resolve the name to the proper IP address:
mDNS resolves correctly
Access point is configured with DHCP enabled. Access point is stand alone, meaning it is not plugged in to a host network. There is no access to the Internet or any other LAN. Most settings are set to AP's default. mDNS resolves the host name of our product to the actual IP address. All machines can connect to the AP either via the SSID or via Ethernet to the ports on the AP.
mDNS does not resolve
Access point has DHCP disabled. Access point is plugged into an Ethernet port providing access to factory's network. Let's call the factory host network the "outer network." The outer network provides DHCP services. mDNS is unable to resolve host name to IP address. We tried both with DHCP enabled on AP and disabled. We have not yet changed any other settings on AP.
In other words, everything works on the AP as expected except when we plug an Ethernet to the "outer network". We are not trying to resolve mDNS on the outer network. It's still all the local LAN related to the AP that needs to resolve the mDNS names. The only purpose of plugging this in to the outer network is the Linux and Windows machines need to talk to a file server on the outer network. This works. The only thing that breaks is mDNS.
I presume this is some kind of subnet problem. It may be impossible to diagnose without much more info. I am hoping someone reads this and goes "AHA! I know what is happening."
As far as I can tell, this model Linksys E2500 does not have Bridge Mode. It has been suggested that perhaps Bridge mode could be the best setup here. I am not clear on why that might be but I am willing to try it.
I plan to bring a Wireless Router with when I go to factory in next week. I am leaning towards a product like Linksys WRT1900AC. If anyone can recommend a different product in the < $250 range please speak up. Would like one with support for AP or Bridge mode. Dual band is nice but not strictly needed. I do not need a fancy enterprise product. The range is short and the conditions constant.
I'm not an IT person but I do manage IT people. My IT people did not set this system up. It was setup in China. I am going out there since I need to unblock this and complete several downstream tasks.