On Thursday 22 September 2005 23:04, Chris Thompson wrote:
> On Thu, Sep 22, 2005 at 10:36:03PM +0200, Hans Verkuil wrote:
> > Just as I thought, two tuners. One at address 0x60 and one at address
> > 0x61. Can you apply attached patch for tveeprom.c to ivtv 0.3.9? It's
> > probably enough to unload and load the tveeprom module. Please post the
> > tveeprom output. It should show an index number for the second tuner.
> > Based on that I can probably determine the tuner type.
>
> I applied the patch but did not get any additional output, either in
> dmesg or in /var/log/messages (where syslog sticks its stuff). Just for
> sanity, here's the diff from 0.3.9 clean to my version:
>
> diff -urN ivtv-0.3.9/driver/tveeprom.c ivtv-0.3.9.new/driver/tveeprom.c
> --- ivtv-0.3.9/driver/tveeprom.c 2005-09-17 16:00:22.000000000
> -0600
> +++ ivtv-0.3.9.new/driver/tveeprom.c 2005-09-22 14:59:53.000000000
> -0600
> @@ -490,6 +490,7 @@
> beenhere = 1;
> break;
> } else {
> + TVEEPROM_KERN_INFO("Second (radio) tuner idx
> %d\n", eeprom_data[i+2]);
> break;
> }
> case 0x0e:
>
>
> I also tried sticking this line immediately before the switch (tag) line
> a little higher up.
>
> Thanks for your time so far! This has given me hope. :)
You did see the other tveeprom messages, did you? Are you sure that the
modified tveeprom is loaded? I ask because I'm almost certain that you have a
tda8275 FM tuner. Try applying the attached tveeprom patch. With this patch
you must see extra messages. If not, then you're loading the wrong tveeprom
module.
Hans
Index: tveeprom.c
===================================================================
--- tveeprom.c (revision 2698)
+++ tveeprom.c (working copy)
@@ -450,6 +450,8 @@
switch (tag) {
case 0x00:
tuner = eeprom_data[i + 6];
+ TVEEPROM_KERN_INFO("tag 0 tuner idx %d\n",
+ tuner);
t_format = eeprom_data[i + 5];
tvee->has_radio = eeprom_data[i + len - 1];
tvee->model =
@@ -492,10 +494,14 @@
case 0x0a:
if (beenhere == 0) {
tuner = eeprom_data[i + 2];
+ TVEEPROM_KERN_INFO("first tuner idx %d\n",
+ eeprom_data[i + 2]);
t_format = eeprom_data[i + 1];
beenhere = 1;
break;
} else {
+ TVEEPROM_KERN_INFO("Second (radio) tuner idx %d\n",
+ eeprom_data[i + 2]);
break;
}
case 0x0e: