Monday, May 25, 2009

LinuxMCE alpha2 Day 2


Day 2 was much better.


After a fresh install of Kubuntu 8.10, I performed all the updates and rebooted. Then loaded the restricted nvidia driver and then rebooted. I then loaded the linux mce install and rebooted. To my surprise AVWizard started up just fine and I heard "Sarah". After setting up the core I rebooted and then placed the core as the main dhcp server for the network.

All devices started getting leases and my nas, squeezeboxes, voip mta were recognized in the orbiter. After all the software was installed from the autoconfig session I started on the Media directors.

Diskless Media Directors

amd64 w/ Nvidia

vmlinuz-2.6.27-14-generic and initrd.img-2.6.27-14-generic was missing from the /usr/pluto/diskless/*/boot/ directories. I copied both from the /boot directory

I did not get the AVWizard on the screen after the 2nd boot so I rebuilt the image as i386.
After this was done, I got the AVWizard but the mouse froze after selecting continue on the first screen. I had to reboot the Media Director and upon reboot I got a transparency error but finally something on the screen and then nothing but gray screen.

I changed the video card settings to standard and the acceleration to XV and the orbiter appeared on the screen.  Yeah!

I don't have sound but the major hurdle is over.

amd64 w/ Ati
I never got anything on the screen at all after the second boot outside of the console messages. X never started.



A couple of new bugs that I've found. 
  • Turning off any media director from the orbiter also turns off the core :-( very bad.  I'll open a bug for this soon.
  • The Squeezecenter needs manual setup before it will even work
  • Mythtv has not added my hdhomerun as tuners.  I cannot watch tv from the tuner from any media director and even on the core.
  • The orbiter menus are a little buggy and I cannot go back in the menus sometimes.
  • The media director cannot control my LG LCD tv via serial yet.  I don't know if I'm doing something wrong but it has not turned the display off when using the orbiter to turn the display off.  I have to tinker with that.
  • My N800 orbiter running the 5/2008 update cannot connect to the core running the Maemo 710 software.  I'll speak with the developer about that.
  • I cannot make any calls out using the orbiters and my Grandstream Handytone. I need to go check on the diaplan settings
  • X10 Motion sensors are not included in the Security Templates. Bummer.
I'll know at Dawn and dusk if the Sunrise/Sunset Events work.  If so I can stop using when this experiment ends.  

Tests
  • I also have to play around with adding my security system as a Generic Serial Device.
  • Importing my mythtv recordings database
  • Figuring out how to get cover art for all my movies and mythtv recordings on my NAS.
  • Controlling my Roku Media Player via ip or ir and having it available from any Media Director.
  • Follow me audio/video on my media director and squeezeboxes.



Sunday, May 24, 2009

LinuxMCE Alpha2 Day 1



Day 2 is in progress. I'll update the link tomorrow.


I decided to give Linuxmce another shot since the kernel is now up to spec to support my onboard intel hda sound card and better memory management. I need a one stop shop to to the following things:

  • Home Automation: Zwave, and X10
  • Record TV (Preferably Mythtv due to me having a 4 years worth of recording)
  • Multiroom Audio (Prefereably Squeezecenter due to a couple of Squeezeboxes)
  • Multiroom Video
  • Asterisk Voip
  • Voicemail
  • Web Control
  • Scenes, Schedules
Linuxmce gives me that and so much more.

I spent Friday night (5/22/09) installing Kubuntu 8.10 (sad that 9.04 won't work with linuxmce yet), upgrading packages, and installing linuxmce with their provided scripts.

Starting bright and early on Saturday, I moved the alpha2 server my server closet and performed these steps:

  • Plugged my main web/automation server directly into the router with it's static assigned ip.
  • Plugged my Micasaverde Vera into the router directly
  • Plugged my Tmobile@Home Voip MTA directly into the router
  • Plugged the eth0 card on the alpha2 server directly into the router
  • Plugged the eth1 card on the alpha2 server into my 16-port gigabit switch
  • Turned off dhcp on my Linksys WRT310N that's connected to my cable modem (history has told me that I still want to do this because my network turns to much in the linuxmce internal/external network setup)
  • Unplugged the link from the router to the switch.
  • Powered up the alpha2 server
Within about a minute I realized that dhcp was not working. So I went thru the song and dance of powercycling all my network connected devices because I didn't have an hour to wait for all of them to get new leases.

I tinkered around with the interfaces file in vi and found that the netmask 255.255.255.0 eth0 line for card eth1 caused problems. I removed eth0 and restarted networking and dhcp started up. I powercycled all the devices and they got new leases.

Up next was setting up the pxe netboot on all my my frontend desktops that are already connected to tv's and monitors. First time boot worked and they got new leases and the pxe magic worked. Upon reboot they could not find the vmlinuz images. I thought that this might be a problem because they are all amd64 machines and thus detected as amd64. I rebuilt one of the orbiters as an i386 server in hopes that it would correct the problem. Quick reload of the dce router and reboot of the orbiter had the same problems.

I decided to try a real i386 machine. I went into the bios on my Asus Eeepc 1000HE and turned on the pxe boot. First boot worked just like the other and second boot the vmlinuz images could not be found. Yes, major problems if I actually want to use the correct way of having the orbiters use the alpha2 server in the inteded way.

From one of the desktops that failed the pxe boot experience I sshed into the alpha2 server and saw the the symlinks to the images were all bad so it's probably something in the linuxmce diskless boot scripts that is off. I opened up a ticket with them on this.

I changed the symlinks to the correct ones and then tried again. This time there was a nfs mount problem in the that forced me back to busybox. Again opened up a ticket with linuxmce developers.

With that aside I turned off pxe on all the desktop and just let them boot into regular ubuntu.


Up Next was Automation

I was still having problem with the nvidia drivers producing a black screen upon boot where the setup wizard was supposed to be. I showed up only once and never came back.

Previously in linuxmce if I plugged in a zwave usb controller it would popup the wizard and let me know that I plugged in a zwave controller and would ask if I wanted to setup lights. No X so no wizard. So I setup the rooms manually, added the X10 CM11A and Zwave Crontrollers manually. I setup a few X10 lights and they worked. This did not work in previous linuxmce versions.

Without X I don't think that I can set Zwave modules. At least from the web admin I couldn't find any templates to add zwave devices.

Up Next was Voip
Under the lines section Broadvoice was one of the default providers. I typed in my phone number and passwords and voila, I was registered with no headache. Calls were coming in but they were going to voicemail.

I tried to setup my handytone 286 adapter that is connected to my fax machine as an extension but it was having problems trying to connect to broadvoice at the same time as linuxmce and the web interface for the adapter wouldn't let me in to reconfigure it to point to the alpha2 server as an extension.


Up Next was Security
This did not go well at all. I have a couple of wifi cams and my hardwired security cameras also connected to a Aviosys 9100A 4-port video surveillance appliance that turns all my cameras into ip cameras with motion jpgs. Very cheap and effective solution.

My Micasaverde Vera uses the same dce router and motion wrappers as linuxmce and can view all the wifi cams and motion jpgs from the 9100a but alpha2 could not display any images.

Also the wifi cameras would not connect to a seperate router that I'd plugged into my gigabit switch because it did not know how to handle dhcp routing and dns with dhcp turned off. Not only that all my orbiters, wifi phones, cell phones, and laptops were now dead. I need to do some more experimentation with more routers to see how to get around this.

They worked on the linksys wrt310N but that was not a true test because it was bypassing the linuxmce dhcp routers.


Up Next Mythtv

I didn't even make it this far. I just turned the bloody thing off because it never even detected my hdhomerun or installed tuners.


At this point now I'm reinstalling Linuxmce alpha2 from scratch again. Maybe I'm insane and hope to get different results on the second time around. If nvidia and xorg play nice this time around I might actually get to configure the alpha2 server as expected. One positive side effect of the internal/external network were my browsing speeds and network transfers were amazing. I don't know if the qos on the linksys routing is slowing stuff down but once off of it ny speeds were explosive.

See you in day 2.

Saturday, May 16, 2009

Cheap Whole-House Audio


Here's one more low cost way to have whole house audio.
Building construction in my house prevented wiring of speakers in my masterbedroom.

I've been been playing around with MPD using Misterhouse along with an fm tuner for areas in my home where I can't wire speakers and don't have a squeezebox. I've been using it for a few years but I really hate having to login to the web gui and queuing up my music while I'm getting ready for work in the morning. It's possible but a little tedious.


MPD and Misterhouse + Shoutcast 
My mpd configuration.

# $Date: 2008-04-24 06:07:17 -0400 (Thu, 24 Apr 2008) $
# $Revision: 1428 $

# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.

######################## REQUIRED PATHS ########################
# You can put symlinks in here, if you like. Make sure that
# the user that mpd runs as (see the 'user' config parameter)
# can read the files in this directory.
music_directory "/mnt/music"
playlist_directory "/mnt/music/playlists"
db_file "/usr/local/mh/data/mpd/tag_cache"
log_file "/usr/local/mh/data/mpd/mpd.log"
error_file "/usr/local/mh/data/mpd/errors.log"
pid_file "/usr/local/mh/data/mpd/pid"
################################################################


######################## OPTIONAL PATHS ########################
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
state_file "/usr/local/mh/data/mpd/state"
#
################################################################


######################## DAEMON OPTIONS ########################
#
#
user "root"
bind_to_address "localhost"
################################################################

########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
audio_output {
type "pulse"
name "MPD/Pulse"
server "localhost"
}

audio_output_format "44100:16:2"
audio_output {
type "shout"
name "Misterhouse Music Stream"
host "localhost"
port "8081"
mount "/mh.ogg"
password "mypasshere"
quality "5.0"
format "44100:16:1"
description "Sound Stream from the Misterhouse HA Software" # optional
genre "all" # optional
public "yes" # optional
}
################################################################

############################# MIXER ############################
#
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
mixer_type "software"
#
################################################################

###################### CHARACTER ENCODINGS #####################
#
# If file or directory names do not display correctly, then you
# may need to change this. In most cases it should be either
# "ISO-8859-1" or "UTF-8". You must recreate your database
# after changing this (use mpd --create-db).
#
filesystem_charset "UTF-8"
#
# The encoding that ID3v1 tags should be converted from.
#
id3v1_encoding "UTF-8"
#
################################################################


######################### OTHER OPTIONS ########################
#
# The metadata types MPD will recognize.
#
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# Enable this if you wish to use your MPD created playlists in
# other music players.
#
save_absolute_paths_in_playlists "yes"
#
################################################################


Squeezeslave
http://wiki.slimdevices.com/index.php/SqueezePlay
Squeezeslave is the the headless software Squeezecenter client like Squeezeplay(formerly known as Softsqueeze)

With the squeezeslave running on my squeezecenter server, I can now carry my Duet Remote and change the music. If there was a smaller, cheaper Squeezebox boom I would have one in each room.