Difference between revisions of "Dianemo S"

From LinuxMCE
Jump to: navigation, search
(Particularities: General speculation)
(General speculation: Intel card information.)
Line 323: Line 323:
  
 
With nVidia video cards, you get entries for ELD (EDID-Like Data) in /proc/asound/cardX/eld#Y.Z, where X, Y, Z are integers. On the machine mentioned above, the data was in /proc/asound/card1/eld#3.0, and the usual is /proc/asound/cardX/eld#1.0, but I seem to remember seeing a machine with ELD in #1.0, but with the sound on "device" 0. If this is true, then there isn't any correlation between the ELD device number and the sound device number, which is annoying. -[[User:Uplink|Uplink]] 17:37, 12 November 2012 (CET)
 
With nVidia video cards, you get entries for ELD (EDID-Like Data) in /proc/asound/cardX/eld#Y.Z, where X, Y, Z are integers. On the machine mentioned above, the data was in /proc/asound/card1/eld#3.0, and the usual is /proc/asound/cardX/eld#1.0, but I seem to remember seeing a machine with ELD in #1.0, but with the sound on "device" 0. If this is true, then there isn't any correlation between the ELD device number and the sound device number, which is annoying. -[[User:Uplink|Uplink]] 17:37, 12 November 2012 (CET)
 +
 +
With at least one Intel video card I got ELD in /proc/asound/card1/eld#3.X, where X is 0, 1, 2. The data was in #3.1 and the "device" value was 1. -[[User:Uplink|Uplink]] 18:36, 12 November 2012 (CET)
  
 
=== Configuring a multi-channel sound card as multiple Virtual Stereo cards ===
 
=== Configuring a multi-channel sound card as multiple Virtual Stereo cards ===

Revision as of 17:36, 12 November 2012


Dianemo S is a software product that shares a common heritage with LinuxMCE, which enables you to have a Dianemo installation on almost any LinuxMCE compatible Core hardware that you already own. This is a full implementation of Dianemo but assumes that you are the 'Installer' and the software only product is supported by the CHT Tech Support team only via the LinuxMCE forum to keep its cost to a minimum. We cannot guarantee that all hardware will work with Dianemo S so there will be some restrictions as to which hardware you can install it on. One key restriction is that both for Hybrid NerveCentre's and Media Managers we will only be supporting nVidia and Intel GPU's. Each installation has a Dianemo installation ID and will be upgradable to future releases using a disc-less online update/upgrade procedure. Updates will be released as and when we develop them and will be available at the same time as they are made available to our hardware products and OS upgrades will follow shortly after Ubuntu OS releases and dates. If you require specialist support or have a specific or special need for direct support then we can provide that too - please get in contact with us via a personal message through the LinuxMCE forum.

Dianemo S is currently built for Ubuntu 11.10 and Ubuntu 12.04LTS (we have legacy support for Ubuntu 10.10 too but that version will not receive any further updates and is frozen) - ALL Dianemo S systems can be upgraded without a re-install (ie they will upgrade like any other Ubuntu installation) see the procedure below for upgrading from one Ubuntu release to another. If you choose to use Ubuntu 12.04LTS please be aware that there still may be some 'wrinkles' in our support for this OS release. So please take that into consideration when choosing whether to install on Ubuntu 12.04LTS or if planning to upgrade your existing Ubuntu 11.10 installation.

See the Dianemo Forum Thread for more information about pricing and the procedure for purchasing a support license.

Contents

Installing Dianemo S

Hardware Compatibility

Basically if the Ubuntu LiveCD is happy with your hardware then you should be all set in overall terms - do that test first. Alternatively if you already have some hardware that is performing well with LinuxMCE then that is very likely to be suitable for Dianemo too

More specifically we have tested and use the Asus PF7-M WS Server Class MicroATX motherboard and if this suits you requirements then it will work very nicely as an NC or 'Full Size' MM motherboard. Pretty much any of the current crop of Atom/iON motherboards or pre-built units should work well as MM's or as small NC's too. We particularly like the Asus AT510NT-I Atom/ION Mini-ITX motherboard as a good choice for MM's as its fanless and has a good low-profile heat-sink design.

Installing from scratch on Ubuntu 11.10 or 12.04LTS

Below are the simple steps needed to install Dianemo S from scratch on your existing LinuxMCE compatible hardware;

  • Install 32bit Desktop edition of Ubuntu 11.10 or Ubuntu 12.04LTS from a LiveCD
    • After installing Ubuntu 11.10/12.04 you will be prompted to upgrade to 12.04
      • Say NO if you intend to stick with Ubuntu 11.10
    • If you installed 12.04 then you should be all set for the Dianemo S installation below (Make sure you have Installer v1.18 or later).
  • At this point you should have the dianemo-licence and dianemo-installer debs somewhere on your systems drive (via e-mail from CHT).
  • Open the Systen Console from Unity using Ctrl + Alt + f6 and login using the Username/Password you created when installing Ubuntu. To switch back to Unity at any time press Ctrl + Alt + f7 - you can switch back and forth using these two keyboard shortcuts. Running the installer in the System Console without X is the best approach currently to avoid some issues during Diskless_Setup;
  • Install the dianemo-temporary-licence deb first
sudo dpkg -i <dianemo-license.deb>
  • Install the dianemo-installer deb second
sudo dpkg -i <dianemo-installer.deb>
  • Execute in a terminal:
/usr/pluto/install/install-dianemo.sh
  • NOTE: Some users have reported they get an error starting the AVwizard after installing 12.04 related to missing fonts. This seems to be caused by an update timing out. If you see this please run the following command from a terminal and then run the AVwizard again;
sudo pkexec /usr/lib/update-notifier/package-data-downloader

Lastly please run the Diskless Setup script on your NC;

Again please run this in the System Cosnole by using Ctrl + Alt + f6 before running the script below;

sudo /usr/pluto/bin/Diskless_Setup.sh

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Use Ctrl + Alt + f7 to go back to Unity.

Upgrading an Existing Installation

READ THIS - Before any upgrade process we would recommend that you backup your Dianemo S installation - see the section below called 'Backing up your Dianemo Database'.

Upgrading a Ubuntu 10.10 System to 11.10

Unfortunately you cannot upgrade directly from Ubuntu 10.10 to 11.10. You must first upgrade to Ubuntu 11.04 and then upgrade from 11.04 to Ubuntu 11.10. This is because of the way the Ubuntu upgrade process works. Just follow the steps below to start the upgrade procedure;

  • Firstly you need to remove your existing diskless directories - these will get automatically re-created from scratch later when you run the dianemo-installer under Ubuntu 11.10. So do the following at a console prompt;
sudo rm -rf /usr/pluto/diskless
  • Next from the console upgrade your 10.10 system to 11.04;
sudo do-release-upgrade
  • When the upgrade to Ubuntu 11.04 has finished you are ready immediately to start the upgrade to Ubuntu 11.10. DO NOT Reboot at this point. Simple do the following again at the the console prompt;
sudo do-release-upgrade
  • Once the upgrade to Ubuntu 11.10 has completed do the following from a System console prompt. Use Ctrl + Alt + f6 to get to a System Console screen (***do not Reboot before running the installer again***);
/usr/pluto/install/install-dianemo.sh

You will be prompted for your user password for sudo above, to become root ie the user/password you created in the Ubuntu installer. Go make yourself a cup of tea or coffee, bake a few biscuits, that kind of thing!... while the installer does its thing.

Use Ctrl + Alt + f7 to get back to Unity again.

Upgrading a Ubuntu 11.10 System to 12.04

  • Firstly make sure that you have Installer 1.16 or later - an earlier installer will not install on 12.04
  • Secondly you need to remove your existing diskless directories - these will get automatically re-created from scratch later when you run the dianemo-installer under Ubuntu 12.04. So do the following at a console prompt;
sudo rm -rf /usr/pluto/diskless
  • Next from the console upgrade your 11.10 system to 12.04;
sudo do-release-upgrade
  • When the upgrade to Ubuntu 12.04 has finished go to a System Console screen with Ctrl + Alt + f6 and you are ready immediately to do the following at a System Console prompt.;
/usr/pluto/install/install-dianemo.sh

You will be prompted for your user password for sudo above, to become root ie the user/password you created in the Ubuntu installer. Go make yourself a cup of tea or coffee, bake a few biscuits, that kind of thing!... while the installer does its thing.

The installer will download the debs (including updating itself if it needs to be updated) and install them for you without asking any questions.

  • NOTE: Some users have reported they get an error starting the AVwizard after installing 12.04 related to missing fonts. This seems to be caused by an update timing out. If you see this please run the following command from a terminal and then run the AVwizard again;
sudo pkexec /usr/lib/update-notifier/package-data-downloader

After the system is installed, it will run Diskless_CreateTBZ.sh as well.

Lastly please run the Diskless Setup script on your NC;

sudo /usr/pluto/bin/Diskless_Setup.sh

This will reinstate all of your MM's.

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Use Ctrl + Alt + f7 to get back to Unity.

Lastly reboot your system and Dianemo will start.

You Dianemo S installation will now be running on Ubuntu 12.04LTS

Using the AVwizard 2.0 to Configure Video/Audio for your TV

AVwizard 2.0 - The AVwizard automatically detects what connector (HDMI/DVD/VGA) your display/TV is connected to and will automatically configure the highest resolution suitable for the displays reported EDID capabilities & aspect ratio. The AVwizard now uses the native uBuntu X detection first and if it succeeds it will use that otherwise it will test the previously used custom mode lines. You can still override its choice of screen resolution setup if required and the rest of the process is as before. However this version should avoid situations where some users cannot get a display to start X and therefore do not get video at all.

The AVwizard will automatically be run when you start-up your NC for the first time or add a new MM and boot it for the first time. You can re-run the AVwizard at any time to change the configuration of your TV display & audio outputs for your NC or MM's. From the RedLine UI Home screen select;

Control -> System -> Enter your system PIN (defaults to '1234') and then select/press the Circular button. Now Select/Press the 'Video Res & Audio Button'

The NC or MM will now reboot and run the AVwizard automatically.

Updating Dianemo

On your NerveCentre run the Updater script below to update your system with the latest packages & fixes;

sudo /usr/pluto/install/dianemo-software-update.sh

Periodically we will announce that you need to run this script - but you are free to run it at anytime to make sure your NerveCentre is up to date. The updater script will only do an update if there is an update needed... it is safe to run it as often as you like.

To Update your Media Managers

Please run the Diskless Setup script on your NC;

sudo /usr/pluto/bin/Diskless_Setup.sh

This will update all of your MM's and also retain any existing software changes you have made to any of them.

Please note that Diskless Setup will take a considerable amount of time... please be patient!!

Dianemo Permanent License Key

Within 14 days of your Dianemo S10.10 installation contacting our servers you will receive another deb called 'Dianemo-license-nnnnnn' this should be copied to your NerveCentre and installed. This deb installs a securely signed file that completes your installation.

Notes

The following are some notes on configuring your system.

Turning On Remote Assistance

Please do the following;

From a web browser on the the NC or on a PC on the LAN side of your NC please enter the URL below;

http://192.168.80.1/dianemo-admin/index.php

On the Web page displayed after entering the URL above please got to the Remote Access menu in the blue menu bar and select the 'Tech Support' menu item. On the page that is displayed make sure that the 'Remote Assistance' indicator says 'Enabled'. If it does then please click on the 'Disable' button and then 'Enable' it again - ie toggle it off/on. The 'Remote Assistance' indicator should now say 'Enabled'.

Accessing Web Admin

To access Web Admin please use the following url from your Web browser on the NC itself or another PC on the LAN side of your NC;

http://192.168.80.1/pluto-admin/index.php

Backing up your Dianemo Database

We recommend that you regularly take a backup of your Dianemo systems database so that you can always restore your systems configuration should you need too. Please note that these backups are only of your systems database - none of your media or other data is backed up. To make a backup do the following;

  • Open your NerveCentre's Web Admin page (see above)
  • From the green menubar select - Advanced -> Configuration -> Backups
  • On the Backups page enter some descriptive text or notes on the backup and then click the 'Backup' button. After 60 secs or so a backup file will be added to the page beneath the 'Backup' button.

Download Backups

Backups can be downloaded by clicking on the 'download' link next to each listed backup entry and stored safely on another system.

Restore Backups

Backups can be restored by using the 'Choose file' button in the 'Restore' section of the Backups page. This enables you to restore a backup that you had previously downloaded to your laptop or PC.

Backup files are actually stored in;

/home/backup/download

Xorg custom setup

Installing a different Nvidia driver

If you have an older nVidia card that isn't supported by the driver provided by nvidia-current, you normally shouldn't need to download anything from Nvidia. Ubuntu provides packages for older drivers too.

If you require the 173 series, as for the Quadro FX 2000, this is what you need to do to activate Ubuntu's 173 driver:

Inside a terminal, do this:

apt-get install nvidia-173
update-alternatives --config gl_conf
# select the 173 library at the prompt
ldconfig
reboot

This will install the 173 series nvidia driver and activate it. Nothing else needs to change.

Custom xorg.conf

If you need Dianemo to keep your xorg.conf exactly the way you left it, add this line anywhere in it:

# CustomUserConfig=1

That's: Single hash character as the first character on the line, followed by space, followed by the string "CustomUserConfig=1". Any variations on this (like putting two hash signs, or omitting the space) will not work.

When this is present, Xconfigure.sh will not touch xorg.conf at all. That also means AVWizard won't work properly either, and any mismatch between your xorg.conf and the database will have to be handled manually.

Detecting Shares when adding a NAS

The shares detection problem is due to the Configure_1837.sh script not getting called correctly by some other scripts. We're working on a fix for that. In the meantime if your server has been detected and added but the shares have failed to get detected automatically then run this script from the console and your shares will be detected. Firstly use Web Admin's device tree to find out the Device ID for the newly added NAS and note it down. Now from the console run the following scripts to detect the shares;

sudo /usr/pluto/bin/Configure_1837.sh -d <device_ID>

Next run the the script below to create the file structure;

sudo /usr/pluto/bin/StorageDevices_Setup.sh

Make sure you have an Orbiter displayed so that you can respond to the standard setup questions for your shares... ie 'use pluto file structure' etc etc. Once this script has run your good to go.

Configuring Media Config

In Dianemo we use the media_config.conf file to define how media should be routed/controlled. Essentially media_config.conf replaces the pipes editor. The file should be created in /etc/pluto as below if not already there;

/etc/pluto/media_config.conf

This file is line based, and each line follows the following format:

Room=RoomID: AudioDev=AudioDeviceID; VideoDev=VideoDeviceID; KeepScreenOnForOSD=yes/no

Each parameter means the following:

  • RoomID - This is a number coming from the "Rooms" page in pluto-admin. You can easily get the RoomID number by reading the "Delete Room" link corresponding to each room. Don't click it though. Only read the number at the end of the text "Delete Room #RoomID";
  • AudioDeviceID - this is the number of the device that will receive the sound commands (Volume Up, Volume Down, Mute, On ,Off for audio streams) in the room specified by "Room=RoomID";
  • VideoDeviceID - this is the number of the device that will receive the video commands (On, Off for video strams) in the room specified by "Room=RoomID";
  • KeepScreenOnForOSD - this is the equivalent of LinuxMCE's Orbiter DeviceData "Keep Screen On For OSD", but it's a more generic option that allows you to have rooms without Media Manangers that still have amps and TVs controlled. Setting this option to "yes" will keep the TV and amplifier on after media stops. Setting this option to "no" will cause the TV and amplifier to be sent to sleep as soon as media playback ends.

Here's an example from our office demo system:

Room=3: AudioDev=59; VideoDev=60; KeepScreenOnForOSD=yes
Room=4: AudioDev=37; VideoDev=; KeepScreenOnForOSD=yes
Room=10: AudioDev=30; VideoDev=; KeepScreenOnForOSD=yes

Room #3 is the Lounge, Room #4 is the Kitchen and Room #10 is the Study. In each of these rooms, apart from the Study, we have a Media Manager. The Nerve Centre is not used for media playback, and it lives in a rack, thus it doesn't appear in this file.

In the Lounge we have a Denon Amplifier and a LG TV. The Denon has device number 59, the LG TV has device number 60, and we assign these numbers to AudioDev= and VideoDev= respectively. And we want the TV to stay on after media playback ends.

In the Kitchen we don't have any A/V equipment to control but the on-board sound card. The AppServer has a facility to respond to volume commands and it manipulates ALSA's mixers on receipt of these commands. The AppServer device in the Kitchen has device number 37, thus we assign it to AudioDev=. There's no video device to control, thus VideoDev= is left empty. And we also want this screen to remain on after media playback finishes.

For the Study we just have a SqueezeBox, which is Device ID#30, and therefore we set the AudioDev=30 and the VideoDev= is left empty as there is no video device to control.

After editing your media_config.conf file save the changes. There is no need to reload the router for your changes to take effect.

Adding SqueezeSlave Devices

Follow the steps below steps to add Squeezeslave Audio streaming devices to your Dianemo system;

  • Click 'Show Devices Tree' in Web Admin
  • Select the Core & then use the 'Add Child Device' option at the top of the screen on the right.
  • In the 'Add Child Device' screen click 'Pick Device Template' button
  • Now enter Device ID 1964 and click 'OK'
    • 'Squeezebox Slave' & '1964' will be visible next to the 'Pick Device Template' button - click it to select this template
  • You will now see your new Squeezeslave device template screen;
    • Add a meaningful Device Description to uniquely identify which Squeezeslave this is (a reference to the Room Or zone is a good idea)
    • Set the Room & Entertainment Area
    • In the Device Info section set the (**ie the top most section of the template**);
      • Set the Mac Address. This should be in the form of; 00:00:00:00:00:01 and unique on the system
    • In the Device Data section set the;
      • Sound card this Squeezeslave will use

Next you need to create a Squeezebox Player to be associated with the SqueezeSlave you created above - there must be a unique Squeezebox Player for every Squeezeslave;

  • Click 'Show Devices Tree' in Web Admin
  • If there is no 'Slim Server Streamer' listed under the 'Core'
    • Add a child device under the 'Core'
    • In the 'Add Child Device' screen click 'Pick Device Template' button
    • Now enter Device ID 53 and click 'OK'
    • A new 'Slim Server Streamer' device will appear as a child of the 'Core'
  • If there is already a 'Slim Server Streamer' section under the 'Core' (or if you have just added one) then;
    • Add a child device under the 'Slim Server Streamer'
    • In the 'Add Child Device' screen click 'Pick Device Template' button
    • Now enter Device ID 58 and click 'OK'
    • A new Squeezebox Player will be added under the 'Slim Server Streamer'
    • Give it a matching name to the Squeezeslave you are associating it with and locate in in the same Room/EA & enter the same Mac Address too.
    • Save the changes
  • Now do a reload
  • Next you should start the Squeezeslaves manually (on boot they will be started automatically);
sudo /usr/pluto/bin/Start_SqueezeBox_Slaves.sh
  • Test your new devices to make sure they work correctly

Creating DCEWhisperer Device Templates

DCE_Whisperer

Configuring HDMI Audio for nVidia Video Cards with on-board Sound cards

The AVWizard, when setting up sound, will first ask you to select the sound card you want to use. There may be one entry, or there may be more.

The list contains the output of the /usr/pluto/bin/ListSoundCards.sh script, and it looks like this:

pci0000:00/0000:00:1b.0
pci0000:00/0000:00:1c.0/0000:01:00.1

In particular, Nvidia ION machines, and machines with Nvidia pre-GT video cards will only have one card that also does HDMI sound, while ION2 and machines with Nvidia GT cards will display two cards - one will be the onboard card, which doesn't do HDMI sone, and the other will be a second sound card embedded on the video card, which only does HDMI sound.

As a rule of thumb, the longer entry is the one you want if you want to configure sound over HDMI, and the shorter entry for Stereo or S/PDIF.

Particularities

Shuttle XS35 and similar (mostly currently that means some iON2 machines...but if you don't hear anything when running the Wizard try this fix)

On the Shuttle XS35, when you run the AVWizard and select HDMI sound you won't hear anything. That's because it exposes several HDMI sound devices, and the AVWizard can't handle that situation yet, and it always uses the first one.

To make these machines output sound, create the /root/.asoundrc file with the following content:

defaults.pcm.iec958.!device=1

This will override ALSA's iec958 default device setting, which is referred by the "hdmi" pcm, and get sound working. There's no need for modprobe options trickery. If you add this file after the system is up, all you have to do is reload the router - this will reload Xine Player, which is the device that is affected by the sound settings. No need to reboot.

Do a reload from the console with the following;

/usr/pluto/bin/MessageSend dcerouter 0 -1000 7 1
General speculation

I've seen a machine where the "device" option was 3. It was using an nVidia GT630 card.

With nVidia video cards, you get entries for ELD (EDID-Like Data) in /proc/asound/cardX/eld#Y.Z, where X, Y, Z are integers. On the machine mentioned above, the data was in /proc/asound/card1/eld#3.0, and the usual is /proc/asound/cardX/eld#1.0, but I seem to remember seeing a machine with ELD in #1.0, but with the sound on "device" 0. If this is true, then there isn't any correlation between the ELD device number and the sound device number, which is annoying. -Uplink 17:37, 12 November 2012 (CET)

With at least one Intel video card I got ELD in /proc/asound/card1/eld#3.X, where X is 0, 1, 2. The data was in #3.1 and the "device" value was 1. -Uplink 18:36, 12 November 2012 (CET)

Configuring a multi-channel sound card as multiple Virtual Stereo cards

Example sound-card hardware: ESI Gigaport HD or ASUS Xonar DS

Why?: Allows you to virtualise your physical sound card(s) so that you can use their outputs more flexibly. For example you might take a 7.1 Sound-card and use its 8 audio outputs to create 4x stereo virtual sound cards and associate each of those with a Squeezeslave/Squeezebox Player or you might create one Stereo card and use the remaining 6 outputs to drive a surround amplifier in 5.1 mode - in either case you can fully utilise your sound-cards outputs.

Howto:

  • Add a device of template "Multichannel sound card" (Dianemo Device Template #1993) under the NC or MM to which the sound card is attached.
    • Select the physical card that will be partitioned into virtual cards from the drop down.
    • Set the number of channels the sound card supports.
  • Under this device, add as many "Stereo virtual sound card" (Dianemo Device Template #1994) as are needed - for a 8 channel card you should have 4 child devices of this type.
    • For each virtual card set the "Channel Left" and "Channel Right" device data to the physical channel on the card that will be used to output the left and right channel of the virtual card. Numbering start at 0 - for a 8 channel card, the channel number pairs would be 0,1; 2,3; 4,5; 6,7.
    • See the output mapping below for the ASUS Xonar DS/DX & DG Cards. It is recommended that you add a reference to the Sound card output mini-jack in the Preferences field of each virtual sound card you add to help identify them;
      • eg "Output 1 - Green (Living)" where 'Living' is the Room name this audio output is for.
  • Execute /usr/pluto/bin/SetupAudioVideo.sh - this will setup ALSA to show the virtual cards.
  • Execute /usr/pluto/bin/UpdateAvailableSoundCards.sh - this will add the virtual cards to the "Sound Card" device data drop-down. Virtual cards are named "Virtual_NN", where NN is the device number of the virtual card in the device tree.
  • You can now set up Squeezebox Slave devices using these virtual sound cards following the Squeezebox Slave instructions on this page.
  • Now you can use a virtual card as the main card of an MM (ie the virtual cards will be selectable) ie Sound card that supports 7.1 audio could be used to deliver 1 Virtual Stereo Sound card and a 5.1 surround Virtual Surround Card for a Hometheatre all from one physical card.

Sound Card Audio Output Mapping

Note: Please add a new section below with the output mapping of any cards your have experience of using.

ASUS Xonar DS, DX or DG Audio output mapping

Xonar cards have the following output mapping when virtualised;

  • Green = Output 1
  • SPDIF/Analog = Output 2
  • Orange = Output 3
  • Black = Output 4

DPMS control of computer monitors

If you want to use DPMS to control the On/Off power state of a computer monitor rather than a serial control of a TV, you can add a device based on the "DPMS Monitor" template (Dianemo Device Template #1995) to the machine(s) in question, then see the "Configuring Media Config" on this page on how to tell the system to control it. You should assign the number of the DPMS Monitor device to VideoDev under the appropriate room.

Show/Hide The Mouse or Cross Hair Cursor

By default the Mouse Pointer & Cross Hairs Cursor are hidden. You can enable these cursors by renaming/deleting the following file on each Media Manager;

/etc/pluto/orbiter.disable.mouse

If the file is present then neither the mouse pointer or the cross hairs cursor will be displayed. If you are not using a Gyration Style remote or a mouse/trackball then you will probably want this file to exist on each Media Manager. Delete or rename the file on any Media Manager where you would prefer those cursors to be displayed.

UPnP Media Servers & Media Playback

Dianemo supports browsing of DLNA/UPnP Servers that are connected to your NerveCentre's LAN. Its most likely that you will have a DLNA/UPnP Compatible NAS (Network Attached Storage) on your LAN, but there are other types of devices that increasingly may contain a DLNA/UPnP server capability such as some uPnP Media Players, TV's or BluRay Players. Whatever your device it is important to make sure that you have turned on the DLNA/UPnP features to make sure that your NerveCentre can access your media files located on your device. The only setup required for DLNA/UPnP servers is to make sure that they have their UPnP server option turned 'on' - there is no configuration required at the Dianemo NC or in Web Admin.

Add a 'UPnP Plug-in' as a Child of the DCErouter

If your installation did not ship with a 'UPnP Plug-in' device installed please follow these simple steps to add one to your NC;

  • In Web Admin select the 'Devices Tree' from the bottom of the left hand menu
  • Click on the DCErouter Device in the Devices Tree and then click on the 'Create Child Device' option in the Device details on the right.
  • In the next screen click 'Pick Device Template' and then type '1984' into the Device ID field and click 'Go' and then click 'Pick Device Template'.
  • You Should now see a new 'UPnP Plug-in' device added as a child of the DCErouter.
  • Next do a Reload Router and you are all set

Using the UPnP Media Browser for Media Playback

Once your DLNA/UPnP server is powered up and attached to the LAN side of your NC then all you need to do is the following on any Orbiter:

  • Set your 'Room' to one which contains either a Media Manager or a compatible (and configured) UPnP Media Player such as an XBMC machine or another UPnP Media Renderer such as a WD Live Media Player.
  • From the Home Screen Select select either 'Audio' or 'Video'
  • In the next screen you will have two choices - select either 'Media Library' or UPnP
    • 'Media Library' will take you to the standard Dianemo Media Library stored on your NC's internal Media Drive or on a SAMBA share
    • 'UPnP' will take you to the UPnP Browser
  • If this is the first time you've browsed to your UPnP Media Servers (after a fresh system boot or reload) then the first screen will display a list of all of the UPnP servers your NC has detected on your LAN.
  • Selecting one of the UPnP servers listed will display the server's list of content. Each UPnP server will have a different hierarchical directory structure for the media files stored on it. Each directory will be enclosed in square brackets and look something like: '[DIRECTORY]'. Each time you select a directory you will be shown the next directory level down. When ever you see any items listed without square brackets they are playable files and selecting those will commence playback of that file on the UPnP media Player device or the Media Manager in the currently selected Room that your Orbiter is set too.
    • Once you are playing a Media File you will see the Media Player screen on your Orbiter with the standard Media playback, audio & lighting controls etc. Pressing the 'Stop' button will stop the currently playing files from playing. All of the other transport controls will have the expected functionality. However this will depend on the Media Playback device located in the room you have chosen to stream media too. Currently any Room that has an Media Manager as its media playback device will have some limitations when using FFwd or Rew. With other 3rd pary Media Players your Media Transport controls will depend on the features of that device. The 'File List' button will always take you back to the screen with 'Media Library' & 'UPnP' browsing choice options displayed. Choosing 'UPnP' will take you back to the last browsed to media directory where you can select a new Media file for playback.
  • You can use the '<-- Parent Directory' entry in any screen to go back up to the previous directory.
  • Use the 'Server List' button to the right to return directly to the UPnP Media Server list at any time to browse to another of your DLNA/UPnP servers.

Choosing which DVD Ripper to use

Dianemo now has the choice of two different DVD rippers that can be chosen from Web Admin;

  • Disc Copy - this is the original ripper that copies the DVD and retains its copy protection.
  • DVD Backup - this ripper removes copy protection and can sometimes handle difficult to rip DVD's more successfully than the Disc Copy ripper. The other advantage of this ripper is that the output .dvd (these are identical to .iso's by the way) files have no copy protection and can therefore be played on devices that can only play un-protected .iso files (eg UPnP Media Renderers).

You can choose which DVD ripper to use in Web Admin;

  • Open up Web Admin
  • Choose Wizard->Basic Info->Installation from the Green menu bar.
  • You should now see the Installation Settings screen
  • Look for the 'Ripping Type for DVD's' drop down
  • Choose the ripper you like your system to use from the drop down.
  • Click the 'Save' button to confirm your choice
  • Do a Reload Router and now your new ripper is active.

Adding iOS Orbiters to your System

Please download the latest Dianemo App from Apple's iOS App Store. The Dianemo App is a free download from the App store.

Follow the steps below to add an iOS device to your Dianemo S10.10 NC;

Configuration changes on your NC

The procedure to setup a new iOS Device on your NC is simple but the order of the steps is important.

  • First of all, add a new Generic Web Device as a Child Device of your Core:
    • Goto the Dianemo Admin website--> Pull down Advanced --> Configuration --> Devices --> This shows the devices tree on the left window --> click CORE. The CORE's detail page should appear.
    • Click 'Create Child Device'.
    • In the Description, enter the name of the specific web orbiter (choose a device descriptive name ie 'Paul's iPod4G')
    • In the Add child device window, click the button 'Pick device template'. A new pop-up window containing device templates will be opened.
    • Type the template id: 1748 and press go.
    • Click the button 'Pick Device Template'. The Add Child Device Window will close, and the Generic Web Device will be added to the Core, as the updated Device Tree will be displayed.
    • A new Generic Proxy Orbiter will also be created automatically. Watch the Orbiter generation process on the Orbiters page: Wizard-->Devices-->Orbiters.
  • Make a note of the device ID of the new Generic Web Orbiter as this will be needed when configuring the Dianemo Orbiter App on your device.
  • Wait till the Orbiter generation procedure finishes.
  • A message on an active Orbiter or on the Orbiter page will indicate when it has completed.
  • Set the appropriate screen resolution to suit the iOS device you are adding from the 'Size' drop down
    • iPad1 or iPad2 = 1024x768
    • iPhone 3G, 3GS, iPod 1-3 Generation = 480x320
    • iPhone4 or iPod4G = 960x640
  • Set the 'Skin' drop down to the skin you want to use (we recommend the 'RedLine' skin or 'Basic')
  • Click on your new Generic Proxy Orbiter in the device tree, give it a unique, and meaningful name, and then scroll to the bottom of the page on the right and look for the field called 'Listen Port'. This field will be set to '3461' by default (if this Generic Proxy Orbiter is not your first then you should increment this value by one ie to '3462' - each Web Orbiter must have a unique 'Listen Port' number)
  • Now click the 'Save' button at the bottom of the screen to save the changes you have made.
  • Now do a 'Full Regen' from the 'Wizard - Orbiters' page (use the 'Full Regen' for the specific Web Orbiter you have created and not the overall 'Full Regen' button at the top of the page). When the Regen has completed do a "Quick reload router". This step is important Otherwise the Generic Proxy Orbiter won't work properly.

Setting up your iOS Device

  • Make sure your iOS device is connected to your LAN side WiFi AP
  • Download the Dianemo Orbiter App from the App store
  • Start the Dianemo App and use an Upward 'swipe' gesture to display the Tab Bar at the bottom of the display
  • Touch the Configuration Tab to display the Connections screen
    • Select '<New Connection>' to display the Connection Settings screen and fill in the fields as follows
      • Description>>> And text string that uniquely describes this Connection Setting
      • Installation number>>> The installation ID of your NC
      • Device number>>> The Device ID you noted down when setting up your Generic Web Device in Web Admin
      • User Name>>> Used for remote access via the Dianemo's Remote Access System **Contact CHT for availability**
      • Password>>> Used for remote access via the Dianemo's Remote Access System **Contact CHT for availability**
      • Nerve Centre IP>>> The NC's internal LAN side IP address - usually this will be 192.168.80.1
      • 'SAVE'>>> touch this when you want to save the settings you have entered.
    • Select your new Connection to display the options for using it;
      • Connect Locally>>> Use this when you are at home and using your NC's WiFi connection
      • Connection Remotely>>> Use this when you are not at home and want to access your Dianemo system (you need WiFi, mobile 2G/3G data connection foe this to work outside of the house)
      • Edit>>> Edit or update this configuration
      • Delete>>> Delete this configuration from your iOS device.
    • Touching the Settings button in the Connections screen displays the Global Settings screen;
      • Wifi Only>>> forces the device to only use Wifi if set to 'ON'
      • Load Indicator>>> Displays the load indicator if set to 'ON' when the screen is updating.
      • Polling Frequency>>> Determines how often the Dianemo Orbiter will check back with your NC to see if any display changes have occurred
      • Enhanced UI>>> If set to 'ON' then the Enhanced UI mode is used in certain screens in the Orbiter eg Media Browsing. This turns on the interactive layer that provides dynamic scrolling etc. If set to 'OFF' then the standard static UI screens are displayed.
      • Save Settings>>> Saves any changes you make while in the Global Settings screen.

Adding a UPnP Device Manually

Some basic instructions on Adding a new UPnP device manually from Web Admin;

Firstly install the "uPnP AV Control Point" software on your NC (or another Ubuntu system on your LAN) using the Ubuntu Software Center. Now follow the steps below to add & configure your uPnP Media Player & a uPnP Device Template;

  1. Connect your uPnP device to the LAN and power it up.
  2. Create a Child device of the 'Core' and use device template #1980
  3. Using the GUPnP Universal Control point App find the 'UUID' of the UPnP device you want to add a DCEdevice for. Click the UPnP device entry in the Apps left hand pane and then right-click on its UDN entry in the right-hand pane and use the 'Copy to' option.
  4. Now scroll to the bottom of your new uPnP device in Web Admin and paste the UUID into the 'uuid' field in the device template and hit save to save the changes.
  5. Make sure the device is set to 'Manually configure'
  6. Select a free room & entertainment area and select these for your new device.
  7. Now save the changes again.
  8. Now do a reload router.

Note; After creating the UPnP device you may find that the device does not function. This is often due to the device having an entry in 'Pluto_spawned_local_devices.txt' locks file. All you need to do is find the Device ID of the UPnP device you just added in this locks file, remove its entry and save the file. Now back in Web admim do a Reload and your device should now startup correctly and function;

/usr/pluto/locks/pluto_spawned_local_devices.txt

Adding remote Controls

Setup Wii-Remote

I added this HowTo to this Wikipage to have a complete Dianemo S Guide.

Login (Logging_In) as root to the media manager which has a bluetooth stick with ssh.

sudo su -

Install the cwiid driver as follows

  • For Dianemo S10.10:
apt-get install libcwiid1 wminput

Make sure the uinput kernel module is loaded at boot-time:

echo "uinput" >> /etc/modules

Load it manually in the mean time:

modprobe uinput

create the daemon

cat >/usr/sbin/wminputd <<"EOF"
#!/bin/bash
#read the config file
. /etc/wminputd.conf
export DISPLAY=:0

while true
do
       #check if the Orbiter/OrbiterGL is already running!
       if [ "$(pidof OrbiterGL)$(pidof Orbiter)" ]
       then

               #check if the wiimote is already connected
               if [ -z "$(hcitool con|grep $WIIMOTE_BDADDR)" ]
               then
                       PID=$(pidof wminput)
                       if [ "$PID" ]
                       then
                               kill -9 $PID
                       fi
                       #check if WiiMote is in range (prevents spawning devices every 10 secs)
                       if [ "$(hcitool scan|grep $WIIMOTE_BDADDR)" ]
                       then
                               #mouse acceleration, adjust to your liking
                               #see also: "man xset" and/or "xset -h"
#                               xset m 1/2 3
                               wminput -c ir_ptr $WIIMOTE_BDADDR &
                       fi
               fi

      fi

      sleep 5

done

EOF

Make it executable

chmod 755 /usr/sbin/wminputd

vi /etc/wminputd.conf

#this is the config file for the wminputd
#enter the wiimote mac address, you can find it with
#hcitool scan  and then press the red button
#besides the battery's off the wiimote
#Then place the show'n mac address as follows
WIIMOTE_BDADDR="00:AA:00:BB:AA:FF"

you can find your address with hcitool scan

  • Edit the file /etc/cwiid/wminput/buttons
vi /etc/cwiid/wminput/buttons

And make it suitable to your needs below is mine

#buttons

Wiimote.A       = KEY_ENTER
Wiimote.B       = KEY_ESC
Wiimote.Up      = KEY_UP
Wiimote.Down    = KEY_DOWN
Wiimote.Left    = KEY_LEFT
Wiimote.Right   = KEY_RIGHT
Wiimote.Minus   = KEY_F7
Wiimote.Plus    = KEY_F8
Wiimote.Home    = KEY_F3
Wiimote.1       = KEY_F1
Wiimote.2       = KEY_F6


  • create the init file
vi /etc/init.d/wminputd
#!/bin/sh
# Start/stop the wminputd daemon.
#
### BEGIN INIT INFO
# Provides:          wminputd
# Required-Start:    $syslog $time
# Required-Stop:     $syslog $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mousemodule
# Description:       wminputd
#
#
#
### END INIT INFO


test -f /usr/sbin/wminputd || exit 0
. /lib/lsb/init-functions

case "$1" in
start)  log_daemon_msg "Starting wii-remote mousemodule" "wminputd"
       start-stop-daemon -b --start --quiet --pidfile /var/run/wminputd.pid --name wminputd --startas /usr/sbin/wminputd -- $LSBNAMES
       log_end_msg $?
       ;;
stop)   log_daemon_msg "Stopping wii-mote mousemodule" "wminputd"
       start-stop-daemon --stop --quiet --pidfile /var/run/wminputd.pid --name wminputd
       log_end_msg $?
       ;;
restart) log_daemon_msg "Restarting wii-mote mousemdule" "wminputd"
       start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/wminputd.pid --name wminputd
       start-stop-daemon -b --start --quiet --pidfile /var/run/wminputd.pid --name wminputd --startas /usr/sbin/wminputd -- $LSBNAMES
       log_end_msg $?
       ;;
*)      log_action_msg "Usage: /etc/init.d/wminputd {start|stop|restart}"
       exit 2
       ;;
esac
exit 0

Make it executable

chmod 755 /etc/init.d/wminputd

run the script and push the red button beside the battery and your wiimote is ready to go

enable the script so that it will start at boot time

update-rc.d wminputd defaults

now start the script and see if it works

/etc/init.d/wminputd start

To establish the Bluetooth connection press the Buttons 1&2 on your Wii-Remote. The LED's on your Wii-Remote will flash. When the LED's stop flashing your remote is connected.

Adding a Gyration Media Remote

Plug the Gyration Dongle into your MM and then in the Media Manager page in Web Admin select "dev/input HID MCE kbd/remote" as the 'Infrared Receiver' from the drop down. Save the change by scrolling to the bottom of the page an clicking the 'Update' button.

Adding a Fiire Remote

In Web Admin display the device tree in the left hand pane. Now locate the Orbiter of the Media Manager you want to add the Fiire Remote too and click on its entry in the Tree. Now click on 'Create Child Device' in the right hand main window (top left of that pane) and then click 'Pick Device Template' in the 'Add Child Device' window. In the 'Pick Device Template' window enter '1848' (which is the device template No. for the Fiire remotes Template) and press 'Go'. Now plug in your Fiire Remote Dongle. Now do a reload router and your new Fiire Device is ready to go.

Adding A USB-UIRT

Attach your USB-UIRT to your NC or MM. In Web Admin display the device tree in the left hand pane. Now locate the Core/NC or MM in the device tree and create a child device #1783. If adding your USB-UIRT to your NC then create it as a child device of the 'Core/Hybrid'. Now click on the USB-UIRT device in the tree and in the right-hand pane scroll down and make sure that you select the usb-serial port that your USB-UIRT is connected to - then click 'Save'. Now do a reload router and your USB-UIRT should be all set and usable.
If your USB-UIRT is connected to your MM your devices tree should look like this; USB-UIRT in Device Tree.png

If your USB-UIRT is connected to your NC your devices tree should look like this; USB-UIRT attached to an NC.png

Adding a MCE USB2 & Remote

In Web Admin go to Wizard->Devices->Media Directors and then scroll down to the Media Director you would like to add an MCE USB2 & Remote to. Locate the 'Infrared receivers' drop-down and select 'mce_usb2' from the list. Now locate the green 'Add Remote' button to the left and click on it. In the Window that is displayed find the 'Device Template' drop-down and select the type of remote you want to add - ie 'Windows XP MCE Remote' and click the green button called 'Pick Device Template'. Now scroll to the bottom of the page and click the green 'Update' button. Lastly do a reload router.
You should see something like below now; Media Director-Remotes&video.png

Using theMovieDB service

The Enhanced Movie Metadata Web Tool accesses theMovieDB database and can be accessed from the following internal Web Admin url;

http://192.168.80.1/pluto-admin/moviedb/

ZWave Devices

Adding A ZWave USB Interface

Firstly open a terminal session at your NC (either locally or from another PC on your LAN) and tail the following log file;

tail -f /var/log/pluto/NN_ZWave.log

The 'NN' above should be replaced by whatever Device ID your ZWave USB interface has been allocated after you do the 'Add Child Device' step below (the device ID is noted at the very top of the page). Tail will monitor the file you point it at and print to the screen any changes as they happen. After you do the 'reload' below you should see a load of messages scroll through in the terminal. See below for an example of the type of messages you should see.

36	09/20/12 9:00:37.027		We have been idle for 30 seconds, polling device states <0x40c00b40>
40	09/20/12 9:00:37.127		Sending job 0x40d33a48 (cb 122) - 0x1 0x9 0x0 0x13 0xff 0x2 0x20 0x2 0x5 0x7a 0x45 (###### ##zE) <0x40c00b40>
41	09/20/12 9:00:37.131		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.132		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.152		0x1 0x5 0x0 0x13 0x7a 0x0 0x93 (####z##) <0x40c00b40>
35	09/20/12 9:00:37.153		ZW_SEND Response with callback 122 received <0x40c00b40>
35	09/20/12 9:00:37.153		ZW_SEND was successful, removing job <0x40c00b40>
40	09/20/12 9:00:37.254		Sending job 0x40d33c68 (cb 123) - 0x1 0xc 0x0 0x13 0xff 0x5 0x60 0x6 0x2 0x20 0x2 0x5 0x7b 0x22 (######`## ##{") <0x40c00b40>
41	09/20/12 9:00:37.257		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.258		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.281		0x1 0x5 0x0 0x13 0x7b 0x0 0x92 (####{##) <0x40c00b40>
35	09/20/12 9:00:37.281		ZW_SEND Response with callback 123 received <0x40c00b40>
35	09/20/12 9:00:37.281		ZW_SEND was successful, removing job <0x40c00b40>
40	09/20/12 9:00:37.382		Sending job 0x40d33e88 (cb 124) - 0x1 0x9 0x0 0x13 0xff 0x2 0x31 0x4 0x5 0x7c 0x54 (######1##|T) <0x40c00b40>
41	09/20/12 9:00:37.386		0x1 0x4 0x1 0x13 0x1 0xe8 (######) <0x40c00b40>
35	09/20/12 9:00:37.386		ZW_SEND delivered to Z-Wave stack <0x40c00b40>
41	09/20/12 9:00:37.407		0x1 0x5 0x0 0x13 0x7c 0x0 0x95 (####|##) <0x40c00b40>
35	09/20/12 9:00:37.407		ZW_SEND Response with callback 124 received <0x40c00b40>
35	09/20/12 9:00:37.407		ZW_SEND was successful, removing job <0x40c00b40>

If you see any 'Device died' messages then you should edit the following file and remove the entry that matches the Device ID of your ZWave device and save the file;

/usr/pluto/locks/pluto_spawned_local_devices.txt

After saving the file above you should do another reload and go back to your tail session of your NN_ZWave.log file. This time you should not see any 'Device died' messages.

Steps for adding a ZWave USB interface to your system;

  • Attach your ZWave USB Interface to your NC
  • Open Web Admin
  • Change to the Devices Tree view (see bottom of left hand menu pane)
  • Add a Device Template 1754 as a child device of the Core
    • Use 'Add Child Device'
    • From the console do /usr/pluto/bin/UpdateAvailableSerialPorts.sh to update your serial ports
    • Set the COM Port in the 'Device Data' section to use the USB/serial port of your interface (it will look something like; pci0000:00/0000:00:1d.0+1 in the drop-down).
    • Click 'Save' to save your changes.
  • Do a Reload Router
  • You should now see a 'ZWave' item as a child device of the Core in the Devices Tree
    • Expand the 'ZWave' device (click the small '+' to its left)
    • You should see two Child devices;
      • Zwave Embedded Climate Interface
      • ZWave Embedded Security Interface
  • Your ZWave interface is now configured and working.

Adding ZWave Devices to your System

See this wiki page for details of the step by step process of adding ZWave devices using the ZWave SUS/SIS mode;
ZWave#SUC.2FSIS_Mode_.28recommended.29

Installing and using Dianemo's Camera Features

Dianemo uses the Open Source project Motion to provide a more intelligent solution that rivals expensive Security DVR products. In addition to Motion Dianemo also adds the Kmotion package for easier retrieval of archived images. This is how to install, configure and use Motion and Kmotion with Dianemo:-

  • From Web-Admin Wizards->Interfaces, add an instance of the motion wrapper (template #64)
  • Add the Cameras to the Dianemo network, ensuring that they are configured for dhcp and have similar resolutions (ie (640 * 480). Note the mac addresses and the resolutions and then use syslog from a console session (tail -f /var/log/syslog) to see the ip address allocated to the camera by the core. Please try to clearly identify each camera within the camera setup - use a clear naming convention.
  • Still within Pluto-Admin goto Wizard, devices, surveillance cameras, and then use 'Add Device' to add a 'Generic Motion IP Camera' (template #1916).
  • Next add the path to the images, the userid and password, click update. Now click on the 'Advanced' button - to add and save the IP address and MAC address fields.

Some common paths are here:-

Axis

/axis-cgi/jpg/image.cgi

Y-cam

/stream.jpg:username:password
  • note - Default username and password are admin 1234

Panasonic

/Snapshotjpeg?Resolution=320x240&Quality=standard
  • note - Change resolution accordingly

Grandstream

GXV 3611_HD
  • primary
/snapshot/view0.jpg
  • secondary
/snapshot/view4.jpg
  • Either from an orbiter or from Pluto-Admin (Wizard, Restart) do a 'Quick reload router'
    • If prompted from an Orbiter respond 'yes, regenerate all orbiters in my home'
    • When the regen is finished you should see the New Buttons for your camera from the Security menu.

Configuring Kmotion

Kmotion2 takes over the configuration tasks from motion.conf and, at the point of writing this, Dianemo does not fully auto-configure Kmotion2. We therefore need to configure Kmotion2 as well. This will change over time. To do this go to 192.168.80.1/kmotion and using the config button add the paths including the full IP address ( ie http://192.168.80.229/stream.jpg), resolution, and username and password. Press the 'Apply' button to save the changes and restart kmotion. Please note that Kmotion2 also lets you create masks within the config screen and does not let you use any mask entries that may have been stated in motion.conf or in the threadx.conf files. Creating masks is so much easier under Kmotion2.

If after any camera maintenance or camera downtime you need to restart Kmotion without affecting the rest of the system use the appropriate command as shown below:-

Kmotion1
/usr/bin/kmotion_reload
Kmotion2
sudo -u motion kmotion restart

Using HDMI-CEC to Control Media Devices

The HDMI-CEC interface we support currently is the Pulse-8 [1]

We currently only support HDMI-CEC to TV's (this will change very soon to cover all standard CEC devices) ie Your Media Manager must be directly connected to your TV and use the TV for sound output too currently if you want to use HDMI-CEC to control it.

Adding an HDMI-CEC device to your system is simple;

  • Firstly add an HDMI-CEC device template as a child of your Media Manager
    • Display the Device Tree in Web Admin and locate the Media Manager you want to use HDMI-CEC
    • With your Media Managers top level entry hi-lighted in the Device Tree click 'Create Child Device' in the right-hand pane.
    • Now Click 'Pick Device Template'
    • In the 'Pick Device Template' window enter 2010 and click 'GO'
    • 'HDMI CEC' should now be displayed next to 'Device Template'. If it is then click 'Pick Device Template'
  • You should now see an HDMI CEC entry as a child device of your Media Manager in the Device Tree - not down its Device #.
  • Next go to Wizard->Basic Info->Rooms in Web Admin and note down the 'Room #' or Room ID for the Room that your Media Manager is located in.
  • Now edit your /etc/pluto/media_config.conf and modify or add a line for the Media Manager your adding HDMI-CEC control too using the Room ID.
  • Set the AudioDev & VideoDev fields for your Room ID to the Device # of 'HDMI CEC' Device you you noted down above and save the file. See the Media Config section above for details; Installing_Dianemo_S#Configuring_Media_Config
  • Lastly do a Reload router

Now if you set your Orbiter to the room that your Media Manager with HDMI-CEC control is in and do Standby On/Off, Mute On/Off/ or Volume Up/Down you should see your TV respond appropriately. If you get no response from your TV one thing to check is that you have used the short HDMI cable that came with your Pulse-8 from the TV's HDMI port to the 'TV' HDMI port on the Pulse-8 - don't use that short cable from the Media Manager's HDMI port to the 'PC' HDMI port on the Pulse-8 as this will stop the CEC commands from getting through to the TV.

Configuring the Photo Screen Saver (Intel & nVidia GPU's supported in all modes)

The Photo Screen Saver (pss) displays a sequence of photo images on an Media Manager's Orbiter display after a defined period of inactivity by the user. These images are either downloaded automatically from Flickr or alternatively can be your own photo images. The pss is automatically setup for the type of UI you choose for your Orbiter. If you choose a static UI1 style for your Orbiter then this will automatically set the pss to static non-animated images. But you can force it to use 'animated' mode even for UI1 style Orbiter - this will use a 'pan & zoom' style effect when displaying the sequence of photo images on the display. This is particularly effective when used in combination with the new Dianemo UI skin that has been designed to be used on both on-screen TV Orbiters and touch based Orbiter's.

Do the following steps to change the configuration of the pss on your Media Managers Orbiter;

  • Display the Device Tree in Web Admin and locate the Media Manager & Orbiter you want to configure the pss on
  • Expand the tree to display the 'OnScreen Orbiters' child devices
  • Click on the Photo Screen Saver for the Orbiter you are configuring
    • On the right of the screen you will see the details of the pss displayed
    • Scroll to the bottom of the screen and locate the field named 'Type' under 'Device Data'
    • If you hover your mouse pointer over the label 'Type' some tool-tips will be displayed to explain what values the field to the right will accept'
      • Animated - adding this to the field will force the animated pss to be displayed
      • Static - adding this to the field will force the static pss to be displayed
      • Default - adding this to the field will force the default pss to be displayed for the type of UI chosen.
    • Click 'Save' to store the change
  • Reload the router

note: This works for LinuxMCE as well

Using Intel GPU's on Ubuntu 11.10 or 12.04LTS

Currently if you install Dianemo S on an NC or MM that is based on an Intel GPU you may experience an issue where if you boot without a display attached and then attach a display subsequently you only see a text based screen with a mouse pointer. In this case the Intel driver has got confused by the lack of a display. If you find yourself in this situation the fix is simple;

  • Using a keyboard press the Control+Alt+F1 keys simultaneously to switch out of the current screen.
  • Now press the Alt+F7 keys simultaneously to make X draw properly again.
  • You should now see your Orbiter's screen on your display.

Setting up & Testing Serial Devices

Test Serial Syntax

$ /usr/pluto/bin/TestSerialPort
TestSerialPort, v.
Usage: TestSerialPort [-p port] [-P N81|E81|O81] [-t transmit string]
[-s Search String] [-m message to log] [-i Timeout] [-b baud] [-h]
strings can include: \xx (xx is a hex char), \r and \n, and to delay x ms, \sxm
\~ means send a break
-M puts it in monitor mode where it just reports the state
  of hardware flow control until ctrl+c is pressed

Using information from a pnp script

PnP scripts are located here: /usr/pluto/pnp

The serial devices that have UPnP scripts also have invocations of TestSerialPort that can be used out of the scripts after their parameters have been changed appropriately.

For exemple, in 20_DenonReceiver.sh, for Denon amplifiers, the test command is:

/usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 9600 -t "PW?\r" -i 1 -s "Z2MU"

According to the syntax above, -p is followed by the serial port path, which means you need to replace $3 with the serial port, like in the following example:

/usr/pluto/bin/TestSerialPort -p /dev/ttyS0 -P N81 -b 9600 -t "PW?\r" -i 1 -s "Z2MU"

Everything else remains the same. In this example, the string "PW?\r" (following -t) is sent to the device and the search string (-s) to be found in the reply is "Z2MU". The search string parameter and its argument can be left out and you'll see everything the device says back, if anything.

Configuring Internet Radio Services from Logitech MediaServer

Logitech MediaServer provides access to thousands of Internet Radio services. Now you can make these easily available from any of your Orbiters. You need to configure the actual stations you want to be selectable in your Orbiters in Logitech MediaServer using it's favourites feature. Add as many favorites as you like (you can always add more favorites at any time as they will automatically get added to your Orbiters screens).

How to configure your system with Internet Radio Presets;

  • In Web Admin click on the Dianemo logo in the top left corner of the window.
  • Next click on 'Show devices tree' at the bottom of the tree on the left.
  • Now look for 'My Scenarios' in the left hand tree and click on it.
  • Scroll down until you see 'External Sources' in the tree on the left... click on it.
  • Your should now see 'Advanced|My Scenarios' at the top of the main part of the window and a green 'Add My Scenarios' button. Click that button to add your Internet Radio button.
  • In the window that is displayed fill in the 'Description' field - type a meaningful name for your Internet Radio scenario button and then click 'Save'
  • Your newly named Scenario should now be displayed above the 'Add my scenario' button.
  • Click on your new Scenario in the list to finish adding the configuration data to your new scenario.
  • Now tick any 'Entertainment Areas' where you would like the new button to be displayed (**make sure that you choose only those that have an Squeezebox or Squeezeslaves)
  • Click the pop-up in 'Scenario Commands' at the bottom of the screen and select the first item at the top of the list - '[Local Orbiter]'
  • A new pop-up will now be displayed to the right. Click on that pop-up and find 'Show File List' item in the list, select it and now click on the 'Add' button to the right.
  • In the field called '#29 PK_MediaType (int)' type the character '6' (without the parenthesis!) and click 'Save'
  • Lastly do a 'Quick Regen' of all your Orbiters and a reload and your new 'Internet radio' presets button should be available in any of the Entertainment Areas/Rooms that you chose in the process outlined above.

Now to access your Internet Radio Presets just set your Orbiter to one of the Entertainment Areas or Rooms that you configured above. Now touch the External Sources button on the main menu and you will see your new 'Internet Radio' button (or whatever you called it). Touch it and you will see a media playback screen with your Radio favorites listed down the left. Just touch one to hear it...select another to change Station. Use Vol Up/Down to control the volume. If you touch 'Home' you will see the currently selected Internet Radio favourite displayed in the status area on your Home screen...simply touch the status area to go straight back to the Radio favourites player.

If you want to create more favourites or delete one that you have already created just go back to Logitech Media server in Web Admin and edit your favourites - all your orbiters will automatically be updated with any changes you make next time you use them.

Configuring IP Controllable TV's & BluRay Players

The Sony BDP-S370 BluRay Player and the Sony KDL-32EX723 Internet connected TV have been used for testing but we expect that all other current Sony internet connected BluRay players & TV's should also work. A good test of whether your TV is controllable over IP is to use either the Android or iOS Apps to control it - if one or other of the Apps work then your TV should be controllable over IP.

  • Sony IP Controllable BluRay Player Template is #2020
  • Sony IP Controllable TV Template is #2021

Add a device template #2020 or #2021 as a child device of your Core. Fill in the IP & Mac address fields in the 'Device Info' section of the template and save the change. Next run the following command in the console;

sudo /usr/pluto/bin/DHCP_config.sh

and then do a reload router.

To register your Dianemo system with the TV or BluRay player as a remote control device, put the TV/BluRay in registration mode, then, in the devices tree in Web Admin, select the TV/BluRay player device you added, on its page click the green "Send Command" link at the top of the page, a new window will open. Next select the "Register" command from the drop down menu and then use the "Send Message" button to send the "Register" command. The BluRay player or TV should then confirm the registration...and your all set.

Configuring External Audio Zone Amplifiers & Audio Zone Amplifier/Mixers

Using a Dianemo DSC-8 to Control an 8 Zone SystemLine Audio System

The Dianemo DSC-8 is an IP addressable control interface compatible with the SystemLine Modular Audio range of products. Typically you would have a SystemLine AM-8 Audio Hub ( [2] )centrally located and up to 8x SLM3/ALM3 Active Speakers pairs with sub-zones (active speakers have integrated stereo power amplifiers built into them). Sub-zones deliver the same audio source as the main zone but have independent volume control & mute.

Below is a diagram of a typical system that uses an Dianemo DSC-8 controlled SystemLine Modular speaker system for audio. The diagram shows the centralised hardware and a single main zone & sub-zone (Note: the other 7 zones are not shown and only 1 of 6 audio sources are depicted).

Configuring the Armour Speaker Control Device Template

Firstly add a child device to the Core in Web Admin with device template #2024 - Armour Speaker Control. This will add a device called 'Armour Speaker Control' to your systems device tree (you can rename the device if you plan to have multiple DSC-8's installed for example).

Next add a child device using device template #2025 - Armour Sound Zone to your Armour Speaker Control device for each of the sound zones, and sub-zones (eg say an Ensuite bathroom or maybe a conservatory to a living room) you plan to configure (up to a maximum of 8x main zones with a single AM-8 and DSC-8 combo). Each Sub-zone will need its own Armour Sound Zone device too (see below for how to configure a manin zone or sub-zone).You can rename the 'Armour Sound Zone' devices to anything you prefer by the way.

Your Armour Speaker Control device (device template #2024) will need its IP address and Mac address added in the device templates 'Device Info' section. Remember to click the green 'Save' button.

Each of your Armour Sound Zone child devices (device template #2025's) will need the following device data configured manually;

  • Port No. - this is the number of the CAT5E control port that the SLM3/ALM3 Speaker in this zone is connected to on the DSC-8. The Port No. values input into this field should range from 2-9.
  • Address - This field determines whether this Armour Sound Zone is a 'Main Zone' or a 'Sub-zone'. If the input value is '0' then this zone will be a main zone. If the value is 1 or greater then this entry will be treated as a Sub-zone. In most cases you will have a single sub-zone to a main zone and this field's value will be set to '1' (eg an Ensuite bathroom). Valid input values for this field are 0-2.
In Use

Simply choose a room where you have SystemLine Module Speakers from an Orbiter. If you play music/video from your media library then the ALM3/SLM3 will be taken out of stand-by mode automatically and you will hear audio from the speakers (you can use an LRN7 to set the default Vol level for the speaker). You can then use the Orbiters Vol +/- buttons to raise & lower the volume level of the audio and the 'Mute' button to temporarily mute the audio. To select another source simply go to the 'Home' screen in your Orbiter and then select 'Sources' and choose from whatever 'Sources' your system has (these will typically be Satellite STB's or possibly a BluRay player or in fact any type of external hardware device that you have added to your system that can be controlled by Dianemo and has audio outputs). In most cases each of the sources you have added to your 'Sources' screen will have a Remote Screen to control them and this is what you will now see on the screen of your Orbiter device. Whichever Source you choose if you select the Home button you will see what is currently playing in the 'media status' area just above the bottom row of icons on the Home screen. If you see nothing in the Media Status area then that means that nothing is currently being played in the current Room/zone.

Using iTunes with your Dianemo System

If you are an iTunes user then integrating iTunes with Dianemo offers you a number of advanced and very powerful features;

  • All your iTunes library Audio content is available to stream - ripped audio or purchased from the iTunes store.
  • Storing your iTunes library in Dianemo means its available all of the time & not just when your Mac/PC/lapto is powered up.
  • As you purchase tracks/albums from the iTunes Store they will be automatically added to your Dianemo audio library.
  • All of your iTunes Playlists are available in your Dianemo system and are updated in realtime.
  • Playlists can be created or edited in your iOS devices or in you iTunes App on your PC/Mac/laptop and these changes will automatically be available in Dianemo too.

What are my iTunes Library files?

The iTunes library is a database iTunes uses to organize your music. Two iTunes library files are created and maintained by iTunes for different purposes. They're both in the iTunes folder.

Location of the iTunes library files:

Mac OS X:

/Users/username/Music/iTunes/iTunes Library.itl
/Users/username/Music/iTunes/iTunes Library.xml

Windows XP:

\Documents and Settings\username\My Documents\My Music\iTunes\iTunes Library.itl 
\Documents and Settings\username\My Documents\My Music\iTunes\iTunes Library.xml

Windows Vista:

\Users\username\Music\iTunes\iTunes Library.itl 
\Users\username\Music\iTunes\iTunes Library.xml

Windows 7:

\Users\username\My Music\iTunes\iTunes Library.itl
\Users\username\My Music\iTunes\iTunes Library.xml

These two different iTunes library files serve very different purposes. See below for more information.

About the iTunes Library.itl file This file is a database of the songs in your library and the playlists you've created. Some song-specific data is saved in this file. If you delete the file, iTunes creates a new, empty copy when you open the application, but any playlists, song ratings, comments, or other information you created is lost. The iTunes Library file is only used by iTunes, and is the only one backed up by Time Machine on OS X.

Note: The library file name for versions of iTunes for Mac prior to iTunes 10.4 was iTunes Library with no file extension.

Tip: New versions of iTunes sometimes include enhancements to the iTunes library. When you open the new version of iTunes, iTunes upgrades your existing library to the new format and places a copy of the old library in the Previous Libraries folder. If everything goes fine during your upgrade to the latest version of iTunes, you can delete the older iTunes Library files.

About the iTunes Library.xml file This file contains some (but not all) of the same information stored in the iTunes Library file. The purpose of the iTunes Library.xml file is to make your music and playlists available to other applications on your computer. In Mac OS X other iLife applications (like iPhoto, iDVD, and iMovie) use this file to make it easier for you to add music from your iTunes library to your projects.

Moving your iTunes Library to your Dianemo System

To make your iTunes library available to your Dianemo system you must move it into the 'audio' directory in the Dianemo file structure on one of your storage devices;

/home/public/data/audio/itunes

The directory containing your iTunes library can be called anything you prefer, but must be in the 'audio' directory - we have retained the folder name 'itunes' in the example above.

You may have a number of different storage devices configured on your system - such as a local hard drive (or drives) in your NC or possibly on a NAS attached to your NC's LAN. Each of these should have been set-up with the Dianemo/Pluto file structure (see above). You can move your iTunes library to any storage device configured as part of your Dianemo system.

There are a number of ways to move your iTunes library to your Dianemo system;

  • Connect your PC/Mac/Laptop to the Dianemo LAN and use file sharing to copy the iTunes Library
  • Copy your iTunes library to an external USB drive and then attach this to your NC. Go to the Desktop from the Orbiter on your NC, attach the drive and then copy the iTunes Library folder to the /home/public/data/audio directory on one of your Dianemo configured storage devices.

Once your iTunes Library has been copied to your Dianemo system

Making iTunes Playlists Appear in your Orbiters Playlists screen

For your iTunes playlists to automatically appear in your Orbiters Playlists screen you need to have carried out the steps above to move your iTunes Library to a storage device that is part of your Dianemo system. Secondly you should make sure that your Dianemo system is fully updated - see the section above on updating your system using the Updater script.

Next go to the Web Admin page for Logitech Media Server (LMS);

Advanced->Configuration->Slim Server

  • In the LMS page click on the 'Setting's button at the bottom right.
  • Now click on the 'iTunes' tab.
  • You should now see the something similar to the image below;
  • There are two fields that you need to complete;
    • iTunes Music Library.xml Location
      • You need to add the path in this field to where your iTunes library.xml file is located (ie wherever you copied it to above)
      • It should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Library.xml
    • iTunes Media Folder Location
      • You need to add the path in this field to where your iTunes Media library is located (ie wherever you copied it to above)
      • Again it should have the Dianemo/LinuxMCE file path like this if it is stored on a local drive;
        • /home/public/data/audio/iTunes/iTunes Media/
  • You can edit the 'Ignored Playlists' field to exclude any playlists that you don't want to appear in your Orbiters
  • 'Unchecked Songs in iTunes'
    • Set this to however you would prefer it.
  • 'iTunes reload Interval'
    • Set this to an interval that is reasonable - something like 300 secs ie 5 mins
  • 'Use iTunes'
    • This must be ticked
  • 'iTunes Art Work'
    • This can be optionally set (it only affects real Squeezeboxes and the LMS management screen track listing.

Once you have the above settings in place then depending on what you set the 'iTunes reload Interval' too you will see nay changes to iTunes reflected in your Orbiters shortly. You will need to go out of the Audio media library screen or the Playlists screen to see any updated or changed iTunes content/playlists.