At this point you should install the source or at least the headers for your kernel. The linuxtv drivers probably need to build against your kernel source. I am not 100% sure on this requirement, but it seems like an easy enough step to take.

Download the build tree and build it. It will download compatibility patches for your kernel if available:

Download the build tree and build it. It will download compatibility patches for your kernel if available:

Line 78:

Line 80:

./build.sh

./build.sh

</pre>

</pre>

+

+

'''Note: this method (as of 2012/03/02) will only give NTSC for analog TV, the driver does not have PAL support.''' You can at this point patch your code with the patch here: http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/26212/focus=26524. A bit of fiddling is needed to apply the patch in the newer kernels, but I have it working with 3.2.1. Apply the patch to the linux subdirectory of the git archive (after calling ./build.sh), and then call ./build again (or just make). --- patch for 3.2.1-gentoo kernel: https://github.com/reinhrst/nl.claude.tools/tree/2594dd91cb81a3c905a53b9168f52a42e317cd1f/misc

+

+

'''Note: (as of 2012/11/27) Revision 2 of this card will fail to initialize correctly with a dmesg error similar to the below:

+

Full details are available [http://www.kernellabs.com/blog/?p=1946 here]

* apply the this [http://git.kernellabs.com/?p=stoth/media_tree.git;a=commitdiff;h=c7e5e5e04875b61ec0fed67fc3eac8398cd666c3 patch]

+

* download [http://www.steventoth.net/linux/hvr22xx/firmwares/4038864/v4l-saa7164-1.0.2-3.fw v4l-saa7164-1.0.2-3.fw] and copy it to /lib/modules

Now that we've built all the latest linuxtv drivers install them (from the media_build folder):

Now that we've built all the latest linuxtv drivers install them (from the media_build folder):

Line 86:

Line 118:

Finally reboot to load the driver (or use sudo make unload, then sudo modprobe ''driver name'' to unload and reload the drivers - see http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers for more info.)

Finally reboot to load the driver (or use sudo make unload, then sudo modprobe ''driver name'' to unload and reload the drivers - see http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers for more info.)

−

Alternative method using (older) mercurial tree:

+

* NB: One user found that the output of grep saa7164 /var/log/dmesg (on Ubuntu 11) was:

This necessitated the download of http://www.steventoth.net/linux/hvr22xx/firmwares/4019072/NXP7164-2010-03-10.1.fw and copy to /lib/firmware/<current kernel> (this firmware version doesn't get generated using the instructions further up the page).

+

+

* After running <pre>sudo make unload</pre> and <pre>sudo modprobe saa7164</pre> the /dev/dvb/adapter0&1 devices were properly populated.

+

+

==Making it Work Easily==

+

+

This was tested under Ubuntu 12.04

+

+

* Install the firmware file : NXP7164-2010-03-10.1.fw from there http://www.steventoth.net/linux/hvr22xx/firmwares/4019072/ , in the /lib/firmware folder .

+

+

* Create a file named options in the /etc/modprobe.d folder , the first line should have : options saa7164 card=8

+

+

* reboot

+

+

card=8 is for most 2250 cards. card=4 for an 8940 card. To find out what number to put in the card=x do the following

+

dmesg | grep saa7164

+

The third line should have something like [card=8,insmod option]

+

+

NOTE: You should use dmesg to find the card number before you create the modprobe.d file. If you don't, it will use the card number you put in modprobe.d instead of autodetecting the card number (ugh!)

At this point you should install the source or at least the headers for your kernel. The linuxtv drivers probably need to build against your kernel source. I am not 100% sure on this requirement, but it seems like an easy enough step to take.

Download the build tree and build it. It will download compatibility patches for your kernel if available:

Making it Work Easily

Create a file named options in the /etc/modprobe.d folder , the first line should have : options saa7164 card=8

reboot

card=8 is for most 2250 cards. card=4 for an 8940 card. To find out what number to put in the card=x do the following

dmesg | grep saa7164

The third line should have something like [card=8,insmod option]

NOTE: You should use dmesg to find the card number before you create the modprobe.d file. If you don't, it will use the card number you put in modprobe.d instead of autodetecting the card number (ugh!)

MythDora: A non-programmer, Linux and MythTV newbie wrote the added details about MythDora 10. I got the driver to work using Kernel 2.6.27.38-170.2.113.fc10.x86_64, by installing Mercurial and kernel-devel (plus a few other guesses, documented in the Discussion tab). Other research suggested I needed ncurses and ncurses-devel, and gcc, but I'm not sure of those are really required. Hopefully someone comes along and corrects any errors and incorporates additional information in this main article, which I found most useful.