Date: Fri, 15 Mar 2013 01:00:52 -0700 From: hiren panchasara <hiren.panchasara@gmail.com> To: Sean Bruno <seanwbruno@gmail.com> Cc: Kevin Oberman <rkoberman@gmail.com>, markus@freebsd.org, freebsd-acpi@freebsd.org Subject: Re: thinkpad keys T520 Message-ID: <CALCpEUFkQ9KVC1poJqOphnfaqwP3RGyd7wi8HxT4=frqa07x3w@mail.gmail.com> In-Reply-To: <CALCpEUFrZh8KfjF3S2hiFFOimPNZKLOOrHughD3xLyo9Fz5ZZQ@mail.gmail.com> References: <1363125437.79135.2.camel@localhost> <CAN6yY1ugU6Mf0O2ZNHWssOHo8UcmSxCDxB6FJMdi1xYb7t6Qog@mail.gmail.com> <1363130522.79135.8.camel@localhost> <CALCpEUEjKpSMDiO0XWKyVPW9C1JraDiG_DQc8-4HrrkMg6j%2BXw@mail.gmail.com> <CALCpEUFrZh8KfjF3S2hiFFOimPNZKLOOrHughD3xLyo9Fz5ZZQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 13, 2013 at 7:40 AM, hiren panchasara <hiren.panchasara@gmail.com> wrote: > On Tue, Mar 12, 2013 at 7:38 PM, hiren panchasara > <hiren.panchasara@gmail.com> wrote: >> On Tue, Mar 12, 2013 at 4:22 PM, Sean Bruno <seanwbruno@gmail.com> wrote: >>> On Tue, 2013-03-12 at 15:56 -0700, Kevin Oberman wrote: >>>> On Tue, Mar 12, 2013 at 2:57 PM, Sean Bruno <seanbru@yahoo-inc.com> >>>> wrote: >>>> the Fn key seems to send the system the same key command as >>>> the power >>>> button *should* send. This leads to many problems on this >>>> machine. >>>> >>>> How can I start tracing code the key strokes for keys that are >>>> not the >>>> normal keyboard keys? e.g. the Fn key or vol up/down and the >>>> power >>>> button? >>>> >>>> If I load acpi_ibm(4), it doesn't seem to ever get used so I >>>> am confused >>>> as to where to start. >> >> As Sean pointed out, we are on this mysterious journey to find out >> what happens when buttons are pressed. >> I am playing with my T420 to understand how physical button press >> event is sent down to acpi_ibm via devd. >> I've started putting "device_printf" inside acpi_ibm to see if >> individual functions are getting called or not. >> I was not seeing anything in dmesg until I set following: >> >> sysctl dev.acpi_ibm.0.events=1 I've a possible stupid question here. Why do I need to explicitly set this variable when I am already loading acpi_ibm.ko ? > > It seems, I also need to do: > sysctl dev.acpi_ibm.0.handlerevents='0x01 0x02 0x03.....whatever I need'. Also, why not set catch all the possible events when acpi_ibm.ko gets loaded? I have a 2-fold question: Is acpi_ibm any useful without these 2 sysctls set? and is there any side effect of setting these sysctls by default that I am not aware of? cheers, Hiren > I am setting all the things from 0x01 to 0x17 as acpi_ibm(4) manpage > says although I do not know exact mapping for T420 that I am using. > > I am poking in acpi_ibm_eventhandler() to see what events its getting > when I press different keys. > > Interesting part is that it is generating and catching brightness > increase/decrease and thinklight events but volume increase/decrease > and mute button is not even generating any events. Are those being > intercepted by something else? probably sound drivers? > > Also, all the interesting bits on my T420 looks like this: > > $ sysctl dev.acpi_ibm.0 > dev.acpi_ibm.0.%desc: IBM ThinkPad ACPI Extras > dev.acpi_ibm.0.%driver: acpi_ibm > dev.acpi_ibm.0.%location: handle=\_SB_.PCI0.LPC_.EC__.HKEY > dev.acpi_ibm.0.%pnpinfo: _HID=LEN0068 _UID=0 > dev.acpi_ibm.0.%parent: acpi0 > dev.acpi_ibm.0.initialmask: 2060 > dev.acpi_ibm.0.availmask: 134217727 > dev.acpi_ibm.0.events: 1 > dev.acpi_ibm.0.eventmask: 134217727 > dev.acpi_ibm.0.hotkey: 1331 > dev.acpi_ibm.0.lcd_brightness: 7 > dev.acpi_ibm.0.volume: 10 > dev.acpi_ibm.0.mute: 0 > dev.acpi_ibm.0.thinklight: 0 > dev.acpi_ibm.0.bluetooth: 0 > dev.acpi_ibm.0.wlan: 1 > dev.acpi_ibm.0.fan_speed: 65535 > dev.acpi_ibm.0.fan_level: 0 > dev.acpi_ibm.0.fan: 1 > dev.acpi_ibm.0.handlerevents: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 > 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x13 0x15 0x16 0x17 > > I am unclear in the sense that how all different components like devd, > acpi_ibm and sound drivers work together. > > Puzzling journey continues :-) > > cheers, > Hiren > >> >> From the manpage, it seems, this tunable enables ACPI events and set >> the eventmask to availmask. >> >> where eventmask is how things are laid out specific to your hardware >> and availmask is what all you want to intercept by acpi_ibm. >> >> Is this a correct assumption or I am completely off the track here? >> >> Also, I am trying to find out pin layout for T420 and T520 as >> acpi_ibm(4) lists for T41p. If someone can help me find it, that will >> be awesome. >> >> Thanks in advance, >> Hiren >> >>>> >>>> Sean, >>>> >>>> I'm confused. I also have a T520, but the Fn key does not seem to >>>> mis-behave on it at all. I have not gotten brightness adjustment to >>>> work correctly to this point, but Fn has never triggered a power >>>> operation for me. Your statement about acpi_ibm(4) is also baffling as >>>> I have no problems with it with 9.1-Stable or head. It was broken in >>>> some earlier versions before the Lenovo ID was added. >>>> >>>> Does your ThinkLight turn on and off if you set >>>> dev.acpi_ibm.0.thinklight? When you press Fn+PgUp? Both work on my >>>> T520. >>>> >>>> Perhaps I am not completely understanding the issue. >>>> >>>> -- >>>> R. Kevin Oberman, Network Engineer >>>> E-mail: rkoberman@gmail.com >>> >>> >>> On my T520, I do not need acpi_ibm(4) for the thinklight to function. >>> It works with/without the module loaded. >>> >>> Hiren and I found adding this to the driver section of xorg.conf allows >>> the fn-brightness keys to work: >>> Option "RegistryDwords" "EnableBrightnessControl=1" >>> >>> The audio "mute" button actually seems to be working through the sound >>> driver. >>> >>> The fn key seems to generate an unhandled APIC0 event, that is processed >>> somewhere as a shutdown event. I'm using XFCE4 as my desktop and all >>> the parts that come with it. >>> >>> Sean >>>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALCpEUFkQ9KVC1poJqOphnfaqwP3RGyd7wi8HxT4=frqa07x3w>