Monday, July 2, 2007

The Bling

The Mini-Box M300-LCD, as its name would imply, has an LCD module on its front -- specifically, a picoLCD module. The iMedia distribution already had the required drivers, but the KnoppMyth distribution did not. I installed the lcd4linux package through aptitude, but it did not have the picoLCD driver. I did download the source and was able to compile it with the picoLCD driver, and it worked great.

Of course, when I researched how to get MythTV to talk to it, I found that it already has a convenient application, mythlcdserver, to make good use of the display. And, it didn't work with lcd4linux, but lcdproc. I was avoiding using lcdproc, because the first hits I found searching for lcdproc and picoLCD indicated I would have to get the source code and patch it to use the picoLCD. The lcdproc hardware page had no sign of picoLCD. However, when I found the project page on freshmeat.net, the picoLCD driver was recently included. (Indeed, the lcdproc.org home page also has picoLCD in the text description of the most recent release; but I had missed that.)

I compiled and installed the LCDp daemon (which, for some reason, installs its configuration files to /usr/local/etc instead of /etc). With the curses driver active, I started the LCDp daemon, then tried running mythlcdserver. And nothing happened. I tried googling, but I couldn't find anyone else with this problem. Heck with it, I figured I'd reboot.

Interesting thing about LCDp. If the curses driver is active, then running it starts the server and locks the display, and apparently it doesn't daemonize. This is a problem when you have it running from init.d -- the boot process gets to that step, starts the curses display, and goes no farther. Unfortunately, I started it pretty early in the process (lcd4linux put its startup scripts at S20, so I mimicked this with my LCDp scripts), and sshd had not started yet. Oops. Curses, indeed. I went upstairs (since the MythTV box is now at home in the entertainment center) and grabbed a keyboard and that bootable USB key, booted, mounted the hard drive, edited the config file to use the picoLCD driver instead of the curses driver, and rebooted.

Since I had the keyboard attached at this point, instead of trying to run mythlcdserver from a command line, I went through MythTV's setup menu and enabled LCD there. And it worked just fine.

So now, MythTV talks to the picoLCD just fine. The next major steps are to get it to go the other way -- for the picoLCD to relate its keypresses, and hopefully the IR receiver, back to MythTV. Google hasn't helped so far...

No comments: