On Wed, 15 Jul 2015 20:16:05 +0300 Paul Irofti <[email protected]> wrote:
> 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 <[email protected]> > > 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 I have no display.brightness value at all. # wsconsctl | grep display display wsconsctl: Use explicit arg to view keyboard.map. display.type=radeondrm display.emulations=vt100 display.screentypes=std display.focus=4 display.screen_on=250 display.screen_off=0 display.vblank=off display.kbdact=on display.msact=on display.outact=on > > Can you also tell me what happens when you press the brightness down > button on cold boot with this diff? With the diff applied on a cold boot, no brightness change. After suspend/resume, brightness down turns it down a few notches, and brightness up turns it up one at a time as expected. I didn't update my BIOS yet, haven't had a chance. But I did notice that the brightness controls work as expected when the boot loader is up, but they stop working once the kernel has booted. > > 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;
