Search:  
Gentoo Wiki

Hauppauge_WinTV_HVR-4000

Contents

About

I finally got my HVR-4000 to work, after hours of failing and trying (which was from full IRQ-channels, but that's another story...). Had to use the mercurial-version of the v4l-dvb-drivers patched with diffs from http://dev.kewl.org/hauppauge. I only tried the ones with single-frontend-support (sfe-7285.diff, dated 03-Mar-2008).

Setup

The hardware and kernel I am using at the time of writing is:

Obtaining Latest v4l-dvb Sources

If you don't have mercurial installed:

emerge -av mercurial

Next step is to clone the latest version of the tree.

Note: The last revision I know of that works with the sfe-diff is 127f67dea087 , so for now check that one out instead
hg clone -r 127f67dea087 http://linuxtv.org/hg/v4l-dvb

Now you will have a sub directory called v4l-dvb containing the sources from revision 127f67dea087.

Creating Kernel Patch and Modules

Kernel

Not really sure about what is required, but this works for me:

Linux Kernel Configuration: Kernel 2.6
 Device Drivers --->
      Multimedia Devices --->
            <M> Video For Linux
                   [*]   Enable Video For Linux API 1 (DEPRECATED)
                   ---   Enable Video For Linux API 1 compatible Layer
                   [*]   Video capture adapters  --->
                   [ ]   Radio Adapters  --->
            <M> DVB for Linux
                   [*]   Load and attach frontend modules as needed
                   [*]   DVB/ATSC adapters  --->
                   [*] DAB adapters
            < >   DABUSB driver

If you need to make any changes to your kernel, do so & reboot before proceeding.

v4l-dvb compilation

wget http://dev.kewl.org/hauppauge/sfe-7285.diff
patch -p1 < sfe-7285.diff
make
make install

Remember if you modify your kernel or upgrade it, you will need make & reinstall the modules again

Testing

In order to check that the modules work:

modprobe cx88_dvb

This should automatically pull any modules it needs, and detect your HVR-4000 correctly.

dmesg

Check the output, the card should now have successfully been detected. See here for sample output.

Next check your /dev entries:

DVB

ls -l /dev/dvb/adapter0
crw-rw---- 1 root video 212, 4 Nov 14 11:31 demux0
crw-rw---- 1 root video 212, 5 Nov 14 11:31 dvr0
crw-rw---- 1 root video 212, 3 Nov 14 11:31 fontend0
crw-rw---- 1 root video 212, 7 Nov 14 11:31 net0

Autoloading Modules

I added the following:

File: /etc/modules.autoload.d/kernel-2.6
 cx88_dvb

cx88_dvb pulls in all the relevant modules for DVB and IR

Selecting frontend

File: /etc/modprobe.d/cx88
 #Set HVR-4000 driver frontend
 #frontend=0 is dvb-s, 1 is dvb-t
 options cx88-dvb frontend=0

Then run update-modules to remake the modprobe.conf file.

LIRC

Finally, you need to compile lirc with 'devinput' support, NOT hauppauge NOR hauppauge-dvb:

File: /etc/make.conf
LIRC_DEVICES='devinput'

Then install LIRC using: emerge lirc. Keycodes are on the external link. See LIRC for further information.

Credits

Thanks to the authors of the Hauppauge WinTV HVR-1300 article. I used it as a template.

See also

Retrieved from "http://www.gentoo-wiki.info/Hauppauge_WinTV_HVR-4000"

Last modified: Sat, 30 Aug 2008 07:29:00 +0000 Hits: 1,672