Comment 17 for bug 776065

Revision history for this message
stargazer (stargazer05) wrote :

Hello,

I have the same problem with a Hauppauge WinTV PVR card (bt878 with radio).

Since 2.6.39.x radio is broken => No Frequency range :

v4l2-ctl -d /dev/radio0 --all -L
kernel 2.6.32.x:
----------------
Driver Info (not using libv4l2):
        Driver name : bttv
        Card type : BT878 radio (Hauppauge WinTV PV
        Bus info : PCI:0000:02:0a.0
        Driver version: 0.9.18
        Capabilities : 0x00010000
                Tuner
Video input : 0 (Radio: ok)
Audio input : 0 (Radio)
Frequency: 0 (0.000000 MHz)
Tuner:
        Name : Radio
        Capabilities : 62.5 Hz stereo
        Frequency range : 65.0 MHz - 108.0 MHz
        Signal strength/AFC : 13%/0
        Current audio mode : stereo
        Available subchannels: mono
                           mute (bool) : default=0 value=1

kernel 2.6.38.x:
----------------
Driver Info (not using libv4l2):
        Driver name : bttv
        Card type : BT878 radio (Hauppauge WinTV PV
        Bus info : PCI:0000:02:0a.0
        Driver version: 0.9.18
        Capabilities : 0x00010000
                Tuner
Video input : 0 (Radio: ok)
Audio input : 0 (Radio)
Frequency: 0 (0.000000 MHz)
Tuner:
        Name : Radio
        Capabilities : 62.5 Hz stereo
        Frequency range : 65.0 MHz - 108.0 MHz
        Signal strength/AFC : 0%/0
        Current audio mode : stereo
        Available subchannels: mono
                           mute (bool) : default=0 value=1

kernel 3.0.x:
----------------
Driver Info (not using libv4l2):
        Driver name : bttv
        Card type : BT878 radio (Hauppauge WinTV PV
        Bus info : PCI:0000:02:0a.0
        Driver version: 0.9.18
        Capabilities : 0x00010000
                Tuner
Video input : 0 (Radio: ok)
Audio input : 0 (Radio)
Frequency: 0 (0.000000 MHz)
Tuner:
        Name : Radio
        Capabilities : 62.5 kHz
        Frequency range : 0.0 MHz - 0.0 MHz
        Signal strength/AFC : 0%/0
        Current audio mode : mono
        Available subchannels:
                           mute (bool) : default=0 value=1

3.2:
-----
Driver Info (not using libv4l2):
        Driver name : bttv
        Card type : BT878 radio (Hauppauge WinTV PV
        Bus info : PCI:0000:02:0a.0
        Driver version: 3.2.27
        Capabilities : 0x00010000
                Tuner
Video input : 0 (Radio: ok)
Audio input : 0 (Radio)
Frequency: 0 (0.000000 MHz)
Tuner:
        Name : Radio
        Capabilities : 62.5 kHz
        Frequency range : 0.0 MHz - 0.0 MHz
        Signal strength/AFC : 0%/0
        Current audio mode : mono
        Available subchannels:
                           mute (bool) : default=0 value=1

I will test it with the quantal kernel (3.5.x) too, which is also available in proposed under precise.

Udo Steinberg bisected the commit:
Link and message: https://lkml.org/lkml/2011/11/11/257
I've bisected the problem. The commit that breaks things is:

commit cbde689823776d187ba1b307a171625dbc02dd4f
Author: Mauro Carvalho Chehab <email address hidden>
Date: Fri Feb 4 10:42:09 2011 -0300

    [media] tuner-core: Better implement standby mode

    In the past, T_STANDBY were used on devices with a separate radio tuner to
    mark a tuner that were disabled. With the time, it got newer meanings.

    Also, due to a bug at the logic, the driver might incorrectly return
    T_STANDBY to userspace.

    So, instead of keeping the abuse, just use a boolean for storing
    such information.

    We can't remove T_STANDBY yet, as this is used on two other drivers. A
    latter patch will address its usage outside tuner-core.

    Thanks-to: Devin Heitmueller <email address hidden>
    Signed-off-by: Mauro Carvalho Chehab <email address hidden>

Link summary:
-----------------
kernel thread:
https://bugzilla.kernel.org/show_bug.cgi?id=42564

Bisected commit: Udo Steinberg
https://lkml.org/lkml/2011/11/11/257

Broken since 2.6.39
https://lkml.org/lkml/2011/12/15/177

Maybe there is the possibility to revert the commit and backport to precise kernel 3.2.

Best regards, Bernhard