Posted: Thu Aug 09, 2012 4:48 Post subject: Apple TV, bonjour and VLANs
I need a little help getting Apple TV to be visible across separate VLANs:
Using DD-WRT I have created two VLANs on a Linksys WRT54G router. One side intended to be private, the other side public (guest).
Any device on the guest side is accessible from the private side, but the guest side cannot see anything on the private side.
However, I have an Apple TV on the guest side that I can successfully ping from the private side, however, the standard bonjour protocols don't seem to be able to get between the VLANs, so ATV is only visible using Apple applications from the guest side. Applications on the private side do not see the ATV.
Obviously something bonjour expects to see is not getting across the VLANs to the private side.
My bridging tables look like this:
Bridge Name STP enabled Interfaces
br0 no vlan0 eth1
br1 yes wl0.1 vlan2
I have one iptables command as well:
iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP
Any ideas on what is required to get Apple TV/bonjour to be visible from the private side of the network?
The challenge is to cross-compile this little daemon and install it on your dd-wrt router. Having a working toolchain and compile a small app can be a real pain.... I'm working on it since yesterday and do not have any results for now.
In dd-wrt Web Administration Interface,
enable JFFS in Administration>Management
enable SSHd in Services>Services.
Copy the mdns-repeater binary file to your router using scp. From my osx Terminal from the folder where i have my mdns-repeater app, i used : scp -rp ./mdns-repeater-28ecc2ab9a0e-mipsel root@192.168.1.1:/jffs
To make a test, i used telnet to connect to my router and run :
cd /jffs
./mdns-repeater-28ecc2ab9a0e-mipsel br0 br1
One of my wifi interface wl0.1 is bridged to br0, the other wl0.2 is bridged to br1. My Bonjour printer is connected to the wl0.1 wifi and my iPad to the wl0.2.
(see Setup>Networks to see the bridges). Seems to be the same on your configuration.
I can now see my printer on my ipad
To make the mdns-repeater daemon start when the router boot, from the Administration Web Interface, go to Administration>Command
save this command as startup :
/jffs/mdns-repeater-28ecc2ab9a0e-mipsel br0 br1 &
Reboot your rooter. The daemon should be launched automatically.
Last edited by niko34 on Fri Sep 06, 2013 14:18; edited 1 time in total
Posted: Sun Sep 08, 2013 21:10 Post subject: Re: can't launch mdns-repeater on Netgear routers
You're running afoul of the cpu architecture in the NetGear - the OpenWRT toolchain (from WhiteRussian) is a 'little endian' build of the OpenWRT toolchain. However, the Netgear devices use a 'big endian' model of the MIPS cpu. Unfortunately, persuading the OpenWRT toolchain to build a big-endian executable is.. non-trivial. I'm trying to coax the DD-WRT dev toolchain into building me a reasonable executable now.
Here is the repeater compiled for Atheros. It runs perfectly on my router:
TPLINK TL-WDR3600 v1
Firmware Version DD-WRT v24-sp2 (05/27/13) std - build 21676
Kernel Version Linux 3.9.4 #326 mips
Run it per niko34 post above. Or, if your filesystem is exported to USB, you can run from /opt/usr/sbin with the init line in Saved Startup.