Bug 14966

Summary: FM Radio can not tune frequency
Product: v4l-dvb Reporter: matthias
Component: bt8xxAssignee: bt8xx (v4l-dvb_bt8xx)
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.31.6 Subsystem:
Regression: No Bisected commit-id:

Description matthias 2009-12-31 02:13:44 UTC
I have a bttv compatible Hauppauge WinTV card which supports analog TV and analog FM radio. Up to the 2.6.30 kernels everything worked fine.
With 2.6.31.6 TV still works fine, but radio does not. With the radio applications radio (from the xawtv package) gkrellm-radio and fm I can still "turn on" the radio but hear only white noise.

In gkrellm-radio the frequency is fixed to 0.0, but I don't get an error message.

radio (from the xawtv package) behaves optically as usual, but tuning the frequency has no effect. I also do not get an error message.

The command "fm -d /dev/v4l/radio0 100.50" (which means tune the frequency to 100.50Mhz) leads to the following error message
ioctl VIDIOCGTUNER: Invalid argument


The bug occured on my gentoo linux with a (gentoo patched) 2.6.31 kernel and on the KNOPPIX_V6.2 live dvd that uses the 2.6.31.6 (maybe also with some patches). On my gentoo linux with a (gentoo patched) 2.6.30 kernel everything workes fine.

For the kernels of my gentoo system, I selected bttv to be build as module and added "options tveeprom debug=1" to my /etc/modprobe.conf.

The IMHO important parts of the dmesg are the following.

With 2.6.31-gentoo-r6 kernel:

Bt87x 0000:04:06.1: PCI INT A -> GSI 21 (level, low) -> IRQ 21
bt87x0: Using board 1, analog, digital (rate 32000 Hz)
bttv: driver version 0.9.18 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv 0000:04:06.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
bttv0: Bt878 (rev 17) at 0000:04:06.0, irq: 21, latency: 64, mmio: 0xfdfff000
bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
bttv0: using: Hauppauge (bt878) [card=10,autodetected]
IRQ 21/bttv0: IRQF_DISABLED is not guaranteed on shared IRQs
bttv0: gpio: en=00000000, out=00000000 in=00ffffdb [init]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
tveeprom 0-0050: full 256-byte eeprom dump:
tveeprom 0-0050: 00: 84 12 00 00 05 50 0e 7f 04 2a 23 42 ad 12 25 8d
tveeprom 0-0050: 10: 00 00 00 00 05 84 0a 00 01 01 20 77 00 40 e0 8b
tveeprom 0-0050: 20: 3b 00 74 02 01 86 02 79 fa 00 00 00 00 00 00 00
tveeprom 0-0050: 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: 70: 00 00 00 00 00 00 00 00 00 00 00 00 13 eb 00 70
tveeprom 0-0050: 80: 84 12 00 00 05 50 0e 7f 04 2a 23 42 ad 12 25 8d
tveeprom 0-0050: 90: 00 00 00 00 05 84 0a 00 01 01 20 77 00 40 e0 8b
tveeprom 0-0050: a0: 3b 00 74 02 01 86 02 79 fa 00 00 00 00 00 00 00
tveeprom 0-0050: b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 0-0050: f0: 00 00 00 00 00 00 00 00 00 00 00 00 13 eb 00 70
tveeprom 0-0050: Tag [00] + 17 bytes: 05 50 0e 7f 04 2a 23 42 ad 12 25 8d 00 00 00 00 05
tveeprom 0-0050: Tag [01] + 9 bytes: 01 20 77 00 40 e0 8b 3b 00
tveeprom 0-0050: Tag [02] + 3 bytes: 01 86 02
tveeprom 0-0050: Hauppauge model 44354, rev C242, serial# 3902432
tveeprom 0-0050: tuner model is Temic 4009FR5 (idx 42, type 20)
tveeprom 0-0050: TV standards PAL(B/G) (eeprom 0x04)
tveeprom 0-0050: audio processor is MSP3415 (idx 6)
tveeprom 0-0050: has radio
bttv0: Hauppauge eeprom indicates model#44354
bttv0: tuner type=20
msp3400 0-0040: MSP3415G-B8 found @ 0x80 (bt878 #0 [sw])
msp3400 0-0040: msp3400 supports nicam and radio, mode is autodetect and autoselect
tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
tuner-simple 0-0061: creating new instance
tuner-simple 0-0061: type set to 20 (Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5))
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: registered device radio0
bttv0: PLL: 28636363 => 35468950 .. ok

With 2.6.30-gentoo-r8 kernel:

bttv: driver version 0.9.18 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv 0000:04:06.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
bttv0: Bt878 (rev 17) at 0000:04:06.0, irq: 21, latency: 64, mmio: 0xfdfff000
bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
bttv0: using: Hauppauge (bt878) [card=10,autodetected]
IRQ 21/bttv0: IRQF_DISABLED is not guaranteed on shared IRQs
bttv0: gpio: en=00000000, out=00000000 in=00ffffdb [init]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
tveeprom 1-0050: full 256-byte eeprom dump:
tveeprom 1-0050: 00: 84 12 00 00 05 50 0e 7f 04 2a 23 42 ad 12 25 8d
tveeprom 1-0050: 10: 00 00 00 00 05 84 0a 00 01 01 20 77 00 40 e0 8b
tveeprom 1-0050: 20: 3b 00 74 02 01 86 02 79 fa 00 00 00 00 00 00 00
tveeprom 1-0050: 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: 70: 00 00 00 00 00 00 00 00 00 00 00 00 13 eb 00 70
tveeprom 1-0050: 80: 84 12 00 00 05 50 0e 7f 04 2a 23 42 ad 12 25 8d
tveeprom 1-0050: 90: 00 00 00 00 05 84 0a 00 01 01 20 77 00 40 e0 8b
tveeprom 1-0050: a0: 3b 00 74 02 01 86 02 79 fa 00 00 00 00 00 00 00
tveeprom 1-0050: b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
tveeprom 1-0050: f0: 00 00 00 00 00 00 00 00 00 00 00 00 13 eb 00 70
tveeprom 1-0050: Tag [00] + 17 bytes: 05 50 0e 7f 04 2a 23 42 ad 12 25 8d 00 00 00 00 05
tveeprom 1-0050: Tag [01] + 9 bytes: 01 20 77 00 40 e0 8b 3b 00
tveeprom 1-0050: Tag [02] + 3 bytes: 01 86 02
tveeprom 1-0050: Hauppauge model 44354, rev C242, serial# 3902432
tveeprom 1-0050: tuner model is Temic 4009FR5 (idx 42, type 20)
tveeprom 1-0050: TV standards PAL(B/G) (eeprom 0x04)
tveeprom 1-0050: audio processor is MSP3415 (idx 6)
tveeprom 1-0050: has radio
bttv0: Hauppauge eeprom indicates model#44354
bttv0: tuner type=20
tuner 1-0061: chip found @ 0xc2 (bt878 #0 [sw])
tuner-simple 1-0061: creating new instance
tuner-simple 1-0061: type set to 20 (Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5))
msp3400 1-0040: MSP3415G-B8 found @ 0x80 (bt878 #0 [sw])
msp3400 1-0040: msp3400 supports nicam and radio, mode is autodetect and autoselect
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: registered device radio0
bttv0: PLL: 28636363 => 35468950 .. ok

The difference seems to be that the first number after tveeprom, tuner and msp3400 are different.


The problem may be related to bug numer 14551
http://bugzilla.kernel.org/show_bug.cgi?id=14551


You can see the complete output of dmesg, the kernel configuration, output of lsmod and ver_linux for the used kernels here:
http://heizmann.name/bttvBugReport/GENTOO_2.6.31-gentoo-r6_config
http://heizmann.name/bttvBugReport/GENTOO_2.6.31-gentoo-r6_dmesg
http://heizmann.name/bttvBugReport/GENTOO_2.6.31-gentoo-r6_lsmod
http://heizmann.name/bttvBugReport/GENTOO_2.6.31-gentoo-r6_ver_linux

http://heizmann.name/bttvBugReport/KNOPPIX_2.6.31.6_config
http://heizmann.name/bttvBugReport/KNOPPIX_2.6.31.6_dmesg
http://heizmann.name/bttvBugReport/KNOPPIX_2.6.31.6_lsmod
http://heizmann.name/bttvBugReport/KNOPPIX_2.6.31.6_ver_linux

http://heizmann.name/bttvBugReport/GENTOO_2.6.30-gentoo-r8_config
http://heizmann.name/bttvBugReport/GENTOO_2.6.30-gentoo-r8_dmesg
http://heizmann.name/bttvBugReport/GENTOO_2.6.30-gentoo-r8_lsmod
http://heizmann.name/bttvBugReport/GENTOO_2.6.30-gentoo-r8_ver_linux


The output of lspci -v is the following.

04:06.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
        Subsystem: Hauppauge computer works Inc. WinTV Series
        Flags: bus master, medium devsel, latency 64, IRQ 21
        Memory at fdfff000 (32-bit, prefetchable) [size=4K]
        Capabilities: [44] Vital Product Data <?>
        Capabilities: [4c] Power Management version 2
        Kernel driver in use: bttv
        Kernel modules: bttv

04:06.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
        Subsystem: Hauppauge computer works Inc. WinTV Series
        Flags: bus master, medium devsel, latency 64, IRQ 21
        Memory at fdffe000 (32-bit, prefetchable) [size=4K]
        Capabilities: [44] Vital Product Data <?>
        Capabilities: [4c] Power Management version 2
        Kernel driver in use: Bt87x
Comment 1 matthias 2009-12-31 02:46:36 UTC
Sorry, I just mentioned that the problem is not bttv specific and this bug is a duplicate of bug 14114.

A patch is already available.

*** This bug has been marked as a duplicate of bug 14114 ***