kernel & bttv update causes snow

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



-----BEGIN PGP SIGNED MESSAGE-----

I solved the following problem while writing it up.  I'm posting it
anyway in case it helps other.

I have a 848-based tuner card that works fine when I boot Red Hat's
2.4.18-27.8.0 kernel, but just shows snow when I cold boot Red Hat's
2.4.20-18.8 or 2.4.20-13.8 kernels.

- - Everything else is unchanged: the same file systems and settings are
  present.  All I change is the kernel that is being booted.  So it
  seems as if the problem must be within the kernel.

- - If I boot 2.4.18-27.8.0, use the tuner, and then reboot to
  2.4.20-18.8 without turning off the power, the tuner works.  So it
  seems as if the problem might be with initializing the device.

- - when I look at the dmesg output for a cold and warm boot of the
  2.4.20-18.8 kernel, I see no difference.

- - the key difference is probably between bttv versions 0.7.91
  and 0.7.104

I've included a diff between the bttv parts of the dmesg output of the
2.4.18-27.8.0 and 2.4.20-13.8 kernels.  In each case, I did a fresh
boot, started X, started and stopped xawtv, and did the dmesg.  The
diff was done with -U 100 to avoid gaps.

Kernel version:

    -Linux version 2.4.18-27.8.0 (bhcompile@xxxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 Fri Mar 14 07:36:43 EST 2003
    +Linux version 2.4.20-18.8 (bhcompile@xxxxxxxxxxxxxxxxxxxxx) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 Thu May 29 07:20:39 EDT 2003

Interesting message.  I assume that it isn't relevant:

    +PCI: 00:09.2 PCI cache line size set incorrectly (32 bytes) by BIOS/FW.
    +PCI: 00:09.2 PCI cache line size corrected to 64.

This output from lspci suggests it is one of the USB controllers:
    00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)

Here is the lspci -vv output for the tuner:
    00:0f.0 Multimedia video controller: Brooktree Corporation Bt848 Video Capture (rev 12)
	    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	    Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	    Latency: 32 (4000ns min, 10000ns max)
	    Interrupt: pin A routed to IRQ 5
	    Region 0: Memory at f5000000 (32-bit, prefetchable) [size=4K]

Here is the meat of the diff:

     i2c-core.o: i2c core module
    -i2c-algo-bit.o: i2c bit algorithm module
     Linux video capture interface: v1.00
    -bttv: driver version 0.7.91 loaded
    -bttv: using 2 buffers with 2080k (4160k total) for capture
    +i2c-algo-bit.o: i2c bit algorithm module
    +bttv: driver version 0.7.104 loaded
    +bttv: using 4 buffers with 2080k (8320k total) for capture
     bttv: Host bridge is VIA Technologies, Inc. VT8367 [KT266]
     bttv: Bt8xx card found (0).
     PCI: Found IRQ 5 for device 00:0f.0
    -bttv0: Bt848 (rev 18) at 00:0f.0, irq: 5, latency: 32, memory: 0xf5000000
    +bttv0: Bt848 (rev 18) at 00:0f.0, irq: 5, latency: 32, mmio: 0xf5000000
     bttv0: using: BT848A(Aimslab Video Highway X) [card=14,insmod option]
     i2c-algo-bit.o: Adapter: bt848 #0 scl: 1  sda: 1 -- testing...
     i2c-algo-bit.o:1 scl: 1  sda: 0 
     i2c-algo-bit.o:2 scl: 1  sda: 1 
     i2c-algo-bit.o:3 scl: 0  sda: 1 
     i2c-algo-bit.o:4 scl: 1  sda: 1 
     i2c-algo-bit.o: bt848 #0 passed test.
     i2c-core.o: adapter bt848 #0 registered as adapter 0.
    +bttv0: using tuner=-1
     bttv0: i2c: checking for MSP34xx @ 0x80... not found
     bttv0: i2c: checking for TDA9875 @ 0xb0... not found
     bttv0: i2c: checking for TDA7432 @ 0x8a... not found
     tvaudio: TV audio decoder + audio/video mux driver
     tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951)
     i2c-core.o: driver generic i2c audio driver registered.
    -i2c-core.o: driver i2c TV tuner driver registered.
    -tuner: probing bt848 #0 i2c adapter [id=0x10005]
    -tuner: chip found @ 0xc0
    -bttv0: i2c attach [client=Philips NTSC,ok]
    -i2c-core.o: client [Philips NTSC] registered to adapter [bt848 #0](pos. 0).
    +bttv0: PLL: 28636363 => 35468950 .. ok
     bttv0: registered device video0
     bttv0: registered device vbi0
     bttv0: registered device radio0
    -tuner: tv freq set to 83.25
    +bttv0: PLL can sleep, using XTAL (28636363).

Hmm.  The tuner is no longer being recognized.  I don't know why.
My modules.conf said:

options i2c-core i2c_debug=1 
options i2c-algo-bit bit_test=1 
options bttv card=0x0e radio=1 bttv_verbose=2
options tuner debug=1 type=2 
options tvaudio debug=1 

I fixed the problem by adding " tuner=2" at the end of the options
bttv line.  Not sure why this became necessary.

Hugh Redelmeier
hugh@xxxxxxxxxx  voice: +1 416 482-8253

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQCVAwUBPxtIIcFAuQPManGZAQHXFAP/SU/uJRHsevD0D0VwAlAXJOAePkhT4aeW
WtcRTh5uT+ppsQ82fqKKrGw3rdYwusTddvRNrCw/7ypdUgtqx6chhSNtrP9RIxee
HdAGmrtZ4S6ipuEk8Fyoy0A3Bgg5FXJyP79MhHVYkjw4NCYGunGDX1oeesp7ni+v
/tfdILIegB4=
=vwY6
-----END PGP SIGNATURE-----




[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux