Subject: kern/7866: ess audio driver does not retain volume setting across open/close
To: None <>
From: None <>
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
>Originator:     Havard Eidnes
>Release:        NetBSD 1.4
System: NetBSD 1.4 NetBSD 1.4 (VADER) #2: Mon Jun 14 13:08:51 MEST 1999 i386

	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.

	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.

	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.