> Ken Harris wrote: > > I noticed Sunday that you're very close to getting ATSC working. > > But I was disappointed that you recommend the FusionHDTV5 Gold over the Lite ;). When you finish the Lite driver, I don't see any advantage to the Gold card. I know the Gold has 10 bit ADC on the analog side, but I don't think that's worth the price difference. I guess there is more windoze software with and Gold and the IR remote stuff. I got ATSC working now... And yes, I am starting to like the bttv-lite card better than the cx88-gold card now, but it is not because of the hardware -- it is because the software driver for bttv is much more mature than cx88, there are certain noise bugs (fixed) with the gold card that aren't present in the lite driver, and (analog mode) closed captions work very well on the lite board, but the cx88 driver doesnt yet support that. Anyway, now ATSC does work on the FusionHDTV5 Lite. I have already applied my changes to CVS. However, I have identified one major bug: I can only zap once.... During these tests, I am using azap and mplayer. I have noticed that after viewing a stream, if I kill azap and try to zap to another channel, mplayer receives no ts data, although azap reports status 1F. The only way to restore functionality is to remove the module and re-insert it: modprobe -r dvb-bt8xx modprobe dvb-bt8xx After doing this, it works again. This is also needed if I want to view ATSC stream after watching analog tv. So, obviously there is a bug that I have to fix. In attempting to fix this, I have tried resetting the frontend, by calling lgdt330x_reset in tdvs_tua6034_pll_set, before dvb_pll_configure, but that only made matters worse. ...or maybe it's a problem with gpio again, which is why my original patch didnt work in the first place. The behavior is pretty much the same. With my original patch, I was able to lock, but got no ts data. With current cvs, I can lock, and get ts data. (beautiful HDTV and DTV streams) But If I stop azap and start it again, then I get no ts data again, just like with my original patch. But this error log makes me think otherwise: > bt878(0): irq FDSR risc_pc=2c4bd008 > bt878(0): irq FDSR risc_pc=2c4bd008 > bt878(0): irq SCERR risc_pc=2c4bd000 > bt878(0): irq FDSR risc_pc=2c4bd008 > [...] > bt878(0): irq FDSR risc_pc=2c4bd008 > bt878(0): irq FDSR risc_pc=2c4bd008 > bt878(0): IRQ lockup, cleared int mask > lgdt330x: i2c_write_demod_bytes error (addr 4c <- 14, err = -121) > bt878(0): irq SCERR risc_pc=2c4bd000 > bt878(0): irq FDSR risc_pc=2c4bd008 > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x1a error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x8b error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x1a error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x8b error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x1a error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x8b error (ret == -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > [...] > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > lgdt330x: i2c_read_demod_bytes: addr 0x0e select 0x58 error (ret == -121) > lgdt330x: i2c_write_demod_bytes error (addr 02 <- 00, err = -121) > bt878(0): unloading > bt878_mem: 0xf8e6e000. > ACPI: PCI interrupt for device 0000:02:07.1 disabled > bttv0: unloading > Linux video capture interface: v1.00 > bttv: driver version 0.9.16 loaded > bttv: using 8 buffers with 2080k (520 pages) each for capture > bttv: Bt8xx card found (0). > ACPI: PCI Interrupt 0000:02:07.0[A] -> GSI 19 (level, low) -> IRQ 19 > bttv0: Bt878 (rev 17) at 0000:02:07.0, irq: 19, latency: 64, mmio: 0xec200000 > bttv0: detected: DViCO FusionHDTV 5 Lite [card=135], PCI subsystem ID is 18ac:d500 > bttv0: using: DViCO FusionHDTV 5 Lite [card=135,autodetected] > bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init] > tuner 4-0061: chip found @ 0xc2 (bt878 #0 [sw]) > bttv0: using tuner=64 > tuner 4-0061: type set to 64 (LG TDVS-H062F/TUA6034) > bttv0: registered device video0 > bttv0: registered device vbi0 > bttv0: add subdevice "dvb0" > bt878: AUDIO driver version 0.0.0 loaded > bt878: Bt878 AUDIO function found (0). > ACPI: PCI Interrupt 0000:02:07.1[A] -> GSI 19 (level, low) -> IRQ 19 > bt878(0): Bt878 (rev 17) at 02:07.1, irq: 19, latency: 64, memory: 0xec201000 > DVB: registering new adapter (bttv0). > DVB: registering frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)... I'm looking through code now... trying to figure out what the problem is. Anybody have any ideas? -- Michael Krufky