I picked up a new Hauppauge PVR-500 this weekend, and, like many, I had
the problem with video0 having the appearance of a very weak signal while
video1 was fine. Digging through the archives, I found a thread with a
patch:

http://ivtvdriver.org/pipermail/ivtv-users/2006-June/002998.html

Unfortunately, this patch is only good for ivtv 0.4.x series on kernel <=
2.6.15.

I'm stuck with 2.6.17 because my wireless drivers are broken on 2.6.15.
But  there doesn't even exist a tuner.c file on which to try to apply the
patch in those kernel sources. After digging around in the kernel code, I
found that the affected code now resides in tuner-types.c.

Note: This patch does *not* solve the fact that the tuner is
mis-identified as a TCPN_2121P30A instead of a TCPN_2221P30A. Those
changes where all over the map and I didn't want to break anything, so I
made the simplest change possible, which fixed the problem, and now I'm
not going to touch it. Rumour is that 2.6.18 will have a fix included, so
wait until then for the full fix. Here is the ridiculously simple patch
that solves the immediate problem:



--- tuner-types.c       2006-08-27 10:52:28.000000000 -0700
+++ tuner-types.c.patched       2006-08-27 10:53:05.000000000 -0700
@@ -995,9 +995,9 @@
 /* ------------ TUNER_SAMSUNG_TCPN_2121P30A - Samsung NTSC ------------ */

 static struct tuner_range tuner_samsung_tcpn_2121p30a_ntsc_ranges[] = {
-       { 16 * 130.00 /*MHz*/, 0xce, 0x01, },
-       { 16 * 364.50 /*MHz*/, 0xce, 0x02, },
-       { 16 * 999.99        , 0xce, 0x08, },
+       { 16 * 130.00 /*MHz*/, 0xce, 0x01+4, },
+       { 16 * 364.50 /*MHz*/, 0xce, 0x02+4, },
+       { 16 * 999.99        , 0xce, 0x08+4, },
 };

 static struct tuner_params tuner_samsung_tcpn_2121p30a_params[] = {



This can also be found here for the word-wrap impared:

http://www.madslab.com/pvr500_samsung_patch_2.6.17.diff


To make this work, make sure your tuners are idle and do the following:

Download the patch file and store it somewhere. Then as root, do:

cd /usr/src/linux/drivers/media/video/
patch -p0 < /path/to/samsung_patch_2.6.17.diff
cd /usr/src/linux
make ; make modules_install
rmmod ivtv ; rmmod tuner
modprobe tuner ; modprobe ivtv


Done! No reboot - didn't even have to restart the backend. I did all this
while my wife was watching a previously recorded show and she didn't even
feel it. After she was done, I switched to live TV and it was fixed. Woo
hoo!!! :)

-Eric

p.s. Thanks Hans for figuring this one out! :)


_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to