[ltp] x41 volume, mute buttons, and acpi

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Thu, 28 Jun 2007 10:32:21 -0300


On Thu, 28 Jun 2007, Paul Fox wrote:
> perhaps you can show me where to control it, then?  it wasn't

ACPI HKEY.MHMN node. It is a driver thing, the user interacts with it
through the driver.

> great!  glad to hear there may be at least a partial solution.

Yeah, you will be able to ditch thinkpad-keys in a new enough thinkpad.
Which will waste a lot less power, but it *still* means that any braindead
GNOME/KDE config that maps them to keys by default and react actively to the
keys will be *broken* because that should never be done in the first place.

This is nothing I can fix, but the HAL and desktop.org people are trying to
fix it (and I don't know if it was them that broke it in the first place,
but they are the ones who try to keep these things sane).

> i guess it doesn't really matter to me if they "do their
> function", if that function is worthless.  what i want is for
> them to do the same thing that every other volume slider in every
> other bit of software that i use does.  and they currently don't
> do that.

How so?  They control the mixer. The volume goes up and down. Or are you
confused by the fact that you don't *see* the mixer they control?  The
thinkpad has two mixers, and the one you see is the main mixer, and not the
mixer the volume keys control.

thinkpad-acpi will export a mixer in a future revision, so that you will be
able to see the second mixer in ALSA mixer control applets, but whether this
will be good or worse, depends on how dumb these applets are...

> "they just work"?  right now, if i mute the sound with those
> keys, i can't unmute it with OS software.  and if i lower the

Yes, the *keys* just work.  And you cannot make them "not work" so that you
can program them to work in a different way.

To unmute, you press a volume up/down key.  If you don't like that way of
doing things, complain to IBM and Lenovo, that's how the firmware has been
doing it on thinkpads for the last five years or so...

As for the interface to the mixer these keys control being "non-standard", I
agree with you.  That will be fixed when thinkpad-acpi starts exporting an
ALSA mixer interface, in 2.6.23 or 2.6.24.

> now, if you're instead laying the blame at the feet of the mixer
> folks, and saying that they should be reading something other
> standard hardware feature than whatever it is they're reading

The mixer folks can't read anything because there is no mixer (OSS or ALSA)
for them to read yet.  There will be one in 2.6.23 or 2.6.24, and then I
will blame them if they cannot handle two mixers in a single machine, but we
are not there yet.

I am blaming whomever decided to map volume up/down/mute keys through
thinkpad-keys by default, that is *wrong*.  And these are not, AFAIK, the
"mixer folks".

> probably work seamlessly under windows.  (i've never run windows
> on this device.)  but if it takes access to a non-standard piece

On windows, all that is done is show the mixer volume in an OSD.  When you
use the mixer control interfaces, you talk to the AC97 mixer.

The bug is that the OSD thingie must *not* be done through volume
up/down/mute *keys*, because they are to just show an OSD, and not to try to
mess with the AC97 mixer (that has a lot more than just 7 levels, it is
stereo and not mono, it has multiple channels and not just a master channel,
etc).

> no, of course they shouldn't.  that's not why they put little
> pictures of speakers on the keys.  ;-)

These keys are equivalent to a small dial in the side that sets the volume
of the speakers and earphone output of your thinkpad.  They are not the "do
nothing in hardware. O.S., please map it to something that mess with the
soundcard" keys in multimedia keyboards.

> sorry for my tone, but when i bought this notebook, i did so
> because of the great reputation ibm has, or at least had, for
> both their hardware and their linux support.  i've been
> disappointed.  

1. IBM never helps Linux support in ThinkPads, unless you count the fact
that they never tried to prosecute either Borislav or me for doing it, and
that they did not make the firmware so windows-happy that it would be
impossible to get it to work in Linux... But they have not helped one yota
in the last years (unless they are doing so covertly, which I would not mind
at all, but have no knowledge of).

2. You will not find any other laptop as well supported in Linux right now
AFAIK. But to use it to its fullest, you *will* have to go to
http://thinkwiki.org and tweak things.  No distro ships with a 100% properly
tuned kernel and userland for thinkpads.

3. Lenovo is no better than IBM at Linux support, and they are changing some
stuff in the firmware, so you get the usual flack for buying something new
that is not 100% supported yet if you get a Lenovo thinkpad.  But so far, we
found nothing that is impossible to support (it is just not 100% right yet).

4. The thinkpad user community is the *best* Linux laptop community
currently in existence: it is helpful, it knows a damn great deal, it has
great forums, great mailinglists, and an outstanding wiki.  Make use of it
:-) and be one of us.

5. A *lot* of kernel hackers use thinkpads.  Really.   So new and
development kernels don't stay broken on thinkpads for long.  And a lot of
Debian and Ubuntu developers also do, so these distros *usually* are not too
broken (but they will still not get things 100% right).

You will find why you should not like Lenovo when you try to use their
warranty services *and* you have the absolute worst luck of hitting one of
the dead-laptop-makers depots.

The hardware is good, but not stellar.  For stellar, you need to buy a
hardened laptop, and those are *expensive* and very rare.

> developers that are to blame.  i think the hardware tries quite
> hard to make their life difficult.  case in point:  last night

Yeah, it does.  The SMBIOS and its SMM and SMI handling is *hell*.  But
until you get a laptop supported by LinuxBIOS (there is none), this won't
change.  All laptops have SMBIOS, do SMIs, and screw up royally while at it.

> and they were active, but invisible.)  i had to reboot.  i don't
> believe that this was anyone's fault but ibm's. ]

No idea here. Might be IBM's if it has something to do with the TFT output
controller (video output cycle), or it might be X (and whichever videochip
driver it is using), if it is hosing the console video mode.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh