Linux port of the Brooktree Soundchip drivers

Alexander Langer alex at
Fri May 16 06:58:18 PDT 2003


I've ported the Linux msp3400.c driver to FreeBSD.  Gerd Knorr, the
author of the Linux driver agreed to release this driver under a BSD
Licence, so it should be possible to commit it to the tree.

The problem with our (bktr) soundchip support is, that it does only
the minimal chip initialization.  It works for some cases, but for more
complex sound detection schemes, as in Germany (B/G Dual FM) it fails to
detect any sound.
That's why I and others have to use "Internal audio" in the fxtv
application.  This mode circumvents the MSP and uses some kind of direct
output from the Tuner to the Line-Out - the reason one only has mono

The various slow_msp_audio hacks in bktr_audio.c help on some chipsets,
but e.g. my Hauppauge Win/TV Radio with a MSP3415D-B3 are not able to have
stereo sound.

The Linux driver, however, always worked as expected, and instead of
trying to fix the code we currently have, which is a bit hackish already
now, I decided to just port the Linux driver.

The current version is already working, but still has a few TODOs, such
as implementing all the sysctl knobs that are now set to the default
values and not changeable, or giving the kernel thread a better name,
based on the device number, or doing the right thing for DPL chipsets
(I don't have a Dolby card, but the Linux driver does seem to know
how to handle those chips, such as the bktr_audio.c).
I'm working on this.  After that, a bit of cleanup is also needed, but
only few. 

However, I really need to input of testers and if you encounter any

This code does all detection routines you can find in the specs of the
MSP34xx chips, so it should work out of the box.  Indeed I can have stereo
sound on all my German channels here, and it also correctly detects
bilingual or mono modes while keeping the same channel (that's what the
kernel thread is for).

If you have had problems with your bktr sound in the past, or if you
just want to help me debug any problems with my port, please try the
following patch:

I'm looking forward to any kind of reports, success or bug reports.
Once I have a well working version, I hope Roger is going to merge
in this code.



More information about the freebsd-multimedia mailing list