Upgrading XBMC from Eden to Frodo w/ Shared Database

I went ahead and upgraded my two XBMC players to Frodo over the course of the last few days and just wanted to share my thoughts with you.  I’ll give you the step by step I did.

Backup & Reload

  1. Back up my existing library using the Settings -> Video -> Export options, then I the backup off using WinSCP
  2. Backed up my ~/xbmc/userdata/advancedsettings.xml file
  3. Make a bootable USB stick with XBMCbuntu using Unetbootin and installed it on the first device
  4. Check to make sure the software works after installation and does not freeze
  5. Added sources to XBMC but did not scan anything to the library
  6. Copy advancedsettings.xml, and the backup files back to the first device

I rebooted and then tried to restore the library using Settings -> Video -> Import, but it was not working.  I had a weird issue where anything I set, including sources was not sticking.  I would configure a source, but then it disappeared afterward.

After some poking around I found errors in the XBMC log files in ~/.xbmc/temp/xbmc.log that referenced errors with my database.  At this point in time I decided I did not really mind starting over, since the import of the library should recover almost everything that was in my database anyways.

Removed the Old Eden Databases:

  1. On the Mysql server, I removed the “skip-name-resolve” option from the my.ini file, and restarted the mysql service
  2. Logged in with the root account and dropped all XBMC or music/movie databases using the “drop database <db name>;” command
  3. Added the “skip-name-resolve” back to the my.ini file and restarted the service again

Import the library:

  1. Rebooted XBMC to have it recreate the databases on the mysql server that was referenced in the advancedsettings.xml file
  2. Add sources to my NAS again using the Video -> Files menu
  3. Import the library again via the settings menu

At this point in time the library import actually started working and XBMC started parsing the backup I copied back over.  During the library import, you will actually get a progress bar and XBMC will tell you which items it is importing.  If you do not get this progress bar, the import is not working correctly.


  1. Checked Movies and TV Shows to make sure everything was there, and updated the database one more time.
  2. Rebooted XBMC to make sure the settings stuck, which they did

Prepare Thumbnails for Sync:

I sync all my artwork and thumbnails via dropbox so that I do not get different artwork on one media player compared to the other.  I went ahead and deleted everything I had still in my dropbox folder and reinstalled dropbox on the first device using the Linux text based installer for dropbox (link here).  I then linked the Thumbnails folder into my dropbox folder (see my original article here), and let it sync.

Second Device:

On the second device I repeated much of this.  I reloaded the device, set up the sources (*IMPORTANT*) and copied the advancedsettings.xml file over.  It is important to have the sources configured, otherwise XBMC may start removing items from your library because it does not have the right usernames/passwords to the location where the files are stored, and it will remove them because it thinks the items are no longer available.  I then set up dropbox on the second device and waited for everything to sync, rebooting after just to make sure XBMC was still functioning.


Finally I installed the new version of Aeon Nox on both units and configured the skin how I liked it.  I’ve done some more tweaking since then and I am excited to say that Frodo seems to run just as well as Eden did, and that I have not had any problems or crashes since upgrading.

If you have any questions, or problems with your upgrade, let me know and I’ll try to help!

The HTPC Saga pt4

I came up with a solution to my case problems. LEGO!

LEGO is awesome; it requires no tools, I found a big box of it on top of a wardrobe, and if the computer dies in a few weeks/months, I can simply dismantle the case and re-use the pieces… maybe in a truck or a space ship…

I started off with some of the big flat green bits to use as the base, and after setting the computer on top, filled in the rest of the base with smaller flat pieces. I then basically built around the outside of the computer in blocks, up to a height of two layers (I wanted to keep the whole thing quite low profile).

Anywhere there was I/O I needed to use, I left blank after a height of 1 block to allow access. The fit is quite snug, you can connect cables without the board moving around.


There are a few interesting details:

The activity light circuit board has been sandwiched in the front and is visible through some translucent blue pieces, unfortunately they’re quite dim and don’t quite look blue. I’ll maybe swap for something a little more transparent.

There are LED’s in there, honestly.

The fan exhausts through a couple of white fence pieces, they’re nearly the right size and look quite amusing :P

The silly exhaust

The power switch to the laptop is on the opposite side of the board to the cooler (as it would have originally been upside down) so it’s rather difficult to turn the machine on. I racked my brains for an age to find a solution and finally settled on a simple rocker which when pressed, pushes on the switch. It’s not exactly tactile but it works!

Rocker power switch

After the switch problem was solved, I decorated the front with a few flat pieces that I used to still think are awesome.

Ghetto Lego

I’m left with a gaping hole in the top, and I don’t have enough flat pieces to fill it in, luckily I had some (quite thick) perspex lying around, so a few minutes later, I’ve got a roof window!

What next?

I think I’m pretty close to finishing the project, but the fan needs a bit more airflow, I planned to drill some holes in the Perspex over the fan, but can’t think of an interesting pattern. If I’m stumped or I don’t possess the skills for anything elaborate, I’ll just drill a radial pattern.

I also found a can of glass frosting, which might make a nice effect if I sprayed a logo/name on the window? May be a bit pointless without illumination though.

News & Updates - Openelec 3.0 & HDHomerun Firmware Updates

Openelec 3.0 came out this week.  This is great news for people who love the slightly more streamlined branch of XBMC.  Openelec 3.0 is on the same feature set as XBMC 12.1.  Here’s a snippet of the official release:

OpenELEC 3.0 is built to support XBMC Frodo 12.1 and almost every part of the core OS has been updated and improved since the 2.0 release. The project now supports a broader range of mediacentre hardware than ever before, including dedicated OS images for the budget friendly Arctic MC001 and ultra-low-cost Raspberry Pi systems.

To read the whole release notes, please head over to Openelec.tv

I am also very happy about the fact that Silicondust, the makers of the HDhomerun Prime have moved their beta firmware from the HDhomerun Prime that supported DLNA/Upnp streaming into general release.  This means you can not use XBMC’s “UPNP” file type to tune your HDhomerun prime.  Very cool.

There is however one small problem; When XBMC 12.1 came out, apparently something got added/changes/patched that broke the UPNP streaming for the HDhomerun.  See the bugreport posted here.  I was able to verify that the UPNP streaming does in fact work on XBMC 12, but is broken on 12.1.  We’ll have to wait and see if that gets fixed soon.

If you have an HDHomerun and haven’t upgraded your firmware to support UPNP streaming, do it now by downloading the latest software version at the Silicondust website: http://www.silicondust.com/support/hdhomerun/downloads/

Stay tuned for my impressions video on the HDHomerun.  My camera has been giving me problems so I have not been able to get it completed yet.

Upgrading XBMCbuntu from 12.0 to 12.1 without reloading

UPDATE - My video guide is here: http://www.youtube.com/watch?v=TusVGE702rw

I just saw that XBMC 12.1 was released today.  While I do not necessarily use all the features they improved, I wanted to give the new Audio DB plugin a try so I decided to upgrade.

I went from 12.0 to 12.1 by upgrading over the Internet instead of doing a fresh install.  The guys at XBMC.org have posted a guide on their wiki, however, after following it, I got a Linux login screen instead of XBMC.  Turns out their wiki instructions are missing a command.

Here’s what you gotta do to upgrade:  If you are doing this remotely (via ssh) look up the IP address of the computer you are connecting to (you can do this under system -> hardware), or go to the a VTY by hitting CTRL+ALT+F1 on your keyboard.

Once you are at the command line I used these commands to upgrade:

sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xbmc xbmc.bin
sudo reboot

You may be asked if you want to continue, or install/upgrade packages.  If you are asked, either hit enter to continue or Y to continue depending on the prompt.

Once you reboot, cross your fingers and your toes, and you should be able to get right back into XBMC.  If you got a login screen after following the steps on the official wiki article, go back to a command prompt and also run “sudo apt-get upgrade” then reboot.

I did a quick take, and 12.1 can work with 12.0 using the same MySQL backend, and the YouTube plugin works as well.  I did not have a chance to test much else!

Good luck, and let me know if you have any questions!

P.S. If you are interested in what 12.1 fixes, read the official brief here: http://xbmc.org/natethomas/2013/03/18/xbmc-12-1-now-even-better/

The HTPC Saga pt3

If my USB stick install of beta XBMCBuntu takes a turn for the worst (which can happen on USB sticks running pre-release software), I usually re-install the operating system and start my library from scratch.  This means re-adding the media sources; XBMC then has to find all the Movies and TV Show episodes, scrape the internet for library data and download all the fan-art again. On top of this, the watched status of the content is lost i.e. I can’t tell which episode of The Big Bang Theory I’m on.

My first solution was Trakt.tv.  This wonderful service uses a XBMC plugin called Trakt Utilities to scan my library and update my Trakt profile to show which Movies and TV Shows I’ve watched, awesomely geeky in its self!  After a library re-build however, you can use this service to re-sync your seen episodes with XBMC, meaning you can pick up where you left off!  It also enables you to sync your watched videos between different computers.

Trakt also rocks

It still takes ages to re-build my library however.  I don’t have an enormous collection compared to some, (approx. 170 Movies & 40 TV Shows) but it’s a pain none the less.  I was searching the XBMC forum/wiki to discover a quick way of copying my library from another machine when I found something much more interesting.

My second solution was a central library. Using only a MySQL database, a few shared folders and an XML file; you can use the same central library, fan-art, thumbnails and plugin settings for every install of XBMC on your network.  This means no matter which computer you’re using, every time you use XBMC it’s (more-or-less) identical!  All of this (in addition to amusing me more than it should) means the next time I have to re-install the operating system on my USB drive, I simply need to replace one XML file and everything is back to normality in seconds; oh yeah!  It also means I can start watching a movie on my TV, pause it, and go somewhere else to watch the rest on my laptop, exactly where I left off.

“What now?” I hear you ask, well; if the motherboard with wires sticking out of it lives for a few weeks, I’ll build it a case, or mount it on the wall, or stuff it in a drawer/box.  There are a few tweaks I’d like to make to get more functionality from my remote and I have a problem setting XBMC to the required 1920x1080 resolution (the disconnected laptop screen is possibly haunting me).  I’m using the speakers on my TV, *gasp* so will have to source something more appropriate.

If I make any more head-way I’ll possibly post it and if anyone asks, “what did you actually do all weekend?” I’ll send them here.

The HTPC Saga pt2

Through trial and error, here’s where I am now:

To ferry around HD content I abandoned WiFi as a medium and now use a HomePlug system, I simply plugged the adapters in to the wall, connected network leads and they just worked. Job done. Speed wise; I haven’t measured their capacity, but have never experienced their limitations.

To control the HTPC from the aforementioned sofa, I bought a simple remote control. I wouldn’t necessarily recommend that model but I’ll put up with it for another while.

The HTPC I’m using is a de-constructed laptop with no hard-drive which runs XBMCBuntu from a USB drive.  I shall elaborate.


I don’t want to buy a new computer right now, luckily I actually find it more interesting to try and cobble something together that will do the job. I was gifted a knackered laptop a while ago and set to work dismantling it; screen (broken), hard drive (missing), DVD drive, keyboard, track-pad, battery and casing have all been removed.  The remaining parts consist of the motherboard, RAM, CPU and CPU cooler; the computer has on-board graphics, sound, networking and the usual connectivity.

I want some good software that can run on this basic system. XBMC is the most flexible media centre software I’ve ever used, it runs on my Win7 gaming rig and on my Ubuntu laptop; the flavour I’m using here is the new XBMCBuntu Beta3 (Feb/2012).  This is a live version of the new Eden release which is happy running from a CD.  It is equally happy running from a USB drive, and by using Unetbootin to put it there, it’s possible to use persistence to save any changes you make. Lovely!  (I’m aware of even lighter versions of XBMC such as OpenElec, but it can’t boot from this computers awful bios, and I couldn’t find an OpenElec ISO to feed into Unetbootin)

XBMC rocks

So there we have it, a HTPC that cost nothing (nothing but hours and hours of my life).  Admittedly there are a few shortcomings; my pets may electrocute themselves on the circuit board lying on the floor, it’s also a trip hazard and USB drives and Beta software have a few reliability problems.

The computer will need a case, but I want to make sure it doesn’t expire before I expend any energy.

The reliability problem; I have taken measures to account for, measures that have unexpected benefits. More on that next time.

The HTPC Saga pt1

I like watching American TV shows.  Maybe it’s because American networks (presumably) have enormous budgets that they can produce some fantastic programming.  Don’t get me wrong, some amazing shows originate from this side of the Atlantic; Sherlock, The IT Crowd, Father Ted, Red Dwarf & TopGear to name but a few.  For stylish high-drama big-budget whoppers though, the States are unbeatable; The Wire, Mad Men, Band of Brothers, Game of Thrones et al. (I also have an addiction to crime series’ like Monk, The Mentalist, Dexter & Castle)

I don’t like DVD’s. Because my content of choice isn’t broadcast here at a time or on a channel that suits me, and physical media are on their way out; I prefer to consume my digital audio and video in an electronic format.

I like watching things on my TV; from my sofa. One of the problems with the aforementioned digital media is that they are inexorably linked to computers, which are removed from the sofa/TV relationship.  The answer then is to connect my media which resides on my computer, to my TV, and from there to my sofa; where I am.

The TV

I like Home Theatre PC’s.  My selected solution to my problem is to attach a computer to my TV, which will access the content on my desktop computer, so I can waste my evenings from the comfort of my sofa.  However there are a few obstacles to overcome; getting a HTPC, getting the content to the HTPC and controlling the HTPC from the sofa.

The Sofa

So that’s the problem defined, next time; how (if I can) will I accomplish this?