From LinuxMCE
Jump to: navigation, search
eNoodle's Living Room
System Diagram

Devices in Livingroom


  • 3R System HT-1100 HTPC case with LCD display
  • MSI K9NGM3
  • AMD Athlon X2 BE 2,4 GHz
  • Integrated NVIDIA GeForce 7050 with HDMI out
  • Integrated Realtek RTL8211BL Gbit LAN
  • Main Soundcard Budget 7.1 Soundcard with SPDIF
  • 2. Soundcard Realtek ALC888 (onboard)
  • 3. Soundcard Budget 5.1 Soundcard
  • Standard DVD drive
  • Gyration Dongle

Works perfect. The system is powerfull enough to handle 1080p and sPDIF audio out. The system is fitted in a HTPC case. I use it in combination with a Scythe Shuriken CPU Cooler, which makes the system very quiet.

Yamaha RX-V1700 Receiver

2x HDMI Input 1x HDMI Output 1x RS232 3x Multiroom Audio (Mainzone: Digital Input and Output, Zone2 + Zone3: Analog only)

The Receiver has a lot of other digital and analog video/audio inputs. However, I'm referring to the one, I'm using.

My goal

This is my setup in the living room. Goal is to have perfect audio and video in the mainzone and to have stereo audiozones in the second and third zone. For now I've a working MD controlling the Yamaha Receiver (RS232) and the Plasma TV (using USB UIRT).

The MD has three soundcards. The first one is serving 7.1 audio through SPDIF, which is used for normal audio playback and video playback. The two other soundcard are currently running as squeezeslave. They are registered in squeezecenter, but I can't get any sound of it until now.

I hope, that I get this running and have two soundcards running as squeezeboxes, connect them as analog audio source to the receiver and have the receiver controlling the mainzone and the two audiozones.

Update: Working Solution

eNoodle's Living Room
Working System Diagram

Device Templates

I know have a functional multiroom setup. :) The solution was to split the original RX-V1x00 template into three different templates, because the original template missed the possibility to connect the squeezebox within the connection wizard. So I setuped three different templates for each Zone the Receiver has. Each template is a standard GSD device, containing the Ruby codes for its own zone.

  • Template RX-V1700 (Mainzone) controlling the Mainzone
  • Template RX-V1700 (Zone 2) controlling Zone #2 located in a different room
  • Template RX-V1700 (Zone 3) controlling Zone #3 located in a different room

Squeezeboxes: Three Soundcards in one MD = 1 MD + 2 Squeezeboxes

The MD has three soundcards. I use one of them for 7.1 playback on the MD itself using SPDIF. The other two soundcards are configured as squeezeslaves. I have two daemons running, which output their signal analog on both soundcards. These two stereo signal are connected to the Receiver (VCR1 and VCR2) and are used for audioplayback in two more rooms. I mostly followed the instructions here:

I had some problems with the amd64 client of squeezeslave, I always got "decode errors" or "receive errors", so I switched the MD to i386 and used squeezeslave-0.8-20-lnx26-alsa-i686. This squeezeslave version integrates perfectly, detects all soundcards, lists analog and digital audio ports and is very robust. I also added '-O' to the paramlist of the daemons, so they're running in the 'Oldmode', preventing the "receive errors".

Squeezeslave #1 is placed in room #2 together with Zone #2. I connected them using the Connection wizard. Same is done for Squeezeslave #2 and Zone #3, which are placed in room #3. When controlling this room, the receiver receives the vol+/- and on/off command and the squeezeslave gets the signal.

Problem: Switching Soundcards

After a reboot the soundcards where shuffled/switched from time to time. As I have to use the soundcard id for squeezeslave, my multiroom solution messed up. To solve that problem it is necessary to prevent the system from switching the soundcards. I've followed the steps in this thread: Now the soundcards won't get switched anymore after a reboot.

Here is a quick overview, of what has to be done:

1.) Get your modules loaded

cat /proc/asound/modules

2.) Now edit /etc/modprobe.d/alsa-base

At the very end of the file, add the following (assuming you have 3 cards with module names A, B and C and you want to have them in the order CAB)

options snd-C index=0
options snd-A index=1
options snd-B index=2


The multiroom audio is working perfectly. I have on MD and one receiver and can control three zones. This setup gets the last out of my receiver and is exactly what I wanted to have. :)