Boo yah! I’ve solved my problems. I added another computer to the mix last night. Now the master back end doesn’t have any encoders on it and it’s only job is to manage the database and serve out recordings. I’m going to build a synchronization script to open the database, rsync the files to the master back end and then update the database so that it knows what host they’re on. I would use NFS but it works like crap for live recordings for some reason.


     It was relatively simple to get that computer working last night, it just took a while. The Asus P4S800 motherboard needed to have acpi=off added to the kernel line to boot to Fedora Core 6 (2.6.18) and it took a while to track that bug down. Then installing the mythtv-suite went just fine but because the PVR-150 I have has a infra-red transmitter on it, I needed to install Mark’s LIRC PVR150 version of LIRC and it wouldn’t compile on the stock kernel. The solution was to download the latest kernel from kernel.org which I just assumed would match the kernel of my box, but probably isn’t correct. Then I copied include/linux/config.h into my kernels/2.6.18…/include/linux/ directory so that it would find that file. I also used the following changes, but I did them first and I’m not sure I needed to, but it worked and it’s changing channels happily so it might have helped.


     I set up three recordings in a row to go at 11pm for an hour, 12am for an hour and 1am for an hour and none had that glitch in the first few second and there were no kernel messages. The other main benefit of this strategy is that the front ends won’t fall down anymore because the back end will likely not go away very often anymore. If the database isn’t there the front ends are pretty useless, but even without both recorders in this new layout, the master back end will still be able to serve out old recordings.

diff -ru lirc-0.8.0-orig/drivers/kcompat.h lirc-0.8.0/drivers/kcompat.h

— lirc-0.8.0-orig/drivers/kcompat.h     2006-07-16 21:09:26.323828798 +0200

+++ lirc-0.8.0/drivers/kcompat.h     2006-07-16 21:09:45.441698751 +0200

@@ -15,8 +15,11 @@

#include

+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) #define LIRC_HAVE_DEVFS #define LIRC_HAVE_DEVFS_26 +#endif + #define LIRC_HAVE_SYSFS #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) diff -ru lirc-0.8.0-orig/drivers/lirc_dev/lirc_dev.c lirc-0.8.0/drivers/lirc_dev/lirc_dev.c --- lirc-0.8.0-orig/drivers/lirc_dev/lirc_dev.c     2006-07-16 21:09:26.327829190 +0200 +++ lirc-0.8.0/drivers/lirc_dev/lirc_dev.c     2006-07-16 21:09:45.441698751 +0200 @@ -49,16 +49,18 @@ #endif #define __KERNEL_SYSCALLS__ #include

+

+#include “drivers/kcompat.h”

+

/* DevFS header */

-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)

+#if defined(LIRC_HAVE_DEVFS)

#include

#endif

/* SysFS header */

-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)

+#if defined(LIRC_HAVE_SYSFS)

#include

#endif

-#include “drivers/kcompat.h”

#include “drivers/lirc.h”

#include “lirc_dev.h”

diff -ru lirc-0.8.0-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.0/drivers/lirc_imon/lirc_imon.c

— lirc-0.8.0-orig/drivers/lirc_imon/lirc_imon.c     2006-07-16 21:09:26.327829190 +0200

+++ lirc-0.8.0/drivers/lirc_imon/lirc_imon.c     2006-07-16 21:11:14.542390676 +0200

@@ -58,10 +58,13 @@

#include

#include

#include

+#include “drivers/kcompat.h”

+

+#if defined(LIRC_HAVE_DEVFS)

#include

+#endif

#include “drivers/lirc.h”

-#include “drivers/kcompat.h”

#include “drivers/lirc_dev/lirc_dev.h”

diff -ru lirc-0.8.0-orig/drivers/lirc_sasem/lirc_sasem.c lirc-0.8.0/drivers/lirc_sasem/lirc_sasem.c

— lirc-0.8.0-orig/drivers/lirc_sasem/lirc_sasem.c     2006-07-16 21:09:26.323828798 +0200

+++ lirc-0.8.0/drivers/lirc_sasem/lirc_sasem.c     2006-07-16 21:12:21.700919590 +0200

@@ -67,10 +67,13 @@

#include

#include

#include

+

+#include “drivers/kcompat.h”

+#if defined(LIRC_HAVE_DEVFS)

#include

+#endif

#include “drivers/lirc.h”

-#include “drivers/kcompat.h”

#include “drivers/lirc_dev/lirc_dev.h”

Author: Ian

Share This Post On

Submit a Comment

Your email address will not be published. Required fields are marked *