Topics - chrisbirkinshaw

I have had a problem with my Denon AVC and Onkyo AV Receivers in that every once in a while (days or weeks) the serial port settings are removed and the devices set to disabled. This has followed me through 710, 810, 3 motherboards, PCI based serial, USB based serial, so there doesn't seem to be any hardware issue.

I have seen the following in the Process Initialize section of both the Denon and Onkyo device templates:

1. Why is this done? If nobody knows what do you think about me changing it to not disable the device?2. Does the DisableDevice clear the serial port settings? Is this the desired behaviour if something is temp unavailable?

In the daytime I work as a presales solutions architect for a software company. I've had chance recently to sit back from linuxMCE and have a think about things in a broader sense, as if I were approaching a project at work, and try to think objectively. Here are my thoughts.

LinuxMCE is a media center. Cool.

What is great about it? Well it can turn on my lights when the film has finished, I have easy touch screen access to lighting scenarios around the home, when I'm watching TV I can see who is calling when the phone rings, etc etc.

I have heard some of the core devs getting very dispondent at the mountain of work to do on LMCE to do things like remove non open source code, bring it up to the current standards for media center UIs such as XBMC, write new plugins for things like Hulu, Mame, Pandora, etc. I feel sorry for the small handful of devs who are literally recoding a mammoth system, so complex and interconnected that probably not even one person alive knows every inch of it and never will. Maybe it's time to stand back and ask if the task is really too big, and also if it is justifiable (read on!)?

I also did a bit of playing around with Boxee and XBMC and suddenly thought - if the only thing stopping me using these packages full time was the lack of cool HA/security/climate integration, then wouldn't it be better to take the media playback from XBMC into LinuxMCE all get all those Hulu, Netflix, iPlayer, Pandora plugins for free, and not have to maintain this huge beast anymore? There is even now a mythtv plugin for XBMC which allows liveTV and recorded program watching, and of course it's very much under active development by a large community.

XBMC is all easily controllable via a HTTP API, which is even better.

I would propose to strip frontend duties away from the orbiter (except for non MD devices) and have XBMC launched by the DCERouter on startup. The HA, security, and telephone menus would all then be XBMC plugins. It should be possible to get devs in the XBMC community to write these plugins if we get them excited enough, which would be great news obviously.

- Leverage existing iphone/smartphone apps for XBMC control- UI3 for things like webDT goes into XBMC dev pool and you get their dev support and involvement- No more coding new plugins for media playback as new web portals launch (there will be a lot over the next few years you can bet! - how many do you want to code?!!)- Development on things like the mame plugin becomes an XBMC plugin, and again gets a wider audience and contribution from XBMC devs- DCERouter stays in there and modularity is preserved

Seems like a win/win situation.

Does linux need separate teams writing competing media centre applications? Is this for the best? It kind of defeats the whole open source philosophy of contributing code to make the pool better so that it benefits everyone involved. Lots of separate pools reduces the chance of benefits being shared.

I have a Satellite Receiver in the living room I have split via a 2x4 HDMI matrix to also feed the living room.

HD SAT --> HDMI In 1Other video src --> HDMI In 2etc

HDMI Out 1 --> Living Room TVHDMI Out 2 --> Bedroom TV

I have a USB-UIRT in the cupboard with the source equipment and have all devices working for the living room setup.

What is the best approach for remote control from the bedroom? Should I add another instance of the SAT receiver to the devices list and assign to the bedroom? I notice that I cannot route the SAT device to both TVs from the web admin, which would be the best solution. Having the device defined twice is going to cause problems with the standby status getting confused I expect.

I would also have to split the matrix template in 2, and have one half assigned to the bedroom and one to the livingroom.

I have to tail loads of logs to debug my system. I've never seen a linux app package with so many separate log files. This is actually quite prohibitive.

How about Core.log and Devices.log and get rid of all those spawn device and device logs? The Devices.log could have a column for device id so with grep I can still filter things out. Or... maybe just one log!

1. It would be nice to have a page in the orbiter which displays a list of all devices which have either failed to start or have died and not restarted. At the moment I have problems whereby the zwave device dies but I never know unless I try to switch some lights on/off.

2. If a device is not started then more verbose logging should be provided somewhere, and it should be easily accessible. I have some GSD devices which no not start, are not disabled, but nothing is logged to any logs (grepped for the device name and also id in the log dir with no results). The /var/log/pluto/<device_id> log should be opened as early as possible so it can be logged into. I have devices which do not start but never even have a log file created.

3. If the core dcerouter crashes then the media players and orbiters etc should continue running and try to reconnect in the background. The current behaviour has the effect of making the system quite infuriating sometimes (and as a result I have moved all media playback to dedicated devices - such as Xtreamers - under IR control)

I have added a USB-UIRT to 810 beta and it is all there in the web interface but does not start at all. There is nothing about it in the App_Server log, and the devices are not disabled. Where else could I look?

Starting /usr/pluto/bin/USB_UIRT_0038 manually works and I can learn codes etc.

1. Install snapshot DVD of 8102. Run the Desktop shortcut to /root/new-installer/full-install.sh3. After installing a few packages I am asked to reboot4. After reboot nothing happens - presented with a login prompt (KDE no longer starts as the symlinks were remove by the installer)5. Manually run /root/new-installer/full-install.sh again6. Install of pluto-dcerouter fails as linuxmce sources have not been added to apt sources.list

I did some digging around and found a function in mce-install-common.sh which adds the LinuxMCE sources called Setup_Apt_Conffiles, which seems to add either remote or local sources based on whether the core currently has internet connectivity (neat!). However, the part of mce-install.sh where this is called from is commented out:

I did find however that the pre-install-from-DVD.sh script adds some repos, but this is not called at all from the full-install.sh script which is included in the DVD distribution.

Is there a reason for this? I assume this script is working for other users? How can it work for everyone else? I would go ahead an post a Trac ticket but it seems odd that nobody else would have run into this issue.

Regards,

Chris

ps. my setup is a VMware virtual machine with 2 network interfaces (both appear in ifconfig output and are working)

This program is distributed according to the terms of the GNU Public License, available at: http://www.fsf.org/licensing/licenses/gpl.html This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Public License for more details.---------------

The part in the code below which adds FK_Device_ControlledVia = '$PK_Device' as a condition for the found storage devices means that only storage devices which are controlled by a core or MD are picked up by the script. I have some shares attached to a NAS which are not picked up, as this final constraint does not permit it.

Does anyone know why it's like this? I'm also surprised that nobody else has noticed this, as it would mean they could not record to NAS. Am I doing something odd here?

I started work on a RoR app which models the pluto DB and offers a simple web interface and also a RESTful XML interface as a free bonus. I will make a few changes next weekend to provide an iPhone interface to it using IUI. I've literally only done about 2 hours work or less but there is a beginning of something. The webpages are very basic.

I just found out that there is an XML plugin being developed for LMCE anyway, so this work is probably redundant, but it was a fun exercise for me anyway, and gives me a platform on my test system in which I can mess around a bit. Someone out there might find this useful perhaps.