By Date: <-- -->
By Thread: <-- -->

TUNER_MICROTUNE_4049FM5 - radio fix - was - 2nd Try: WinTV 34519 FM Receiver not working after Kernel Upgrade 2.6.15 -> 2.6.16



Hi Phillip,

Am Dienstag, den 06.02.2007, 18:00 +0100 schrieb Philipp Richter:
> Hi,
> 
> I already sent this mail but got no reply. Is there nobody who can help me 
> with this issue?
> 
> I have a Hauppauge WinTV 34519. I don't use the Video Part of this Card, I'm 
> only interested in the FM-Receiver. With Kernel Version <= 2.6.15 (Ubuntu 
> Dapper) everything worked out of the box.
> 
> After upgrading to Kernel 2.6.17 (Ubuntu edgy) the card gets recognized 
> correctly by the kernel but as soon as I try to tune in to a radio station 
> (fmtools, radio) I hear an awkward noise.
> 
> I also tried Kernel 2.6.16 with the same result as with 2.6.17. So something 
> happened between 2.6.15 and 2.6.16 which broke my WinTV Card. Looking at the 
> diff suggests that a big update occured to the v4l code at that time.
> 
> The relevant kernel log parts follow:

Sorry, that nobody cared.

We broke it for all the Philips tuners and it was unknown previously
that this one needs a special setting to activate high sensitivity on
FM, which was the prior default for all.

It is fixed since 2006-11-22 in mercurial v4l-dvb at linuxtv.org.

We have now for it in tuner-types.c.

/* ------------ TUNER_MICROTUNE_4049FM5 - Microtune PAL ------------ */

static struct tuner_params tuner_microtune_4049_fm5_params[] = {
	{
		.type   = TUNER_PARAM_TYPE_PAL,
		.ranges = tuner_temic_4009f_5_pal_ranges,
		.count  = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges),
		.has_tda9887 = 1,
		.port1_invert_for_secam_lc = 1,
		.default_pll_gating_18 = 1,
		.fm_gain_normal=1,
	},
};

Where fm_gain_normal is the needed switch.
If you have the kernel source and want just a quick fix only for this
tuner, change it here in tda9887.c. to cTunerGainNormal, is bit e5.

static struct tvnorm radio_stereo = {
	.name = "Radio Stereo",
	.b    = ( cFmRadio       |
		  cQSS           ),
	.c    = ( cDeemphasisOFF |
		  cAudioGain6    |
		  cTopDefault),
	.e    = ( cTunerGainLow  |
		  cAudioIF_5_5   |
		  cRadioIF_38_90 ),
};

static struct tvnorm radio_mono = {
	.name = "Radio Mono",
	.b    = ( cFmRadio       |
		  cQSS           ),
	.c    = ( cDeemphasisON  |
		  cDeemphasis75  |
		  cTopDefault),
	.e    = ( cTunerGainLow  |
		  cAudioIF_5_5   |
		  cRadioIF_38_90 ),
};

You also should prefer cGating_18 for the tvnorms, is bit e6 see
#defines. 

static struct tvnorm tvnorms[] = {
	{
		.std   = V4L2_STD_PAL_BG | V4L2_STD_PAL_H | V4L2_STD_PAL_N,
		.name  = "PAL-BGHN",
		.b     = ( cNegativeFmTV  |
			   cQSS           ),
		.c     = ( cDeemphasisON  |
			   cDeemphasis50  |
			   cTopDefault),
		.e     = ( cGating_36     |
			   cAudioIF_5_5   |
			   cVideoIF_38_90 ),
	},{
		.std   = V4L2_STD_PAL_I,

You can find the related Changesets with the mercurial web interface.

Sorry and hope it helps.

Cheers,
Hermann


> - The working kernel (2.6.15):
> 
> [42949372.960000] Linux version 2.6.15-27-server (buildd (at) terranova) (gcc 
> version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #1 SMP Fri Dec 8 18:43:54 UTC 2006
> [42949398.800000] cx2388x v4l2 driver version 0.0.5 loaded
> [42949398.800000] PCI: Enabling device 0000:00:10.0 (0014 -> 0016)
> [42949398.800000] ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [LNKD] -> GSI 12 
> (level, low) -> IRQ 12
> [42949398.800000] CORE cx88[0]: subsystem: 0070:3401, board: Hauppauge WinTV 
> 34xxx models [card=1,autodetected]
> [42949398.800000] TV tuner -1 at 0x1fe, Radio tuner -1 at 0x1fe
> [42949399.020000] tveeprom 1-0050: Hauppauge model 34519, rev J152, serial# 
> 2841855
> [42949399.020000] tveeprom 1-0050: tuner model is Microtune 4049 FM5 (idx 52, 
> type 45)
> [42949399.020000] tveeprom 1-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') 
> PAL(D/K) (eeprom 0x74)
> [42949399.020000] tveeprom 1-0050: audio processor is CX881 (idx 31)
> [42949399.020000] tveeprom 1-0050: has radio
> [42949399.020000] cx88[0]: warning: unknown hauppauge model #34519
> [42949399.020000] cx88[0]: hauppauge eeprom: model=34519
> [42949399.020000] input: cx88 IR (Hauppauge WinTV 34xxx  
> as /class/input/input1
> [42949399.020000] cx88[0]/0: found at 0000:00:10.0, rev: 5, irq: 12, latency: 
> 32, mmio: 0xe8000000
> [42949399.070000] tuner 1-0061: chip found  (at)  0xc2 (cx88[0])
> [42949399.070000] tuner 1-0061: type set to 45 (Microtune 4049 FM5)
> [42949399.140000] tda9887 1-0043: chip found  (at)  0x86 (cx88[0])
> [42949399.150000] cx88[0]/0: registered device video0 [v4l2]
> [42949399.150000] cx88[0]/0: registered device vbi0
> [42949399.150000] cx88[0]/0: registered device radio0
> 
> - Not working (2.6.17)
> 
> [42949372.960000] Linux version 2.6.17-10-server (root (at) terranova) (gcc version 
> 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)) #2 SMP Tue Dec 5 
> 22:29:32 UTC 2006 (Ubuntu 2.6.17-10.34-server)
> [42949399.060000] cx2388x v4l2 driver version 0.0.5 loaded
> [42949399.100000] PCI: Enabling device 0000:00:10.0 (0014 -> 0016)
> [42949399.140000] ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [LNKD] -> GSI 12 
> (level, low) -> IRQ 12
> [42949399.220000] CORE cx88[0]: subsystem: 0070:3401, board: Hauppauge WinTV 
> 34xxx models [card=1,autodetected]
> [42949399.300000] TV tuner -1 at 0x1fe, Radio tuner -1 at 0x1fe
> [42949399.570000] tveeprom 1-0050: Hauppauge model 34519, rev J152, serial# 
> 2841855
> [42949399.610000] tveeprom 1-0050: tuner model is Microtune 4049 FM5 (idx 52, 
> type 45)
> [42949399.660000] tveeprom 1-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') 
> PAL(D/D1/K) (eeprom 0x74)
> [42949399.750000] tveeprom 1-0050: audio processor is CX881 (idx 31)
> [42949399.800000] tveeprom 1-0050: has radio
> [42949399.840000] cx88[0]: hauppauge eeprom: model=34519
> [42949399.890000] input: cx88 IR (Hauppauge WinTV 34xxx  
> as /class/input/input2
> [42949399.940000] cx88[0]/0: found at 0000:00:10.0, rev: 5, irq: 12, latency: 
> 32, mmio: 0xe8000000
> [42949400.090000] tuner 1-0061: chip found  (at)  0xc2 (cx88[0])
> [42949400.130000] tuner 1-0061: type set to 45 (Microtune 4049 FM5)
> [42949400.280000] tda9887 1-0043: chip found  (at)  0x86 (cx88[0])
> [42949400.330000] cx88[0]/0: registered device video0 [v4l2]
> [42949400.380000] cx88[0]/0: registered device vbi0
> [42949400.420000] cx88[0]/0: registered device radio0
> [42949400.650000] cx2388x alsa driver version 0.0.5 loaded
> 


--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request (at) redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list