Shareport + Squeezbox + Synology

I was tinkering a bit with my Synology DS213 and the Squeezebox server (Logitech Media Server). Aparently, you can use this great plugin to make every Squeeze player available as AirPlay destination.

What happens then is that you can play music from your Mac/iOS through LMS using AirPlay (that is, WiFi)

My Synology NAS is running LMS, so I only had to build the Shairport plugin with it's helper app. Here's what I did.

Steps

  1. Install Logitech Media server (if you already don't have it)

  2. Make sure you have either git installed (through https://synocommunity.com/ or Optware). Alternatively, checkout the source on your desktop and push it to NAS

  3. SSH to your Synology, and perform:

     cd ~; mkdir tmp; cd tmp; git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp
     cd perl-net-sdp
     perl Build.PL
     sudo ./Build
     sudo ./Build test
     sudo ./Build install
    

You should not see any errors above. If you get

	make: *** No rule to make target `/usr/lib/perl5/core_perl/CORE/config.h', needed by `Makefile'. Stop

you can try this as Perl installation of Synology misses some header files: touch /usr/lib/perl5/core_perl/CORE/config.h.

  1. In LMS -> Plugins, add new plugin repository: http://raw.github.com/StuartUSA/shairport_plugin/master/public.xml and enable the plugin

  2. Once the plugin is downloaded and installed, there is a folder in volume1/@appstore/SqueezeCenter/Cache/InstalledPlugins/Plugins/ShairTunes/ with precompiled Shairplay helpers. Pick the one with right achitecture and place it somewhere in your path (/usr/local/bin should work fine). I've used the statically linked version.
    make sure you rename the file to shairport_helper

  3. Install avahi-utils from Optware and change the /opt/etc/avahi/avahi-daemon.conf as instructed on the plugin page:

     [server]
     use-ipv4=yes
     use-ipv6=no  #if you have ios7 devices change to yes
    
     [wide-area]
     enable-wide-area=yes
    
     [publish]
     publish-aaaa-on-ipv4=no
     publish-a-on-ipv6=no
    
     [reflector]
    
     [rlimits]
     rlimit-core=0
     rlimit-data=4194304
     rlimit-fsize=0
     rlimit-nofile=300
     rlimit-stack=4194304
     rlimit-nproc=3
    
  4. Restart avahi-daemon and LMS to apply all settings.

Results

It works. However, I'm little bit disappointed in the lag when switching the songs in Spotify/iTunes. I haven't found a fix for that yet. As for now, I'm not using it. But I thought this writeup might be useful if you are interested in playing with it.

https://github.com/StuartUSA/shairport_plugin
http://blog.elsdoerfer.name/2011/05/15/shairport-on-synology-nas/