Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2001 08:42:58 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        David Wolfskill <david@catwhisker.org>
Cc:        mobile@FreeBSD.org
Subject:   RE: Reality check on ESS Technology Maestro-2E h/w "mute" functi
Message-ID:  <XFMail.010327084258.jhb@FreeBSD.org>
In-Reply-To: <200103270658.f2R6w2c13898@bunrab.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 27-Mar-01 David Wolfskill wrote:
> I was about to attend a meeting, so I wanted to fire up this laptop
> beforehand, because it makes various chirpy noises as it comes up.  And
> in some -- possibly many -- circumstances, this is a reasonably Good
> Thing.
> 
> But in a public meeting, that can be a little disruptive; there are times
> I'd like to be a little less obnoxious.  :-}
> 
> I could hit the Fn+Page Dn keys a bunch of times to make the sound softer,
> but it would seem that the Fn+End keys *should* do the trick in a single
> chord.
> 
> So I tried that "mute" combination anyway, and saw the message:
> 
> Mar 26 18:50:21 localhost /kernel: pcm0: pcm0: unknown HWVOL event 0x77
> 
> Oh.  Well.  Hmm....
> 
> Poked around, and found src/sys/dev/sound/pci/maestro_reg.h, which has:
> 
>  #define PORT_HWVOL_MASTER_SHADOW 0x1e  /* BYTE RW */
>  #define PORT_HWVOL_MASTER      0x1f    /* BYTE RW */
>  #define HWVOL_NOP              0x88
>  #define HWVOL_MUTE             0x99
>  #define HWVOL_UP               0xaa
>  #define HWVOL_DOWN             0x66
> 
> 
> and sure enough, there was no mention of 0x77 anywhere.
> 
> So for a basic reality check, I replaced the "0x99" by "0x77" & re-built
> the kernel.  After I got home, I tried it... and it works just fine, with
> that hack:  I can now use the hardware "mute" function -- even just before
> the kernel gets loaded, and it doesn't chirp at all.  The output from
> "mixer" says "vol  0:0".  I hit the "mute" chord again, and it says
> "vol 75:75".
> 
> Cool.
> 
> So... is this Weird(er than usual) Hardware?  Is the value 0x99 a useful
> one for someone, or do I get to file a PR requesting a change to the value
> 0x77?  (If 0x99 *is* useful, I guess I need to figure out how to
> distinguish one from the other....)

Hmm, 0x99 is what my laptop uses (5000e) for the mute button (either pressing
both volume buttons on the side at the same time or Fn-End).  The thing is that
I don't have any docco for this lying around, so I have no idea if just one of
the bits indicates mute or if it is a certain magic value (or values) that
indicate mute.  It does seem apparent that one nibble is for the left channel,
and the other for the right, however.  I guess the code should be changed for
now to check for both 0x99 and 0x77 as mute?

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010327084258.jhb>