Subject: kern/7866: ess audio driver does not retain volume setting across open/close
To: None <gnats-bugs@gnats.netbsd.org>
From: None <Havard.Eidnes@runit.sintef.no>
List: netbsd-bugs
Date: 06/27/1999 09:21:25
>Number: 7866
>Category: kern
>Synopsis: ess audio driver does not retain volume setting across open/close
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 27 09:20:01 1999
>Last-Modified:
>Originator: Havard Eidnes
>Organization:
RUNIT AS
>Release: NetBSD 1.4
>Environment:
System: NetBSD vader.runit.sintef.no 1.4 NetBSD 1.4 (VADER) #2: Mon Jun 14 13:08:51 MEST 1999 he@vader.runit.sintef.no:/usr/src/sys/arch/i386/compile/VADER i386
>Description:
It appears that the ess audio driver does not retain the
volume settings for the mixer device across open/close
transitions. This is evident from consecutive runs of mpg123,
or if you use gqmpeg, which apparently assumes that the volume
settings will be retained across separate runs of mpg123.
>How-To-Repeat:
Run gqmpeg on a system with ess audio hardware.
Listen to the volume becoming barely audible when a new song
starts to play.
Observed on a system with
ess0 at isa0 port 0x230-0x23f drq 0 drq2 3
ess0: ESS Technology ES1888 [version 0x688b]
ess0: audio1 polled
ess0: audio2 polled
audio0 at ess0: full duplex
opl0 at ess0: model OPL3
midi0 at opl0: <ESS Yamaha OPL3>
audio hardware on an i386 laptop.
>Fix:
From the looks of it, the ess_reset() called from ess_open()
will reset some of the mixer registers to default levels. The
ESS 1888 hardware manual says that a soft reset will among
other things "set analog direction to be D/A, with the DAC
value set to mid-level". The code as it currently stands does
not compensate for this.
If I'm not totally wrong, I think it's the master volume that
needs tweaking in my case (me at work, machine at home),
although that would tend to contradict with the above quote
from the design guide.
>Audit-Trail:
>Unformatted: