*BSD News Article 70955


Return to BSD News archive

Newsgroups: comp.unix.bsd.freebsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.bhp.com.au!mel.dit.csiro.au!munnari.OZ.AU!news.hawaii.edu!ames!olivea!quack!quack.kfu.com!nsayer
From: nsayer@quack.kfu.com (Nick Sayer)
Subject: Zenith laptop sound problem fixed
Message-ID: <nrgqdto@quack.kfu.com>
Sender: news@quack.kfu.com (0000-News(0000))
Organization: The Duck Pond public unix, +1 408 249 9630, log in as guest.
Date: Thu, 13 Jun 1996 20:16:55 UTC
Lines: 33

Well, I don't know if 'fixed' is a better term to use than 'worked
around', but here it is. :-)

The Zenith laptop I've got has a MS Sound System compatable audio
device in it. In order to get it to work under FreeBSD (every
RELEASE and SNAP I've tried - 2.0.5-RELEASE through 960501)
I've had the same problems.

The only way to get it to work at all is put an '#if 0 / #endif'
pair around ALL of probe_ms_sound() except for the last line,
which is a call to ad1848_detect(). I tried to isolate it
better than that, but it seems that this particular unit
fails all of the tests other than the one for the actual chip
itself.

That was half the battle. The other half was that once you got it to
probe it would always squeal whenever it was used. It turns out
that this is because the line

MIX_ENT(SOUND_MIXER_IMIX,       13, 1, 2, 6,     0, 0, 0, 0),

in ad1848_mixer.h caused the mixer value to be inverted for the
record monitor (the '1' is the flag for this). For this particular
unit, that 1 needs to be turned into a 0.

Having done all of this, there are no problems that I can detect.
recording and playing back all work, xmix works... touchdown.

-- 
Nick Sayer <nsayer@quack.kfu.com>  | Choose one only:
N6QQQ @ N0ARY.#NORCAL.CA.USA.NOAM  | 
+1 408 249 9630, log in as 'guest' | ___ Trickle-down economics
URL: http://www.kfu.com/~nsayer/   | ___ Trickle-down taxes