On Wed, Jul 15, 2015 at 12:21:02PM -0400, Adam Van Ymeren wrote:
> 
> 
> On 15 July 2015 12:18:16 GMT-04:00, Paul Irofti <p...@irofti.net> wrote:
> >> After a cold boot the output is as follows.
> >> 
> >> 1)  Pressing brightness up
> >> 
> >> acpithinkpad0: handling event 0x1011
> >> acpithinkpad0: handling event 0x000
> >> 
> >> 2)  Pressing brightess down
> >> 
> >> acpithinkpad0: handling event 0x1011
> >> acpithinkpad0: handling event 0x000
> >> 
> >> 
> >> Then I suspend zzz, and resume and the output changes slightly to.
> >> 
> >> 1)  Pressing brightness up
> >> 
> >> acpithinkpad0: handling event 0x1010
> >> acpithinkpad0: handling event 0x000
> >> 
> >> 2)  Pressing brightness down
> >> 
> >> acpithinkpad0: handling event 0x1011
> >> acpithinkpad0: handling event 0x000
> >> 
> >> For some reason pressing the brightness up command gives the
> >brightness
> >> down event, but doesn't actually change the brightness until a
> >> suspend/resume cycle is done.
> >
> >Interesting, so the brightness does not change even if you press
> >brightness down. Right?
> 
> Right.  Not until I've done a suspend resume cycle does the brightness change 
> in any direction.  Which is really bizarre.
> 
> Could this maybe be a BIOS/firmware issue?  I will try updating my BIOS if 
> there is a newer version available.

Sure, you can try updating the BIOS.

Another question: what is the display.brightness value on cold boot?
# wsconsctl display.brightness

Can you also tell me what happens when you press the brightness down
button on cold boot with this diff?

Index: acpithinkpad.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpithinkpad.c,v
retrieving revision 1.44
diff -u -p -r1.44 acpithinkpad.c
--- acpithinkpad.c      24 Apr 2015 14:44:17 -0000      1.44
+++ acpithinkpad.c      15 Jul 2015 17:15:02 -0000
@@ -304,6 +304,8 @@ thinkpad_hotkey(struct aml_node *node, i
                if (aml_evalinteger(sc->sc_acpi, sc->sc_devnode, "MHKP",
                    0, NULL, &event))
                        break;
+               printf("%s: handling event 0x%03llx\n",
+                   DEVNAME(sc), event);
                if (event == 0)
                        break;
 
@@ -313,6 +315,8 @@ thinkpad_hotkey(struct aml_node *node, i
                        handled = 1;
                        break;
                case THINKPAD_BUTTON_BRIGHTNESS_DOWN:
+                       thinkpad_brightness_down(sc);
+                       thinkpad_brightness_down(sc);
                        thinkpad_brightness_down(sc);
                        handled = 1;
                        break;

Reply via email to