Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been following the instructions on this website:

I'm by no means an expert and I'm stuck on the section titled "Making It Work". where it says:

To get the card working you'll have to

apply the this patch
download v4l-saa7164-1.0.2-3.fw and copy it to /lib/modules

I have no clue how to apply the patch and I'm looking for some help. Thank you.

share|improve this question
Ubuntu may recognize your card. Have you tried using it on VLC. It can open TV tuner cards. – Max Tither Jun 16 '13 at 1:12
ubuntu recognizes the card but vlc does not open it. – user2227702 Jun 16 '13 at 2:07

I recently purchased the same card knowing nothing about tv-tuner cards and linux. I had a rough time setting it up and at one point I almost returned the card thinking it was a bad buy.

I'm glad I didn't because the card works nicely with my setup.

Here's what I did

I copied these files


to /lib/firmware

you can get them from here

just look through the folders and you'll find them.

reboot and they should load.

you can check with dmesg | grep saa7164

this is my output

[   23.126026] saa7164 driver loaded
[   23.126116] saa7164 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   23.128214] CORE saa7164[0]: subsystem: 0070:8851, board: Hauppauge WinTV-HVR2250 [card=7,autodetected]
[   23.128224] saa7164[0]/0: found at 0000:05:00.0, rev: 129, irq: 16, latency: 0, mmio: 0xfd800000
[   23.128234] saa7164 0000:05:00.0: setting latency timer to 64
[   23.305001] saa7164_downloadfirmware() no first image
[   23.305024] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw)
[   24.346108] saa7164_downloadfirmware() firmware read 4019072 bytes.
[   24.346113] saa7164_downloadfirmware() firmware loaded.
[   24.346129] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072
[   24.346136] saa7164_downloadfirmware() FirmwareSize = 0x1fd6
[   24.346139] saa7164_downloadfirmware() BSLSize = 0x0
[   24.346142] saa7164_downloadfirmware() Reserved = 0x0
[   24.346145] saa7164_downloadfirmware() Version = 0x1661c00
[   31.208034] saa7164_downloadimage() Image downloaded, booting...
[   31.312020] saa7164_downloadimage() Image booted successfully.
[   33.436032] saa7164_downloadimage() Image downloaded, booting...
[   35.308041] saa7164_downloadimage() Image booted successfully.
[   35.352417] saa7164[0]: Hauppauge eeprom: model=88061
[   35.961461] DVB: registering new adapter (saa7164)
[   38.890487] DVB: registering new adapter (saa7164)
[   38.891328] saa7164[0]: registered device video0 [mpeg]
[   39.122255] saa7164[0]: registered device video1 [mpeg]
[   39.332681] saa7164[0]: registered device vbi0 [vbi]
[   39.332747] saa7164[0]: registered device vbi1 [vbi]

I've used both the analog and digital parts of the card but at the moment I'm only using the analog side because my cable provider only gives me what I'm currently paying for via analog.

I'm sure you already know this but

ivtv-utils and vlc are great tools for testing and debugging

share|improve this answer
This worked great for me. Simply cd /lib/firmware and sudo wget <URL> the files! – Eric Fossum Aug 29 '15 at 4:33

Short answer: you don't need the patch.

The Hauppauge_WinTV-HVR-2500 needs several files in order to be detected. These are the files contained in my /lib/firmware/3.8.0-27-generic directory: dvb-fe-tda10048-1.0.fw, NXP7164-2010-03-10.1.fw, v4l-saa7164-1.0.2.fw, v4l-saa7164-1.0.3.fw, v4l-saa7164-1.0.3-3.fw. If you obtained the files from, as instructed on the web page at, and ran the script:


the necessary files should be located in your home directory. All you need to do is copy them by navigating to your home directory in a terminal and using the cp command:

sudo cp *fw /lib/firmware/3.8.0-27-generic  [enter your password when prompted].  

This will copy all files with the .fw suffix to the firmware sub-directory. Then reboot.

To see that that your card is recognized, open a terminal and enter:

dmesg | grep 7164

You should see something like:

[    0.253798] pci 0000:02:00.0: [1131:7164] type 00 class 0x048000  
[   15.412176] saa7164 driver loaded  
[   15.412653] CORE saa7164[0]: subsystem: 0070:8851, board: Hauppauge WinTV-HVR2250 [card=7,autodetected]  
[   15.412658] saa7164[0]/0: found at 0000:02:00.0, rev: 129, irq: 16, latency:
0, mmio: 0xfe400000  
[   15.648146] saa7164_downloadfirmware() no first image  
[   15.648213] saa7164_downloadfirmware() Waiting for firmware upload 
[   17.518041] saa7164_downloadfirmware() firmware read 4019072 bytes.  
[   17.518044] saa7164_downloadfirmware() firmware loaded.  
[   17.518077] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072  
[   17.518082] saa7164_downloadfirmware() FirmwareSize = 0x1fd6  
[   17.518083] saa7164_downloadfirmware() BSLSize = 0x0  
[   17.518084] saa7164_downloadfirmware() Reserved = 0x0  
[   17.518085] saa7164_downloadfirmware() Version = 0x1661c00  
[   24.396922] saa7164_downloadimage() Image downloaded, booting...  
[   24.501486] saa7164_downloadimage() Image booted successfully.  
[   27.220221] saa7164_downloadimage() Image downloaded, booting...  
[   29.086382] saa7164_downloadimage() Image booted successfully.  
[   29.136008] tveeprom 6-0000: audio processor is SAA7164 (idx 43)  
[   29.136009] tveeprom 6-0000: decoder processor is SAA7164 (idx 40)  
[   29.136011] saa7164[0]: Hauppauge eeprom: model=88061  
[   29.887825] DVB: registering new adapter (saa7164)  
[   29.887831] saa7164 0000:02:00.0: DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...  
[   32.832640] DVB: registering new adapter (saa7164)  
[   32.832646] saa7164 0000:02:00.0: DVB: registering adapter 1 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...  
[   32.832982] saa7164[0]: registered device video0 [mpeg]  
[   33.063193] saa7164[0]: registered device video1 [mpeg]  
[   33.274041] saa7164[0]: registered device vbi0 [vbi]  
[   33.274065] saa7164[0]: registered device vbi1 [vbi]  

Hope this helps.

share|improve this answer
Excuse me, steventoth site appears to be down. Any chance you could host those files somewhere else? Thanks! – user202251 Oct 13 '13 at 7:50

Great answers, I was also having issues with the card working after suspend. I found if I remove the device prior to suspending and restore after suspend, all is good. This can be done as follows:

Add file in /etc/pm/sleep.d/06_saa7164 ( make executable )

## Fix some issues with mythtv

if [ "$1" = "suspend" ]
    stop mythtv-backend 
    sleep 2
    modprobe -r saa7164 
if [ "$1" = "resume" ]
        modprobe saa7164 
        sleep 2
        start mythtv-backend

I struggled with this for quite a while, hope it help.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.