Re: Problem with two budget-ci dvb-t cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Teemu Suikki wrote:
> Hi,
> 
> I posted this to the vdr list originally, but since it's obviously a
> kernel level problem I'm asking here too. :)
> 
> I have two budget cards. Both are handled with budget-ci driver, although
> only one of them actually has the physical CI connector..
> 
> Cards are quite similar. Older card has saa7146 and tda10045, and newer
> card has saa7146 and tda10046.. So slightly different frontend chips.
> 
> Either card works fine if plugged in alone, but if both are plugged in,
> only the tda10046 card works. I have tried them in every slot in all
> possible combinations, and it's always the same.
> 
> I tried to tune channels with "tzap". Both cards "work" fine, but only
> tda10046 card ever reports FE_HAS_LOCK.. Tda10045 card never shows
> FE_HAS_LOCK and reports very high ber numbers. Just like if the antenna
> was unplugged, but it isn't. :)
> 
> Is it possible that there is some bug that prevents using tda10045 and
> tda10046 in the same system? They both use the same tda1004x module after
> all.. Anyone with such system?

After a look at budget-ci.c I found a bug:
It's a bad idea to modify a static variable which is used by several
frontends... ;-)

> Here's dmesg output when initializing the cards. Looks fine, right?
> 
> saa7146: register extension 'budget_ci dvb'.
> PCI: Found IRQ 11 for device 0000:02:05.0
> PCI: Sharing IRQ 11 with 0000:00:0d.0
> saa7146: found saa7146 @ mem e0974c00 (revision 1, irq 11)
> (0x13c2,0x1012).
> saa7146 (0): dma buffer size 192512
> DVB: registering new adapter (TT-Budget-T-CI PCI).
> adapter has MAC addr = 00:d0:5c:04:43:33
> input: Budget-CI dvb ir receiver saa7146 (0) as /class/input/input1
> budget_ci: CI interface initialised
> DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
> dvb_ca adapter 0: DVB CAM detected and initialised successfully
> 
> PCI: Found IRQ 3 for device 0000:02:08.0
> saa7146: found saa7146 @ mem e0976800 (revision 1, irq 3) (0x13c2,0x1011).
> saa7146 (1): dma buffer size 192512
> DVB: registering new adapter (TT-Budget/WinTV-NOVA-T     PCI).
> adapter has MAC addr = 00:d0:5c:22:27:8a
> input: Budget-CI dvb ir receiver saa7146 (1) as /class/input/input2
> DVB: registering frontend 1 (Philips TDA10045H DVB-T)...

Does the attached patch fix the problem?

Oliver

-- 
--------------------------------------------------------
VDR Remote Plugin 0.3.9 available at
http://www.escape-edv.de/endriss/vdr/
--------------------------------------------------------
diff -r 4e7a874ab026 linux/drivers/media/dvb/ttpci/budget-ci.c
--- a/linux/drivers/media/dvb/ttpci/budget-ci.c	Wed Jan 31 18:32:29 2007 +0100
+++ b/linux/drivers/media/dvb/ttpci/budget-ci.c	Thu Feb 01 19:15:35 2007 +0100
@@ -881,6 +881,17 @@ static struct tda1004x_config philips_td
 
 	.demod_address = 0x8,
 	.invert = 0,
+	.invert_oclk = 0,
+	.xtal_freq = TDA10046_XTAL_4M,
+	.agc_config = TDA10046_AGC_DEFAULT,
+	.if_freq = TDA10046_FREQ_3617,
+	.request_firmware = philips_tdm1316l_request_firmware,
+};
+
+static struct tda1004x_config philips_tdm1316l_config_invert = {
+
+	.demod_address = 0x8,
+	.invert = 1,
 	.invert_oclk = 0,
 	.xtal_freq = TDA10046_XTAL_4M,
 	.agc_config = TDA10046_AGC_DEFAULT,
@@ -1111,9 +1122,8 @@ static void frontend_init(struct budget_
 
 	case 0x1012:		// TT DVB-T CI budget (tda10046/Philips tdm1316l(tda6651tt))
 		budget_ci->tuner_pll_address = 0x60;
-		philips_tdm1316l_config.invert = 1;
 		budget_ci->budget.dvb_frontend =
-			dvb_attach(tda10046_attach, &philips_tdm1316l_config, &budget_ci->budget.i2c_adap);
+			dvb_attach(tda10046_attach, &philips_tdm1316l_config_invert, &budget_ci->budget.i2c_adap);
 		if (budget_ci->budget.dvb_frontend) {
 			budget_ci->budget.dvb_frontend->ops.tuner_ops.init = philips_tdm1316l_tuner_init;
 			budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = philips_tdm1316l_tuner_set_params;
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux