2006-01-16 01:58:43

by bob

[permalink] [raw]
Subject: BTTV broken on recent kernels

Hi. The last several kernel versions have led to broken bttv (up to 4
or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
but lately bttv is broken. My card is an 'bt878 compatible built by ATI
(ATI TV Wonder VE). I'm pretty certain it worked as late as
2.6.14-git7. I've peeked around /Changes and didn't see anything. I'm
using the same build script as before, and a piece of lsmod shows
serial_core 14848 1 8250
rtc 9524 0
tuner 36908 0
bttv 148564 0
video_buf 15748 1 bttv
compat_ioctl32 1152 1 bttv
i2c_algo_bit 7432 1 bttv
v4l2_common 6528 2 tuner,bttv
btcx_risc 3720 1 bttv
ir_common 7812 1 bttv
tveeprom 12304 1 bttv
i2c_core 14864 4 tuner,bttv,i2c_algo_bit,tveeprom
videodev 6912 1 bttv
snd_emu10k1 94628 2 snd_emu10k1_synth
..........also, a chunk of lspci shows:
0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game
Port (rev 07)
0000:00:0b.0 Multimedia video controller: Brooktree Corporation Bt878
Video Capture (rev 02)
0000:00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio
Capture (rev 02)
....it's just that I get a blank (screen blanking due to no signal)
screen when I start a tv application. I can try to change channels/tune
frequencies, and it looks like the applications are trying, but nothing
gets tuned in. To be fair, I must mention that I *ahem* taint the
kernel with Nvidia stuff, and recently upgraded gcc (although it has
always worked well with tainted kernel, and it broke before I upgraded
gcc (to gcc version 4.0.2) on Debian Sarge. If you *really* want, I can
revert XF86Config to use non-nvidia drivers (and revert back to the old
version of gcc) and give a bug report from that, but I suspect things
will remain broken. Mplayer compiles very well with the new version of
gcc, and the new kernel (buit with the new version of gcc) does
everything else (sound, firewire, cd/dvd/networking, disk I/O etc.)
without problems.
Thanks in advance,
Bob


2006-01-16 02:07:19

by Lee Revell

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

On Sun, 2006-01-15 at 19:05 -0700, Bob Gill wrote:
> Hi. The last several kernel versions have led to broken bttv (up to 4
> or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
> but lately bttv is broken. My card is an 'bt878 compatible built by ATI
> (ATI TV Wonder VE). I'm pretty certain it worked as late as
> 2.6.14-git7.

You need to do a git bisect (check the list archives) to isolate the
change that broke it.

Lee

2006-01-16 02:43:46

by bob

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

Lee Revell wrote:

>On Sun, 2006-01-15 at 19:05 -0700, Bob Gill wrote:
>
>
>>Hi. The last several kernel versions have led to broken bttv (up to 4
>>or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
>>but lately bttv is broken. My card is an 'bt878 compatible built by ATI
>>(ATI TV Wonder VE). I'm pretty certain it worked as late as
>>2.6.14-git7.
>>
>>
>
>You need to do a git bisect (check the list archives) to isolate the
>change that broke it.
>
>Lee
>
>
>
>
OK. I will, but I will add a tiny bit of additional info first.
dmesg shows bttv loading up like this:
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 Link [LNKD] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link [LNKD] -> GSI 5 (level, low)
-> IRQ
5
bttv0: Bt878 (rev 2) at 0000:00:0b.0, irq: 5, latency: 32, mmio: 0xeb003000
bttv0: detected: ATI TV Wonder/VE [card=64], PCI subsystem ID is 1002:0003
bttv0: using: ATI TV-Wonder VE [card=64,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
bttv0: using tuner=19
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: i2c: checking for TDA9887 @ 0x86... not found
tuner 0-0060: All bytes are equal. It is not a TEA5767
tuner 0-0060: chip found @ 0xc0 (bt878 #0 [sw])
tuner 0-0060: type set to 19 (Temic PAL* auto (4006 FN5))
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL: 28636363 => 35468950 .. ok
Real Time Clock Driver v1.12ac
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
.....and when trying to tune audio comes in, but dmsg shows video giving:
agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: SCERR @ 348ec014,bits: HSYNC OFLOW FBUS SCERR*
bttv0: SCERR @ 348ec000,bits: OFLOW FBUS SCERR*
.... I will do the git bisect and reply in a bit.
Thanks for your reply,
Bob

2006-01-16 04:18:44

by Alistair John Strachan

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

On Monday 16 January 2006 02:05, Bob Gill wrote:
> Hi. The last several kernel versions have led to broken bttv (up to 4
> or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
> but lately bttv is broken. My card is an 'bt878 compatible built by ATI
> (ATI TV Wonder VE). I'm pretty certain it worked as late as
> 2.6.14-git7. I've peeked around /Changes and didn't see anything. I'm
> using the same build script as before, and a piece of lsmod shows
> serial_core 14848 1 8250
> rtc 9524 0
> tuner 36908 0
> bttv 148564 0
> video_buf 15748 1 bttv
> compat_ioctl32 1152 1 bttv
> i2c_algo_bit 7432 1 bttv
> v4l2_common 6528 2 tuner,bttv
> btcx_risc 3720 1 bttv
> ir_common 7812 1 bttv
> tveeprom 12304 1 bttv
> i2c_core 14864 4 tuner,bttv,i2c_algo_bit,tveeprom
> videodev 6912 1 bttv
> snd_emu10k1 94628 2 snd_emu10k1_synth
> ..........also, a chunk of lspci shows:
> 0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game
> Port (rev 07)
> 0000:00:0b.0 Multimedia video controller: Brooktree Corporation Bt878
> Video Capture (rev 02)
> 0000:00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio
> Capture (rev 02)
> ....it's just that I get a blank (screen blanking due to no signal)
> screen when I start a tv application. I can try to change channels/tune
> frequencies, and it looks like the applications are trying, but nothing
> gets tuned in. To be fair, I must mention that I *ahem* taint the
> kernel with Nvidia stuff, and recently upgraded gcc (although it has
> always worked well with tainted kernel, and it broke before I upgraded
> gcc (to gcc version 4.0.2) on Debian Sarge.

This problem sounds suspiciously like an overlay bug, known in the binary
NVIDIA driver. Please try changing it to "nv" in XF86Config, then restarting
your TV application..

> If you *really* want, I can
> revert XF86Config to use non-nvidia drivers (and revert back to the old
> version of gcc) and give a bug report from that, but I suspect things
> will remain broken. Mplayer compiles very well with the new version of
> gcc, and the new kernel (buit with the new version of gcc) does
> everything else (sound, firewire, cd/dvd/networking, disk I/O etc.)
> without problems.
> Thanks in advance,
> Bob

--
Cheers,
Alistair.

'No sense being pessimistic, it probably wouldn't work anyway.'
Third year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.

2006-01-17 02:02:54

by bob

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

Alistair John Strachan wrote:

>On Monday 16 January 2006 02:05, Bob Gill wrote:
>
>
>>Hi. The last several kernel versions have led to broken bttv (up to 4
>>or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
>>but lately bttv is broken. My card is an 'bt878 compatible built by ATI
>>(ATI TV Wonder VE). I'm pretty certain it worked as late as
>>2.6.14-git7. I've peeked around /Changes and didn't see anything. I'm
>>using the same build script as before, and a piece of lsmod shows
>>serial_core 14848 1 8250
>>rtc 9524 0
>>tuner 36908 0
>>bttv 148564 0
>>video_buf 15748 1 bttv
>>compat_ioctl32 1152 1 bttv
>>i2c_algo_bit 7432 1 bttv
>>v4l2_common 6528 2 tuner,bttv
>>btcx_risc 3720 1 bttv
>>ir_common 7812 1 bttv
>>tveeprom 12304 1 bttv
>>i2c_core 14864 4 tuner,bttv,i2c_algo_bit,tveeprom
>>videodev 6912 1 bttv
>>snd_emu10k1 94628 2 snd_emu10k1_synth
>>..........also, a chunk of lspci shows:
>>0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game
>>Port (rev 07)
>>0000:00:0b.0 Multimedia video controller: Brooktree Corporation Bt878
>>Video Capture (rev 02)
>>0000:00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio
>>Capture (rev 02)
>>....it's just that I get a blank (screen blanking due to no signal)
>>screen when I start a tv application. I can try to change channels/tune
>>frequencies, and it looks like the applications are trying, but nothing
>>gets tuned in. To be fair, I must mention that I *ahem* taint the
>>kernel with Nvidia stuff, and recently upgraded gcc (although it has
>>always worked well with tainted kernel, and it broke before I upgraded
>>gcc (to gcc version 4.0.2) on Debian Sarge.
>>
>>
>
>This problem sounds suspiciously like an overlay bug, known in the binary
>NVIDIA driver. Please try changing it to "nv" in XF86Config, then restarting
>your TV application..
>
>
>
>>If you *really* want, I can
>>revert XF86Config to use non-nvidia drivers (and revert back to the old
>>version of gcc) and give a bug report from that, but I suspect things
>>will remain broken. Mplayer compiles very well with the new version of
>>gcc, and the new kernel (buit with the new version of gcc) does
>>everything else (sound, firewire, cd/dvd/networking, disk I/O etc.)
>>without problems.
>>Thanks in advance,
>>Bob
>>
>>
>
>
>
Alistair, Lee: thank you for your replies. Sadly the bug is in the
Nvidia binary. Changing the driver to nv from nvidia did resolve the
issue. Now I have to decide whether I like accelerated 3d more, or
using the tv tuner more (till Nvidia fixes the driver). Thank you for
your time. I won't waste any more LKML bandwidth on this (Nvidia bug).
Thanks again.
Bob

2006-01-21 06:54:20

by Michael Ira Krufky

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

Bob Gill wrote:

> Alistair John Strachan wrote:
>
>> On Monday 16 January 2006 02:05, Bob Gill wrote:
>>
>>
>>> Hi. The last several kernel versions have led to broken bttv (up to 4
>>> or 5 kernel versions ago, I could watch tv on either mplayer or xawtv),
>>> but lately bttv is broken. My card is an 'bt878 compatible built by
>>> ATI
>>> (ATI TV Wonder VE). I'm pretty certain it worked as late as
>>> 2.6.14-git7. I've peeked around /Changes and didn't see anything.
>>> I'm
>>> using the same build script as before, and a piece of lsmod shows
>>> serial_core 14848 1 8250
>>> rtc 9524 0
>>> tuner 36908 0
>>> bttv 148564 0
>>> video_buf 15748 1 bttv
>>> compat_ioctl32 1152 1 bttv
>>> i2c_algo_bit 7432 1 bttv
>>> v4l2_common 6528 2 tuner,bttv
>>> btcx_risc 3720 1 bttv
>>> ir_common 7812 1 bttv
>>> tveeprom 12304 1 bttv
>>> i2c_core 14864 4 tuner,bttv,i2c_algo_bit,tveeprom
>>> videodev 6912 1 bttv
>>> snd_emu10k1 94628 2 snd_emu10k1_synth
>>> ..........also, a chunk of lspci shows:
>>> 0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game
>>> Port (rev 07)
>>> 0000:00:0b.0 Multimedia video controller: Brooktree Corporation Bt878
>>> Video Capture (rev 02)
>>> 0000:00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio
>>> Capture (rev 02)
>>> ....it's just that I get a blank (screen blanking due to no signal)
>>> screen when I start a tv application. I can try to change
>>> channels/tune
>>> frequencies, and it looks like the applications are trying, but nothing
>>> gets tuned in. To be fair, I must mention that I *ahem* taint the
>>> kernel with Nvidia stuff, and recently upgraded gcc (although it has
>>> always worked well with tainted kernel, and it broke before I upgraded
>>> gcc (to gcc version 4.0.2) on Debian Sarge.
>>
>>
>> This problem sounds suspiciously like an overlay bug, known in the
>> binary NVIDIA driver. Please try changing it to "nv" in XF86Config,
>> then restarting your TV application..
>>
>>
>>
>>> If you *really* want, I can revert XF86Config to use non-nvidia
>>> drivers (and revert back to the old
>>> version of gcc) and give a bug report from that, but I suspect things
>>> will remain broken. Mplayer compiles very well with the new version of
>>> gcc, and the new kernel (buit with the new version of gcc) does
>>> everything else (sound, firewire, cd/dvd/networking, disk I/O etc.)
>>> without problems.
>>> Thanks in advance,
>>> Bob
>>>
>>
>>
>>
>>
> Alistair, Lee: thank you for your replies. Sadly the bug is in the
> Nvidia binary. Changing the driver to nv from nvidia did resolve the
> issue. Now I have to decide whether I like accelerated 3d more, or
> using the tv tuner more (till Nvidia fixes the driver). Thank you for
> your time. I won't waste any more LKML bandwidth on this (Nvidia
> bug). Thanks again.
> Bob

Not that I would recommend the binary nvidia driver, but:

You can probably get bttv to work despite this overlay bug by using
"grabdisplay" mode instead. There is an option for it in xawtv. The
difference is, in overlay mode, the capture card is writing directly to
videoram. Using grabdisplay mode eliminates this optimization, and
would be a decent workaround for you.

Hope this helps,

Michael

--
Michael Krufky

2006-01-22 18:44:40

by bob

[permalink] [raw]
Subject: Re: BTTV broken on recent kernels

Michael Krufky wrote:

>
>> Alistair, Lee: thank you for your replies. Sadly the bug is in the
>> Nvidia binary. Changing the driver to nv from nvidia did resolve the
>> issue. Now I have to decide whether I like accelerated 3d more, or
>> using the tv tuner more (till Nvidia fixes the driver). Thank you
>> for your time. I won't waste any more LKML bandwidth on this (Nvidia
>> bug). Thanks again.
>> Bob
>
>
> Not that I would recommend the binary nvidia driver, but:
>
> You can probably get bttv to work despite this overlay bug by using
> "grabdisplay" mode instead. There is an option for it in xawtv. The
> difference is, in overlay mode, the capture card is writing directly
> to videoram. Using grabdisplay mode eliminates this optimization, and
> would be a decent workaround for you.
>
> Hope this helps,
>
> Michael
>
I haven't tried using nv with grabdisplay instead of overlay, but I have
recently run a large (nvidia...and no, I don't work for them) patch
against the 81.78 driver (about 5 small patches all in one) and it works
successfully on 2.6.16-rc1-git3 (in both grabdisplay and overlay
modes). The only thing I noted is that the old nvidia binaries wanted a
channel frequency offset of 108, but with the (heavily patched) 81.78
driver, you don't need an channel frequency offset (both xawtv and
mplayer). Your test is simple to try though, and if it doesn't work,
I'll reply and mention it. Thanks for your reply.
Bob