Migrating to Schedules Direct

Now that Zap2It has closed their doors on their free program listings for us open source users, it is time to move on to what it is being replaced with.  In my case of Mythtv, that means moving to Schedules Direct.

Disclaimer: This blog entry may be technical in places but I wanted to
be sure and detail the hoops I had to jump through for this and how I
resolved everything.  Hopefully you, the reader, will find it
interesting if not useful. 

Update

Because prior versions of Mythtv had hard-coded Zap2It as the program
guide source for those of us in North America, moving to Schedules
Direct (which didn’t exist until very recently) required an update to
Mythtv itself.  This should be easy enough, just a simple "# yum
install mythtv" and away you go.  However, this was not the case for
me. 

Here’s
a little background on my situation.  First off, my Mythtv setup is
divided into three systems.  I have one system dedicated to the Backend
which includes 2x PVR-150s and 1x PVR-350.  This system houses my
Mythtv database, the Master Backend software, 1.2TB of hard drive space, most of
my tuners, etc, etc.  This is the workhorse system.  My second system
is a dedicated Frontend that I have sitting in the entertainment center
in my family room.  This is a barebones system with a minimal hard
drive (I think it’s an old 5gig IDE drive), a DVD drive, 6150 integrated graphics
and an ethernet connection.  It’s built for quiet and enough power for
SD/HD video playback.  Finally, I have a third system which houses my
HD tuner and is used as my test/development system as well as a Slave Backend/Frontend.

To start out with, I needed to update my Master Backend system to the newest version of Mythtv to gain support for
Schedules Direct.  After attempting to update it with yum, the first
issue I ran into (and I was very unhappy to discover) was that Fedora
Core 5, which is the OS I have loaded on all three systems, is no
longer supported by the atrpms.net repository which houses prepackaged
installations of Mythtv.  atrpms has been my source for Mythtv since I
first started using it in June of 2005.  The reason for this is that as
Fedora Core releases new versions, the old versions are no longer
supported.  I understand this.  What I didn’t expect was that FC5 would
be dropped when FC8 is only in the release candidate stage and not
actually in full release.

Well, I wasn’t about to let this stop me.  I had previously downloaded a copy of Fedora Core 7 when it was first released, before there were even Mythtv packages built for it.  I hadn’t had need for it in the past, but now was a good time to use it.  I could have gone with MythDora 4 (based on FC6) but I figured that I should just jump ahead so that I wouldn’t have to go through this again in another few months.  Armed with my FC7 DVD, I jumped in to start the upgrade.  The process was easy enough, just boot up with the DVD in the drive and it asks you if you want to do a fresh install or an upgrade.  Select upgrade, click next a couple of times, and it’ll do the rest for you.  After an hour or two of updating everything, I rebooted the system and was greeted with a nice clean Fedora Core 7 install.  Sorta…

Boot Loader, Video, and Mouse

When the system initially tried to reboot, the bootloader still had the Fedora Core 5 setup as the default installation to boot.  This was a problem because that setup didn’t exist anymore.  So after selecting the new Fedora Core 7 kernel from the menu, away I went.  On to FC7 bliss. 

Er wait, where’s my desktop?  The next issue I ran into was with my video drivers.  For some reason, they did not update properly.  Because of this, I could not get to my desktop right away and was stuck with a command prompt login.  Fortunately, I knew I could fall back to the default video driver which would atleast get me to the desktop.  So I edited my /etc/X11/xorg.conf file and changed the video driver from "nvidia" to "nv".  This gave me basic video support.  After relaunching the X server, I was able to get to the desktop.

Issue number 3.  Or is that 4?  No mouse pointer.  The mouse was still there, and I could click on stuff, but the mouse pointer itself had disappeared on me during the upgrade.  I don’t know if you’ve ever run into this, but it’s downright difficult to navigate a desktop if you can’t tell where your mouse is.  I was able to find it after some trial and error because as I would hover over icons on my taskbar they would highlight.  Once I was able to get to the internet, a quick search showed me that there was a bug somewhere that caused the mouse to disappear.  I’m not sure why this didn’t happen before the upgrade, but oh well.  It listed a quick fix for it.  Again I edited my /etc/X11/xorg.conf file and added " Option "HWCursor" "off" " to the section on video, and then I had my mouse back.

More Video, System Updating and more Video

Back to the video driver issue we go.   Now that I had mouse control again, it was time to update the video driver again.  Following a couple standard commands I ran

"# yum install nvidia-graphics9631-kmdl-$KVER"

"# yum install nvidia-graphics9631-libs nvidia-graphics9631" – Note that 9631 was the version of the Nvidia driver that I had been using previously so I thought I’d just go with what worked already. 

According to the install log, this worked just peachy, so I modified my xorg.conf file to use the "nvidia" driver instead of the "nv" driver.  A quick reboot and away we… nope, still no X server…  At this point I said "Fine, I’ll just stick with the default driver for now and get Mythtv working," since that’s what my main goal was anyway.  And don’t ask why I was talking to myself… 

Since I didn’t want to go through this again for a while, I decided to shoot for the moon and go with the latest of the latest.  First I updated the kernel, then I updated everything else.  I figured this would give me the most recent of everything (without messing around with the release candidate for Fedora Core 8 that is).  This update process is what I really like about Fedora Core.  I was able to do this with two simple commands:

"# yum install kernel" gave me the most recent kernel for FC7.  This updated my kernel and modified my bootloader to use it as the default (remember my first issue after updating to FC7.  This is now resolved).  After a quick reboot, I was using this new kernel.

The second command that I ran to update the rest of the system (and how easy is this?) was:

"# yum upgrade" 

After waiting for an hour or two for all the packages to update again (I was watching tv at this point.  Just cause the system was updating doesn’t mean I couldn’t still watch my shows.  I love Linux) I had new everything.  In fact, part of this update included the new version of Mythtv, so mission accomplished, sort of.  Again, according to the install log, everything went smoothly so I tried the Nvidia driver again.  Quick reboot and…  Still no go. 

At this point I was about to throw in the towel and format the system, but I had one more trick up my sleeve.  I completely removed everything relating to the Nvidia driver with the command:

"# yum remove nvidia*"

This removed all the components relating to the driver, including any dependant packages.  I noticed that as it was removing stuff, one of the packages didn’t match the version of the others.  Somehow, one component was updated to the most current version – 100.14.11 – while the rest were at 9631.  Obviously this was causing me trouble.  But, since I was going for broke here, when I loaded the driver back on, I installed the most recent version, 100.14.11, and FINALLY I had working Nvidia drivers again. 

Current Status

So where does this leave us now, you ask?

At this point, since Mythtv was incidentally upgraded, the Backend is now ready for using Schedules Direct.  All that’s left at this point is creating a user account on their website. After entering your user information, creating the appropriate listings is very easy.  In fact, I really like their interface better than the one at Zap2it.  It’s a small difference, but with the old listings you checked a box next to the channel you wanted to get program guide for and with the new listings you click directly on the channel name and it’s colored when selected.  It just makes it easier to see at a glance what you have selected and what you don’t.   Since the listings from Schedules Direct are not free, you are currently required to have a paypal account to purchase the listings, but my understanding is that google checkout will be supported at some point also.  Right now the subscription is $15 for six (was three until a couple days ago) months of listings, plus a week free trial.  The plan is to transition to a yearly subscription if all goes as planned for them.

Anyway, back to Mythtv.  Now that the account is setup, configuring Mythtv to use the new listings was a simple matter of selecting Schedules Direct as the listings provider and entering the username and password used to create the account.  Mythtv will automatically grab whichever listings profiles you create (I have one for analog cable and one for my QAM channels).  Then just update the database as usual and you’re all set.  Just like with Zap2it, Schedules Direct provides two weeks of listings at a time.

So here’s where we’re at in the end. 

Primary objective:

  • Update Mythtv to newest version for Schedules Direct support – Check

Secondary objectives:

  • Update the rest of the system to most recent version to avoid hassles in the future – Check
  • Leave everything in a usable state – mostly

There is one outstanding issue I have with this system.  It’s small, but very annoying.  My main objective is completed and verified.  Mythtv is updated and I now see Schedules Direct as a listing source for program info in the mythtv-setup screens.  I can still connect to my Mythtv server from all my client systems even though the versions of Mythtv are currently different between them.  The remaining issue I have is this: for some reason, the menus within Mythtv aren’t rendering on the server.  When I launch mythtv-setup or mythfrontend, it loads, and I can move around in the menus ok, but the menu text isn’t there.  Once I get down into configuration screens, or program listings or whatever, everything shows up fine, but the main menus are just invisible.  For now I’m leaving this alone because I don’t need to use the configuration options on the server in my day to day use.  Mainly it just sits there and records.  I don’t even usually have a keyboard, mouse or monitor hooked up.  Eventually I’ll fix this.

Update: I have since switched themes to "blue" to "fix" this problem.  It works because the "blue" theme uses pictures as menu options instead of plain text.  Themes with text for menu options don’t work still (Titivillus, Retro, etc).

Updating my other systems will follow the same general steps, but hopefully the process will be smoother overall.

I hope someone gained something from this.  And I hope your upgrade process goes smoother than mine!!