All posts for the month June, 2013

XBMC on Nook HD

The Android port of XBMC seems to work pretty well. After installing the .apk and launching the app once so it could create its config files, I just had to add my advancedsettings.xml and passwords.xml files to get the tablet talking to my Samba/MySQL back-end.

It appears that hardware decoding might not be working; standard-definition content plays just fine, but 720p x264 video stutters badly, and 1080p is hopeless. It’s still early days for XBMC on Android, so this may (hopefully!) improve with the next release.

Sitting with a friend in the in-store coffee bar at a Barnes & Noble this afternoon, getting caffeinated to the gills, an announcement over the PA system caught my attention: Nook HDs (the little Android tablets that had just been discontinued a few days previous) on sale for $99. Hmm.

I’d avoided tablets until now for a couple of reasons: the chaotic and immature market, with dozens of companies seemingly introducting and discontinuing models on a daily basis, and my own lack of a clear need/use for a tablet.

Also, I’d never seriously considered the Nook (or Amazon’s competing Kindle tablets) because I’m really not interested in a specialized tablet designed to channel money directly from my wallet to an e-tailer, all while staying securely confined within their walled garden. But a few minutes of Googling revealed that an unoffical port of the Cyanogenmod open-source firmware existed and could be installed without undue hassle. Hmm again.

A quick review of the specs showed a dual-core processor, a gig of RAM, and a 7″ LED-backlit screen at a rather impressive 1440×900 resolution. For a C-note. And I get to have a little fun hacking it and subverting the manufacturer’s intended use. Alright. Sold.

I found a quick-and-dirty HOWTO on installing Cyanogenmod (downloading cryptically-named ZIP files from a Russian website! This can’t possibly end badly!) and had the OS up and running within a half-hour. Then I loaded the .apk for the F-Droid open-source software repository and had a shiny little 100% open-source tablet sitting on my kitchen table.

Initial impression is positive. It’s snappy and stable so far, though I can’t say I’ve really thrown much of a workload at it yet. Some of the features you’d expect in a general-purpose tablet are missing; notably, there’s no cameras or GPS. Will I miss either feature? Probably not.

It remains to be seen how much use I’ll get out of a tablet. I installed the FBReader e-book reader, along with VLC and a handful of other apps. There’s a not-entirely-polished Android port of XBMC that’s worth playing around with. Tablets are obviously better suited to media consumption than creation (I’m typing this on my laptop right now…) so we’ll start out with books, movies and music. Stay tuned?

I have a couple of Windows boxes I use as XBMC media center clients. Basically, they’re configured as appliances; I fire ’em up via Wake-on-LAN, they auto login and launch XBMC. Simple enough. The MySQL back-end and Samba shares live on an OpenBSD host on my LAN. I set up library sharing per the guide on XBMC’s wiki, and it worked. Mostly.

The “update library on startup” feature never worked at all, and I’d occasionally get a “File is no longer available” error when I tried to play a file. Running an “Update library” would get things working again. A minor irritation, and since I always ran into it just as I was getting ready to watch a movie, I never really felt like putting on my IT Guy hat and diving into a debugging session.

Cumulative annoyance finally got the better of me, so I turned on debug logging and saw a bunch of entries like:
WARNING: VIDEO::CVideoInfoScanner::Process directory 'smb://user:pass@' does not exist - skipping scan and clean.

Googling for “CVideoInfoScanner” led me to this thread on the XBMC forum, and this post had my solution:

Fixed the issue by going into saved credentials on my PC and adding the SMB password for the shared folder. Start -> run -> netplwiz -> advanced -> manage passwords -> windows credentials -> add a windows credential -> network address: \NAMEOFSHARE

Sure enough, that works. It’s odd, though. XBMC expects to handle SMB shares on its own, at the application level, rather than working on a mapped drive. And it stores the credentials for the shares in its own passwords.xml config file. So why does storing a credential in netplwiz fix this problem? Dunno. And I’m not really inclined to go any further down that rabbit hole today.