Bug 46872

Summary: Make sound work on TV-cards with MSDP3415D-B3 chip
Product: Base System Reporter: Ulrich Spoerlein <q>
Component: kernAssignee: alex <alex>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.7-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
bktr.patch none

Description Ulrich Spoerlein 2003-01-08 16:40:01 UTC
Ok, this problem is a bit more complex. The above is a WinTV Stereo FM card purchased in Germany. It has the MSP34154D-B3 chip, responsible for Stereo sound on FM-Radio and TV. But sadly, nearly all TV applications are unable to initialize the sound-chip (fxtv works, when 'internal audio' is selected), although the initialization looks right (i triple-checked with the documentation available on that chip).

There is one work-around for getting sound: Start a radio application (xmradio), then start for example xawtv and switch the channel. Voila, sound. The ugly thing is, this won't work if you're trying to capture with ffmpeg or mencoder.

After trying nearly all ways of initializing this chip, i just copied the initialization from the FM Tuner to the TV Tuner part and ... it works every time.

Fix: Ok, this Fix is not very nice. I abused slow_msp_audio, but i didn't want to add another field to the bktr struct.
I changed the auto_detect value, because the specs say: Results exceeding 0x07ff indicate an active autodetect
	
How-To-Repeat: Buy one of these cards (i think the german cards are special) and try for yourself :)
Comment 1 Drazen 2003-01-20 19:34:42 UTC
Hi

Your patch works fine. The only thing I needed to do is to run sysctl -w 
hw.bt848.slow_msp_audio=3. Default value is -1.

My hardware:

bktr0: <BrookTree 878> mem 0xee800000-0xee800fff irq 9 at device 12.0 on pci2
bktr0: Hauppauge Model 44354 D147
bktr0: Warning - Unknown Hauppauge Tuner 0x2f
bktr0: Detected a MSP3415D-B3 at 0x80
bktr0: Hauppauge WinCast/TV, Philips PAL I tuner, msp3400c stereo, remote 
control.

Best regards,

-- 
Drazen Ferencic
Comment 2 Ulrich Spoerlein 2003-01-21 12:21:00 UTC
On 2003/01/20-11:40:02 Drazen Ferencic wrote:

> Your patch works fine. The only thing I needed to do is to run sysctl -w 
> hw.bt848.slow_msp_audio=3. Default value is -1.
> 
> My hardware:
> 
> bktr0: <BrookTree 878> mem 0xee800000-0xee800fff irq 9 at device 12.0 on pci2
> bktr0: Hauppauge Model 44354 D147
> bktr0: Warning - Unknown Hauppauge Tuner 0x2f
> bktr0: Detected a MSP3415D-B3 at 0x80
> bktr0: Hauppauge WinCast/TV, Philips PAL I tuner, msp3400c stereo, remote 
> control.

Interessting, could you tell me the exact Version String of your tuner? You
might need to open your case and look on the card if there's anything from
'Philips'. It's probably something like FM1246 or FR1246 or similar.

Is this a card advertised as stereo or mono?
Could you please try it with hw.bt848.slow_msp_audio=1 and =2?
Comment 3 alex freebsd_committer freebsd_triage 2003-10-05 23:03:45 UTC
State Changed
From-To: open->feedback
Comment 4 alex freebsd_committer freebsd_triage 2003-10-05 23:04:30 UTC
Responsible Changed
From-To: freebsd-bugs->alex

Could you by chance test this on a -CURRENT box? 

I've committed a port of the driver a while back which 
fixed this for me and should fix this as well for you. 

Try it with the BKTR_NEW_MSP34XX_DRIVER option in the kernel-config.
Comment 5 alex freebsd_committer freebsd_triage 2003-10-22 16:46:27 UTC
State Changed
From-To: feedback->closed

According to the submitter, the new kernel option works.