Hauppauge HVR-2250 Capture Card

This low profile card has dual tuners in it but, as of now, only supports digital TV. If that's all you need, you might consider using one of these cards. The MythTV wiki has more information here:

     http://www.mythtv.org/wiki/Hauppauge_HVR-2250

The drivers for this card were developed by Stephen Toth and can be found on the Kernel Labs site:

     http://www.kernellabs.com/blog/?page_id=17

Eventually, the drivers should show up in the latest version of Mythbuntu because they were merged into the LinuxTV sources in February of 2010 (e.g. Mythbuntu 11.04 has them included). In the meantime, you can either build the latest V4L-DVB source, available from:

     http://linuxtv.org/repo/

Or, if you want to build the latest stable SAA7164 driver source, you can get the latest version from:

     http://kernellabs.com/hg/saa7164-stable/

Either way, you will first need to get the firmware for the HVR-2250. Make a directory to hold the firmware and download it:

     cd ~/SAA7164/HVR22xx
     lftp
     mget http://steventoth.net/linux/hvr22xx/*
     quit
     chmod ugo+x extract.sh

Before you run the extract script, you must have the unzip command installed. You can do this with:

     sudo apt-get install unzip

Now, extract the firmware:

     ./extract.sh

Copy the extracted firmware (originally meant for Windows but works equally well under Linux) to the firmware directory for your distribution:

     sudo cp *.fw /lib/firmware/`uname -r`

Or, if you'd like the firmware to hang around, even after you install the next distribution, copy it to the top level firmware directory:

     sudo cp *.fw /lib/firmware

Note that, for later versions of the the drivers that are included in the OS (e.g. Mythbuntu 11.04, 11.10, 12.04), you will probably also need to get later versions of the firmware. These can be found at:

     http://www.steventoth.net/linux/hvr22xx/firmwares/

The firmware modules can be downloaded directly (without the benefit of unzip). Mythbuntu 11.04, 11.10 and 12.04 appear to want:

     NXP7164-2010-03-10.1.fw
     v4l-saa7164-1.0.2-3.fw
     v4l-saa7164-1.0.3-3.fw

If you browse around the top level directory you should be able to find the required modules. Hints on what the driver is looking for can be found in /var/log/kern.log. You can copy the firmware to either the /lib/firmware/`uname -r` or /lib/firmware directory, as noted above.

If you aren't running a version of Mythbuntu that has the driver built-in you should continue with these steps to build it. Otherwise, if you're using a version of Mythbuntu that already has the driver in it, installing the firmware is all you need to do.

In order to obtain the driver source code and build it, you'll need to install mercurial and build essential for the next steps:

     sudo apt-get install mercurial build-essential

Assuming that we're going to build using the SAA7164 stable version (the steps to build using the latest DVB drivers are outlined at http://linuxtv.org), fetch the source from the Kernel Labs site:

     cd ~/SAA7164
     hg clone http://kernellabs.com/hg/saa7164-stable/

Build the driver as follows:

     cd saa7164-stable
     make

Once the build is successful, install it with:

     sudo make install

Note that, if you install another kernel version (i.e. as a result of upgrading to a new release), you will have to rebuild the driver again (unless, of course, the driver is now supported by your release [e.g. Mythbuntu 11.04, 11.10 or 12.04]):

     cd ~/SAA7164/saa7164-stable
     make distclean
     make
     sudo make install

Some Internet notes about how to set up the HVR-2250 capture cards say that you need to add the following lines to the /etc/modprobe.d/options file:

     # Make the HVR-2250 work.
     options saa7164 card=4

We have not found this to be the case but your mileage may vary. If you think this option will help you, now is the time to add it, before you reboot your system with the new driver.

You will have to reboot your system for the new driver to take effect:

     sudo /sbin/shutdown -r now

You can now set up the HVR-2250 capture card through the MythTV backend configuration. Note that you should always set up the HVR-2250 capture cards as DVB cards (the card itself will be listed as a Samsung S5H1411). The proper choice is "DVB DTV capture card (v3.x)".

You will be able to set up the first encoder on the card when you add it the first time. Once you've done that, add a second encoder and you will then be able to set up the second encoder.

As with the pcHDTV cards, for the HVR-2250, a couple of options that you will probably want to use are:

     Recording Options
     Max Recordings: 1
     Open DVB Card on demand: (check)

If you are getting your guide data via EIT, you will probably only want to enable it on one of the encoders. Pick either the first or the second encoder and check the EIT box:

     Use DVB card for active EIT scan: (check one only)

We have also found that you may need to change the signal tuning timeout from the default of 500 to a more forgiving 3000. You can try going with the default and see where that gets you but we have noticed that some channels (with perfectly strong signals, by the way) do not tune in the allotted time. Since MythTV just silently gives up on recordings without any word of warning, if anything goes wrong, getting this number right is important.

After all this is done, you should be able to see both HVR-2250 encoders. The acid test is if they show up when you Watch Live TV and switch the source. You should be able to switch to both the encoders. If they are not visible in Live TV, we have found that recycling the mythtv-backend task on the master backend system (if your configuration has multiple systems) may be required for them to show up. Not until they show up in Live TV, will the system begin using them for recordings.

NOTA BENE! The HVR-2250 encoders each have an analog encoder defined for them too. Depending on which order you have the cards inserted in your PCI slots, the analog encoders on the HVR-2250 can usurp the positions normally taken up by regular analog encoders. Therefore, if you are also using an analog encoder (e.g. in a system that has a PVR-150 installed along with the HVR-2250), you may find that the HVR-2250 defines its analog encoders as /dev/video0 and /dev/video1, and that the true analog encoder is /dev/video2. In this case, aiming the MythTV analog encoder at /dev/video0 will not only cause the analog encoder to not be recognized but it will also break both digital encoders on the HVR-2250. So, if your system is configured thusly and none of your encoders shows up, try aiming MythTV at /dev/video2 instead.