[linux-dvb] [BUG] FusionHDTV5 Lite

Michael Krufky mkrufky at linuxtv.org
Sun Sep 11 20:23:44 CEST 2005


> 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



More information about the linux-dvb mailing list