[ltp] IBM thinkpad users, please test 0.22-20090318-BETA
Jochen Schulz
linux-thinkpad@linux-thinkpad.org
Fri, 27 Mar 2009 21:54:55 +0100
--nEsDIrWrg+hrB7l1
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Henrique de Moraes Holschuh:
> On Wed, 25 Mar 2009, Jochen Schulz wrote:
>=20
>> Hm. I am just trying the patched kernel and all I can say is that changi=
ng the
>> display brightness using the hotkeys doesn't work anymore at all. :) I am
>> running a vanilla 2.6.29 + your patch on a Debian sid system (using some=
parts
>> of X.Org from experimental).
>=20
> Well, you said the patch didn't apply cleanly, so the fact is we don't
> really know for sure how well your thinkpad-acpi.c is behaving :p
No, you're confusing Dominik's and my post. I patched a vanilla 2.6.29
and it applied cleanly.
>> Using xbacklight or manually echoing values to
>> /sys/class/backlight/thinkpad_screen/brightness works, though.
>=20
> Ok. That means the driver is doing what it should.
Fine!
> Might be the OpRegion stuff that makes the BIOS talk to the X server or
> something like that. Brightness control got _really_ complicated when it
> migrated to inside the GPU, because if the BIOS does it, it hoses the
> display driver. So, they created a shared-memory command channel for the
> BIOS and display driver to talk over, and as you might guess, that thing
> ain't working correctly yet.
Ah, thanks for that. I guess I will keep using X.Org from experimental.
for a while. :)
>> Passing brightness_enable=3D1 does indeed give me a working
>> /proc/acpi/ibm/brightness back (and removes the sysfs interface), but
>> the hotkeys still don't work anymore.=20
>=20
> Eh? It should _not_ remove the
> /sys/class/backlight/thinkpad_screen/brightness interface. If it is,
> something is seriously wacky.
>
> In fact, you should not _have_
> /sys/class/backlight/thinkpad_screen/brightness in Lenovo thinkpads,
> unless you passed brightness_enable=3D1.
Sorry, I have to correct myself. The sysfs interface never gets removed,
it is always there (as long as thinkpad_acpi is loaded). But I have the
impression that thinpad_acpi's behaviour is quite strange. The following
is the kernel output of a single 'modprobe thinkpad_acpi':
Non-volatile memory driver v1.3
thinkpad_acpi: ThinkPad ACPI Extras v0.22-20090318-BETA
thinkpad_acpi: http://ibm-acpi.sf.net/
thinkpad_acpi: ThinkPad BIOS 6DET38WW (2.02 ), EC 7XHT21WW-1.03
thinkpad_acpi: Lenovo ThinkPad X200, model 74587QG
thinkpad_acpi: radio switch found; radios are enabled
thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control=
, supported by the ACPI video driver
thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
Registered led device: tpacpi::thinklight
Registered led device: tpacpi::power
Registered led device: tpacpi::standby
thinkpad_acpi: Standard ACPI backlight interface not available, thinkpad_ac=
pi native brightness control enabled
thinkpad_acpi: detected a 16-level brightness capable ThinkPad
input: ThinkPad Extra Buttons as /class/input/input15
After that, I seem to have both the sysfs and the /proc interface. The
only option I have configured for the module is 'fan_control=3D1'.
> Pressing mute twice by mistake, or at boot because you don't recall if
> it is muted or not (thinkpads store that in NVRAM and will restore the
> last state on power up) will always give you muted sound. This is
> _nice_.
Ok, I can see why you like it.
> Now, mute/unmute is done by the firmware. Volume up/down *IN A RECENT
> LENOVO THINKPAD* is done by userspace. It will send normal keycodes
> to the kernel, which will send it to userspace. It is up to HAL or
> X.org to do something about it. No, thinkpad-acpi doesn't even get
> the volume key press events anymore on such thinkpads, the information
> flow path was changed in the EC firmware.
Thanks again. Xev does indeed show the volume keypresses and I was able
to configure my WM (awesome) to change the volume. JFTR:
table.insert(globalkeys, key({}, "XF86AudioRaiseVolume", function ()=20
awful.util.spawn('amixer -q sset Master 5%+') end))
table.insert(globalkeys, key({}, "XF86AudioLowerVolume", function ()
awful.util.spawn('amixer -q sset Master 5%-') end))
J.
--=20
Scientists know what they are talking about.
[Agree] [Disagree]
<http://www.slowlydownward.com/NODATA/data_enter2.html>
--nEsDIrWrg+hrB7l1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAknNPR8ACgkQ+AfZydWK2znmZACgmPbN66m95FouprJgmt1uOgcJ
8VAAn2Z6eyy/4W9/zoxPMOxTiBynSFR/
=Wm1t
-----END PGP SIGNATURE-----
--nEsDIrWrg+hrB7l1--