How can I help with thinkpad x220 issues?

Kevin Oberman kob6558 at gmail.com
Sat May 26 03:25:49 UTC 2012


On Wed, May 23, 2012 at 11:55 PM, Lars Engels <lars.engels at 0x20.net> wrote:
> On Wed, May 23, 2012 at 03:19:14PM -0700, Kevin Oberman wrote:
>> On Wed, May 23, 2012 at 8:13 AM, Natacha Porté <natbsd at instinctive.eu> wrote:
>> > Hello,
>> >
>> > I happen to be the owner of a brand new Lenovo Thinkpad X220. From a
>> > recent thread here I gather it almost works with FreeBSD, and the
>> > remaining problems are screen brightness and screen left unpowered at
>> > resume. Is that right?
>> >
>> > So my question is, how can I help make progress in any of these area?
>> > (though I admit I'm more interested in having the brightness problem
>> > solved than the resume one)
>> >
>> > I don't know anything about ACPI or about FreeBSD or Linux internals,
>> > but I'm quite proficient in C and somewhat used to navigate in unknown
>> > huge code bases.
>> >
>> > So I guess the first steps to help would be to first learn stuff.
>> >
>> > However I don't have much time available. I guess FreeBSD 11 would reach
>> > end-of-life before I could reach a level of understanding I find
>> > satisfying (though I admit I have high standards there), so I would have
>> > to prioritize. So my question is rather *what* should I learn to provide
>> > help as soon as possible?
>> >
>> > For example, if the brightness issue is just a matter of extracting the
>> > right numbers from linux kernel code and plug them into FreeBSD, I
>> > probably won't need to learn anything more about ACPI than what I would
>> > gather looking at the code. I guess if it was that simple someone would
>> > have already done it, but that illustrate well my point about
>> > prioritizing learning.
>> >
>> > Or is the barrier of entry too high for me to be of any use?
>>
>> If it has not been committed, the minor fix to make acpi_ibm work on
>> modern ThinkPads needs to be committed. Once done, the issues
>> mentioned need to be addressed.This includes getting brightness to be
>> setable from both the keypad hot-keys and from applications. ATM, I
>> can set the brightness, but making the hot-keys work will require the
>> ability to extract the current level so that it may be adjusted
>> plus/minus one.
>>
>> The other issue is volume control keys don't work. I suspect it will
>> be similar to brightness, but I don't know just how to figure it out.
>>
>> I should also mention that I don't have an X220. I have a T520, but
>> the issues seem to be identical, so fixing one will probably fix a lot
>> of recent ThinkPads.
>
> About the key:
>
> Did you try loading "acpi_ibm", "sysctl dev.acpi_ibm.0.events=1",
> "cat /var/run/devd.pipe" and then press the keys. Does anything show up?

After adding LEN0068 ti the ACPI IDs, I tried this and I get no ACPI
event when pressing either button, but I do get regular key press
events:
KeyPress event, serial 30, synthetic NO, window 0x4600001,
    root 0x121, subw 0x0, time 166670035, (96,121), root:(100,750),
    state 0x0, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume),
same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x4600001,
    root 0x121, subw 0x0, time 166670185, (96,121), root:(100,750),
    state 0x0, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume),
same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 33, synthetic NO, window 0x4600001,
    root 0x121, subw 0x0, time 166927339, (98,0), root:(102,629),
    state 0x0, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume),
same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x4600001,
    root 0x121, subw 0x0, time 166927451, (98,0), root:(102,629),
    state 0x0, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume),
same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

I can set these up as hot keys and issue a command, but I have no idea
what I can set to adjust the hardware volume. But I will also need to
read out the current volume so I know what value to which is should be
set. (Same issue as with brightness.)
-- 
R. Kevin Oberman, Network Engineer
E-mail: kob6558 at gmail.com


More information about the freebsd-acpi mailing list