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