Date: Sat, 17 Aug 2013 18:19:32 GMT From: Matthias Petermann <matthias@petermann-it.de> To: freebsd-gnats-submit@FreeBSD.org Subject: amd64/181357: LCD Brightness Control not working on Lenovo X121e (ACPI issue?) Message-ID: <201308171819.r7HIJWvW094158@oldred.freebsd.org> Resent-Message-ID: <201308171820.r7HIK0nx095909@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 181357 >Category: amd64 >Synopsis: LCD Brightness Control not working on Lenovo X121e (ACPI issue?) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-amd64 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Aug 17 18:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Matthias Petermann >Release: 10.0-CURRENT >Organization: >Environment: FreeBSD thinkpad.local 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r252853: Sat Jul 6 02:01:48 CEST 2013 >Description: The X121e is expected to increase/decrease LCD brightness by Fn+F9/Fn+F8. This is not working in FreeBSD 9.1 and FreeBSD 10.0. Direct ACPI calls (via sysutils/acpi_call port) provide a workaround. A comprehensive solution would be appreciated. I think a solution for this problem will help not just X121e users but any user of more recent thinkpads. I saw similiar postings in freebsd-current for X230 and X220 as well. I have FreeBSD 10.0-CURRENT installed permanently to my X121e and am willing to test / investigate at any time. Please advise if there is anything I could provide right now. The affected model is a Lenovo X121e (Model 3045-79G, i3, HD3000). Details: http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/dmesg.txt http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/devinfo.txt http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/mpeterma-lenovo_x121e_i3.asl http://www.petermann-it.de/files/freebsd-pr-x121e-acpi/sysctl_hw_acpi.txt >How-To-Repeat: I tried: # acpi_video / sysctl hw.acpi.video.lcd0.brightness This is what is working on most of the other laptops I tried it. root@thinkpad:/usr/home/mpeterma # kldload acpi_video acpi_video0: <ACPI video extension> on vgapci0 root@thinkpad:/usr/home/mpeterma # sysctl -a |grep bright hw.acpi.video.lcd0.brightness: 35 root@thinkpad:/usr/home/mpeterma # sysctl hw.acpi.video.lcd0.brightness=100 hw.acpi.video.lcd0.brightness: 35 -> 100 Result: LCD brightness doesn't change after sysctl call, Fn+F9/Fn+F8 not working. # acpi_ibm / sysctl dev.acpi_ibm.0.lcd_brightness This is what worked on some older Thinkpads. root@thinkpad:/usr/home/mpeterma # kldload acpi_ibm acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0 root@thinkpad:/usr/home/mpeterma # sysctl -a | grep bright hw.acpi.video.lcd0.brightness: 90 dev.acpi_ibm.0.lcd_brightness: 7 root@thinkpad:/usr/home/mpeterma # root@thinkpad:/usr/home/mpeterma # sysctl dev.acpi_ibm.0.lcd_brightness=1 dev.acpi_ibm.0.lcd_brightness: 7 -> 1 Result: LCD brightness doesn't change after sysctl, Fn+F9/Fn+F8 still not working. # Activate sysctl dev.acpi_ibm.0.events root@thinkpad:/usr/home/mpeterma # sysctl -a | grep dev.acpi_ibm.0.availmask dev.acpi_ibm.0.availmask: 67733756 root@thinkpad:/usr/home/mpeterma # sysctl dev.acpi_ibm.0.events=1 dev.acpi_ibm.0.events: 0 -> 1 root@thinkpad:/usr/home/mpeterma # sysctl dev.acpi_ibm.0.handlerevents='0x03 0x04 0x10 0x11' Result: Fn+F9/Fn+F8 still not working. # Direct ACPI calls with acpi_call root@thinkpad:/usr/home/mpeterma # cd /usr/ports/sysutils/acpi_call/ root@thinkpad:/usr/ports/sysutils/acpi_call # make install clean root@thinkpad:/usr/ports/sysutils/acpi_call # kldload acpi_call root@thinkpad:/usr/ports/sysutils/acpi_call # acpi_call -p '\VBRU' root@thinkpad:/usr/ports/sysutils/acpi_call # acpi_call -p '\VBRD' Result: on each acpi_call, \VBRU increases and \VBRD decreases LCD brightness by one step. Fn+F9/Fn+F8 still not working. >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308171819.r7HIJWvW094158>