Git Product home page Git Product logo

igmp-querier's Introduction

Update 2016-01-30: I no longer maintain this package

Try Marc Culler's https://bitbucket.org/marc_culler/querierd/. I have worked around the AirPlay issue by purchasing a "Philips Bluetooth® adapter AEA2700".

[ARCHIVED] IGMP Querier for Multicast DNS - Synology Package

Fixes a problem with Apple AirPlay / Bonjour devices not showing up on the local network (or showing up and then disappearing after a while) due to faulty IGMP snooping implementations on home routers. This is a frequently reported problem with AV receivers (e.g. from Denon, Yamaha, Pioneer) in conjuction with AirPlay.

This package sends IGMP Membership Queries to the Multicast DNS address every 60 second, causing mDNS devices to respond and thereby keeping the routers' snooping tables up-to-date. The generated queries are harmless and should not otherwise interfere with the operation of the network or the router, except for generating additional traffic for the query and the responses.

A Synology Package was chosen because the Synology NAS is the only device that is running 24/7 on my network and I found it most convenient to implement this functionality there.

IGMP Querier Screenshot

Background

For a detailled explanation, please read Marc Culler's excellent post at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736641 (the problem described is not specific to avahi, so you may mentally replace "avahi deamon" by "Apple Bonjour" while reading the above text).

The implementation here would not have been possible without his analysis and initial implementation of an IGMP querier daemon. You can find his implementation here: https://bitbucket.org/marc_culler/querierd/

Installation

Please check http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have for the CPU model applying to your Synology model. Then download the appropriate package:

CPU Model Download Link Confirmed Working (*)
ARM Kirkwood https://s3.amazonaws.com/igmp-querier/IGMPQuerier-armv5tejl-1.0.spk (please help (*))
ARM Armada https://s3.amazonaws.com/igmp-querier/IGMPQuerier-armv7l-1.0.spk YES
PowerPC MPC85xx PowerQUICC III https://s3.amazonaws.com/igmp-querier/IGMPQuerier-mpc85xx-1.0.spk YES
PowerPC QorIQ https://s3.amazonaws.com/igmp-querier/IGMPQuerier-qoriq-1.0.spk (please help (*))
Intel x86 https://s3.amazonaws.com/igmp-querier/IGMPQuerier-x86-1.0.spk YES
Intel x64 https://s3.amazonaws.com/igmp-querier/IGMPQuerier-x64-1.0.spk (please help (*))

(*) While I am able to compile for other platforms, lacking any other models than mine (DS214se), I cannot test and it on other devices. So if you were able to run it on your machine, please drop me a line ([email protected]) with your Synology model so I know it's working.

Log in to the administration panel of your Synology NAS, click on `manual installation' and upload the .spk file. Then follow the installation wizard.

To verify that the installation worked, execute the following command from a terminal on your computer:

ping 224.0.0.251

This is the Multicast DNS group. Your AV receiver's IP should respond to these requests. When you stop the IGMP Querier in Synology, wait a couple of minutes and the AVR should disappear; when you re-enable the package, the AVR re-appears.

Development

Build dependencies:

For libnet, this is the configure line I used:

env \
CC=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc \
LD=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld \
RANLIB=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib \
CFLAGS="-I/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/include -mhard-float -mfpu=vfpv3-d16" \
LDFLAGS="-L/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/lib" \
ac_cv_libnet_endianess=lil \
./configure \
  --host=armle-unknown-linux \
  --target=armle-unknown-linux \
  --build=i686-pc-linux \
  --prefix=/usr/local/arm-marvell-linux-gnueabi

Authors

Daniel Lorch [email protected]

Please see https://github.com/dlorch/igmp-querier

igmp-querier's People

Contributors

dlorch avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.