PDA

View Full Version : Bonjour not working in Wifi/Ethernet




el.pescado
Oct 10, 2012, 04:03 PM
Hi,

I have a MacBook Pro with Mountain Lion installed, a Linux PC that serves as file server (using Netatalk), and a D-Link DIR-300 router. When all devices are connected via Ethernet, everything works fine.

Hoverver, when i connect MacBook using WiFi, is cannot detect any services hosted by Linux box. I can connect by manually entering IP address in "Connect to server" window, though.

The moment I plug ethernet cable, remote shares instantly show in Finder.

However connected, both devices are in same network, ping each other etc.

Can anyone help?



jared_kipe
Oct 10, 2012, 09:51 PM
Hi,

I have a MacBook Pro with Mountain Lion installed, a Linux PC that serves as file server (using Netatalk), and a D-Link DIR-300 router. When all devices are connected via Ethernet, everything works fine.

Hoverver, when i connect MacBook using WiFi, is cannot detect any services hosted by Linux box. I can connect by manually entering IP address in "Connect to server" window, though.

The moment I plug ethernet cable, remote shares instantly show in Finder.

However connected, both devices are in same network, ping each other etc.

Can anyone help?

mDNS stuff needs to be delivered at a minimum rate, for 2.4GHz network it is 12Mbps (so Cicso says). Ensure your connection is at least this fast. Also ensure that when on wifi you're not on a different network segment or netmask.

Sayer
Oct 11, 2012, 10:41 AM
Bonjour only works between all machines on the same subnet.

WiFi can be on a different IP subnet range from a wired connection, leaving your WiFi Mac in a different subnet and thus unable to "see" the subnet where Bonjour is.

Maybe Ethernet is: 192.168.1.xxx

Maybe WiFi is: 192.168.2.xxx

Different subnet means no Bonjour across both WiFi and Ethernet.

jmcgeejr
Oct 11, 2012, 04:01 PM
Bonjour only works between all machines on the same subnet.

WiFi can be on a different IP subnet range from a wired connection, leaving your WiFi Mac in a different subnet and thus unable to "see" the subnet where Bonjour is.

Maybe Ethernet is: 192.168.1.xxx

Maybe WiFi is: 192.168.2.xxx

Different subnet means no Bonjour across both WiFi and Ethernet.

it may not even be that, some routers now are blocking wifi from talking to ethernet for security sake, it's a setting called something like wifi segmentation or something like that :)

jared_kipe
Oct 11, 2012, 04:36 PM
it may not even be that, some routers now are blocking wifi from talking to ethernet for security sake, it's a setting called something like wifi segmentation or something like that :)

OP did say he could communicate directly through IP address, so it would have to be something more like blocking port 5353.

jmcgeejr
Oct 11, 2012, 04:38 PM
OP did say he could communicate directly through IP address, so it would have to be something more like blocking port 5353.

not necessarily, bonjour is a broadcast protocol, direct IP is not, some firewalls block broadcasting btw wifi and lan.

jared_kipe
Oct 11, 2012, 04:47 PM
not necessarily, bonjour is a broadcast protocol, direct IP is not, some firewalls block broadcasting btw wifi and lan.

Ok plausible then. Any particular router/brand that is doing this?

assembled
Oct 12, 2012, 05:14 AM
you probably have multicast on WiFi disabled

el.pescado
Oct 12, 2012, 12:00 PM
Bonjour only works between all machines on the same subnet.

WiFi can be on a different IP subnet range from a wired connection, leaving your WiFi Mac in a different subnet and thus unable to "see" the subnet where Bonjour is.

Maybe Ethernet is: 192.168.1.xxx

Maybe WiFi is: 192.168.2.xxx

Different subnet means no Bonjour across both WiFi and Ethernet.

Both WiFi and Ethernet are on the same subnet:
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
ether xx:xx:xx:xx:xx:xx
inet 192.168.0.130 netmask 0xffffff00 broadcast 192.168.0.255
media: autoselect (100baseTX <full-duplex,flow-control>)
status: active
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx
inet 192.168.0.102 netmask 0xffffff00 broadcast 192.168.0.255
media: autoselect
status: active

assembled
Oct 15, 2012, 03:58 PM
and as I said, your "router" is probably blocking multicast to/from WiFi

with no multicast, there is no mDNS, the m in mDNS being multicast...

with no mDNS there is no Bonjour...

el.pescado
Oct 15, 2012, 04:05 PM
I have checked my router (DLink DIR-300) configuration, and in "Advanced Network" screen there is "Multicast Streams" section, with two options checked: "Enable Multicast Streams" and "Wireless enhance mode". Strange.

EDIT:
https://dl.dropbox.com/u/1474460/router.png

assembled
Oct 15, 2012, 04:22 PM
you might want to try using Wireshark to see if you can see the mDNS packets

tjmarques
Apr 12, 2013, 02:32 AM
Hi,

I'm sorry for bumping this old(ish) thread, but I'm having the exact same problem with my MacBook Pro running Mountain Lion, only with the wired connection, not the wireless: when connected through WiFi all network devices show immediately in Finder, when connected through Ethernet cable, nothing is shown.
All devices are on the same subnetwork (192.168.1.x) and I've ruled out router configuration as the problem as a PPC Mac Mini running Leopard connected to the exact same Ethernet port in the router works as expected.

Were you able to solve your problem?
Any other suggestions?
Ethernet device configuration?

Thank you for any help you can provide

MareoRaft
May 26, 2013, 08:59 AM
I had this problem and the fix was this:

Network > Airport > Advanced > TCP/IP, and then click "Renew DHCP Lease" button.

It was clear my issue had only to do with my wi-fi connection, because when I plugged an ethernet cable to the router, bonjour worked.

dcyb
Jun 11, 2013, 09:00 AM
I am having the same problem and found more information here (http://www.cisco.com/en/US/products/hw/wireless/ps4570/products_tech_note09186a0080bb1d7c.shtml).

Each query or advertisement is sent to the Bonjour multicast address for delivery to all clients on the subnet. Apple’s Bonjour protocol relies on Multicast DNS (mDNS) operating at UDP port 5353 and sends to these reserved group addresses:

IPv4 Group Address - 224.0.0.251
IPv6 Group Address - FF02::FB

The addresses used by the Bonjour protocol are link-local multicast addresses and thus are only forwarded on the local L2 domain. Routers cannot use multicast routing to redirect the traffic because the time to live (TTL) is set to one, and link-local multicast is meant to stay local by design.


I wished that sort of info was provided by Apple at least. So far I don't have a solution though. Cisco's article suggests a dedicater router is required :eek:

Really sucks.

dcyb
Jun 11, 2013, 12:54 PM
After more research...

Some solutions are proposed on this post to route mDNS from the wifi subnet to the other one:
http://forum.pfsense.org/index.php?topic=59693.msg321412#msg321412


There Darell Tan wrote a mdns repeater for *WRT here:
mdns-repeater: mDNS across subnets (http://irq5.wordpress.com/2011/01/02/mdns-repeater-mdns-across-subnets/)

Joel Knight wrote something about this as well, specifically using AVAHI.
AirPlay, VLANs, and an Open Source Solution (http://www.packetmischief.ca/2012/09/20/airplay-vlans-and-an-open-source-solution/)

And lastly, there are applications for windows and osx that can help you, as detailed here:
Bonjour/ZeroConf/Rendezvous/mDNS across multiple subnets (http://nicolas.vanwambeke.net/wp/2011/05/08/bonjourzeroconfrendezvousmdns-across-multiple-subnets/)


such as running an mDNS-repeater (https://bitbucket.org/geekman/mdns-repeater/) daemon on the Wifi router... cool but not so straight-forward.. :cool: