I’ve recently started using Fedora 16 on my laptop computer, and I enabled the avahi service, which uses mDNS, more commonly known as Bonjour in Apple terminology. This is a convenient way for devices on a small network to automatically discover each other; I enabled avahi on my desktop computer and the two machines found each other’s IP addresses. It’s also used by my HP 6940 desktop printer, which it automatically discovered.
Unfortunately, mdns started getting flaky recenty, and then stopped working altogether in the last couple days. I spent quite awhile looking for Linux problems. The odd thing was that avahi worked fine over the ethernet cable, just not over wireless. After some troubleshooting, I discovered that my wireless interface was not sending or receiving any multicast traffic, which is how mdns works. Eventually I discovered that my wireless access point, an Actiontec MI424-WR rev C, which Verizon provided when they setup FiOs, has issues with wireless multicast. The most common complaint I found is with Bonjour not working:
- http://defenestrated.typepad.com/defenestrated/2010/12/howto-fix-bonjour-failures-when-using-an-actiontec-verizon-fios-router.html
- https://discussions.apple.com/thread/2640695?start=0&tstart=0
Despite a number of claims from companies like HP saying that Actiontec routers don’t support Bonjour, I finally found a configuration setting that fixed the problem. Under the web configuration for the router, go to Advanced -> IGMP Proxy -> ACL Multicast Filtering. In my case I enabled the whitelist, then added my particular IP of interest: 224.0.0.251 / 255.255.255.255, which is what mDNS / Bonjour use. Apparently everything is filtered by default, though I wonder if this is a recent change from Verizon in their firmware configuration. Once I added my whitelist entry and saved, multicast started working instantly.
In Linux, this is obvious by running “avahi-browse -at” and looking for expected results beyond localhost. My mDNS / Bonjour printing also started working.
Another thing to check is that Multicast is not disabled at some other level; check the Interface Multicast Filtering to make sure that all interfaces are enabled.
Is the IP address of the iTunes/Bonjour server? My Actiontec router would not accept the netmask above. I’m having trouble with iTunes sharing which I suspect is a similar problem. Works better when everyone is wired in, does not when machines are wireless.
The IP 224.0.0.251 is a special IP address used for multicast addresses. It is not an individual, assignable address. mDNS / Bonjour specificially use this address for multicast transmission; basically, all devices can send messages to this IP, and any mDNS clients will respond. So for this to work, you must use this exact IP address, not your local IP.
Check out this Wiki article: http://en.wikipedia.org/wiki/Multicast_address – it documents some well known reserved multicast IP address ranges, including this one for mDNS.
[…] I saw this suggestion: create an ACL whitelist entry for 224.0.0.251/255.255.255.255 in the IGMP proxy settings on the Actiontec router. That sounded […]
try setting it to 224.0.0.0 and 255.0.0.0 for mask. also 239.0.0.0 / 255.0.0.0 unless you have a special reason to only allow JUST bonjour across
I also beleive I am having issues with Bonjour and my FIOS router. My router model name is MI424WR-GEN2, and I cannot find the IGMP Proxy/ACL Multicast Filtering settings where you describe. Do you have any idea where I might be able to find that on my router?
mosley, not sure if you still need help on this, but IGMP is under Advanced / Routing (bottom right corner).