List Info

Thread: ThinkPad X61s functions keys




ThinkPad X61s functions keys
country flaguser name
United States
2008-03-28 11:43:24
Hi,

Running FreeBSD 7.0-RELEASE on a ThinkPad X61s.

Some keys do not work:

- volume adjustment
- screen brightness (FN HOME, FN END)

The keyboard light does work (FN-PgUp) as does
Numeric Lock (FN ScrLk).

What can I do to help diagnose the issue so we can get
these
functions working?

-- 
Dan Langille -- http://www.langille.org/

danlangille.org




_______________________________________________
freebsd-mobilefreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile

To unsubscribe, send any mail to
"freebsd-mobile-unsubscribefreebsd.org"

Re: ThinkPad X61s functions keys
country flaguser name
United States
2008-03-29 08:37:25
Alberto Rizzi wrote:
> Dan Langille ha scritto:
>> Hi,
>>
>> Running FreeBSD 7.0-RELEASE on a ThinkPad X61s.
>>
>> Some keys do not work:
>>
>> - volume adjustment
>> - screen brightness (FN HOME, FN END)
>>
>> The keyboard light does work (FN-PgUp) as does
>> Numeric Lock (FN ScrLk).
>>
>> What can I do to help diagnose the issue so we can
get these
>> functions working?
>>
> Have the same problem with a Thinkpad T61
> If you read man acpi_ibm there is a partial solution
> 
> You have to load acpi_ibm at boot. Add
> acpi_ibm_load="YES"
> to /boot/loader.conf

$ kldstat
Id Refs Address            Size     Name
  1   10 0xffffffff80100000 ac6c08   kernel
  2    1 0xffffffff80bc7000 1a670    snd_hda.ko
  3    2 0xffffffff80be2000 673b8    sound.ko
  4    1 0xffffffff80c4a000 53d0     acpi_ibm.ko
  5    1 0xffffffffb1694000 4b61     i915.ko
  6    1 0xffffffffb1699000 d5d8     drm.ko


> Then activate event passing to devd. Add
> dev.acpi_ibm.0.events=1
> to /etc/sysctl.conf

$ sysctl dev.acpi_ibm.0.events
dev.acpi_ibm.0.events: 1


> 
> Then tell devd that you want to get events. Add
> notify 10 {
>     match "system"        "ACPI";
>     match "subsystem"     "IBM";
>     action "/usr/local/sbin/acpi_oem_exec.sh
$notify ibm";

It seems that this script is never invoked.

> }
> 
> to /etc/devd.conf
> 
> Now you have to create that script
> ----------
> #!/bin/sh
> NOTIFY=`echo $1`
> ECHO="echo"
> CALC="bc"
> 
> case $ in
>     0x10)
>         LEVEL=`sysctl -n
dev.acpi_ibm.0.lcd_brightness`
>         PERCENT=`$ "$ + 1" |
$`
>         MESSAGE="brightness level
$"
>         sysctl
dev.acpi_ibm.0.lcd_brightness=$
>         ;;
>     0x11)
>         LEVEL=`sysctl -n
dev.acpi_ibm.0.lcd_brightness`
>         PERCENT=`$ "$ - 1" |
$`
>         MESSAGE="brightness level
$"
>         sysctl
dev.acpi_ibm.0.lcd_brightness=$
>         ;;
>     *)
>         ;;
> esac
> echo `date` >> /tmp/prova
> $ $ $ $ >>
/tmp/prova
> exit 0   
> 
> -------
> If you leave the last two debug line, with a tail -f
/tmp/prova you can 
> check the events sent to devd.

Nothing hits /tmp/prova

I ran this loop while pressing keys:

while true; do clear; sysctl dev.acpi_ibm.0; date; sleep 1;
done

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=IBM0068 _UID=0
dev.acpi_ibm.0.%parent: acpi0
dev.acpi_ibm.0.initialmask: 2060
dev.acpi_ibm.0.availmask: 16777215
dev.acpi_ibm.0.events: 0
dev.acpi_ibm.0.eventmask: 2060
dev.acpi_ibm.0.hotkey: 3491
dev.acpi_ibm.0.lcd_brightness: 0
dev.acpi_ibm.0.volume: 7
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: 3815
dev.acpi_ibm.0.fan_level: 0
dev.acpi_ibm.0.fan: 1
dev.acpi_ibm.0.thermal: 41 47 47 38 33 -1 30 -1
Sat Mar 29 09:30:09 EDT 2008


I can get dev.acpi_ibm.0.thinklight to change when turning
off/on the think 
light.

I can get dev.acpi_ibm.0.hotkey to change between two
values: 2467 and 3491

That's it.  Nothing else.

> With this script you can change the brightness both
under console and 
> under xorg but you are bound to 8 levels (0 - 7)
> If you want 100 levels you can use xbacklight under
xorg only and modify 
> the script to use xbacklight instead of sysctl
> 
> Mute and volume keys don't send events to devd: I don't
know why but if 
> I press mute it works and dev.acpi_ibm.0.mute becomes
1
> If I press volume up or down, dev.acpi_ibm.0.mute
becomes 0

_______________________________________________
freebsd-mobilefreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile

To unsubscribe, send any mail to
"freebsd-mobile-unsubscribefreebsd.org"

Re: ThinkPad X61s functions keys
country flaguser name
United States
2008-03-29 12:29:42
Richard Kolkovich wrote:
> On Fri, Mar 28, 2008 at 12:43:24PM -0400, Dan Langille
wrote:
>> Hi,
>>
>> Running FreeBSD 7.0-RELEASE on a ThinkPad X61s.
>>
>> Some keys do not work:
>>
>> - volume adjustment
>> - screen brightness (FN HOME, FN END)
>>
>> The keyboard light does work (FN-PgUp) as does
>> Numeric Lock (FN ScrLk).
>>
>> What can I do to help diagnose the issue so we can
get these
>> functions working?
>>
>> -- 
>> Dan Langille -- http://www.langille.org/

>> danlangille.org
>>
> 
> Dan,
> 
> FWIW, my T43p has never required any special treatment
in FreeBSD or Linux for
> the volume adjustment, brightness adjustment or
thinklight keys to work.  Granted,
> without acpi_ibm I cannot control those things via
software.
> 

With my T41, acpi_ibm was all I needed.

_______________________________________________
freebsd-mobilefreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile

To unsubscribe, send any mail to
"freebsd-mobile-unsubscribefreebsd.org"

Re: ThinkPad X61s functions keys
country flaguser name
United States
2008-03-29 11:20:36
On Fri, Mar 28, 2008 at 12:43:24PM -0400, Dan Langille
wrote:
> Hi,
> 
> Running FreeBSD 7.0-RELEASE on a ThinkPad X61s.
> 
> Some keys do not work:
> 
> - volume adjustment
> - screen brightness (FN HOME, FN END)
> 
> The keyboard light does work (FN-PgUp) as does
> Numeric Lock (FN ScrLk).
> 
> What can I do to help diagnose the issue so we can get
these
> functions working?
> 
> -- 
> Dan Langille -- http://www.langille.org/

> danlangille.org
> 

Dan,

FWIW, my T43p has never required any special treatment in
FreeBSD or Linux for
the volume adjustment, brightness adjustment or thinklight
keys to work.  Granted,
without acpi_ibm I cannot control those things via
software.

-- 

Richard Kolkovich
sarumontsigil.org


_______________________________________________
freebsd-mobilefreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile

To unsubscribe, send any mail to
"freebsd-mobile-unsubscribefreebsd.org"

Re: ThinkPad X61s functions keys
country flaguser name
United States
2008-04-13 10:45:19
Elsewhere in this thread I had stated I'd solved the
problem.  I'm 
posting the details here.

Alberto Rizzi wrote:
> Dan Langille ha scritto:
>> Hi,
>>
>> Running FreeBSD 7.0-RELEASE on a ThinkPad X61s.
>>
>> Some keys do not work:
>>
>> - volume adjustment
>> - screen brightness (FN HOME, FN END)
>>
>> The keyboard light does work (FN-PgUp) as does
>> Numeric Lock (FN ScrLk).
>>
>> What can I do to help diagnose the issue so we can
get these
>> functions working?
>>
> Have the same problem with a Thinkpad T61
> If you read man acpi_ibm there is a partial solution
> 
> You have to load acpi_ibm at boot. Add
> acpi_ibm_load="YES"
> to /boot/loader.conf

This is loaded:

$ kldstat
Id Refs Address            Size     Name
  1   15 0xffffffff80100000 ac6c08   kernel
  2    1 0xffffffff80bc7000 39138    linux.ko
  3    1 0xffffffff80c01000 7108     if_tap.ko
  4    1 0xffffffff80c09000 1a670    snd_hda.ko
  5    2 0xffffffff80c24000 673b8    sound.ko
  6    1 0xffffffff80c8c000 53d0     acpi_ibm.ko
  7    1 0xffffffffb16e4000 4b61     i915.ko
  8    1 0xffffffffb16e9000 d5d8     drm.ko


> 
> Then activate event passing to devd. Add
> dev.acpi_ibm.0.events=1
> to /etc/sysctl.conf

I cannot get this set to 1 after boot:

$ grep ibm /etc/sysctl.conf
dev.acpi_ibm.0.events=1

$ sysctl dev.acpi_ibm.0.events
dev.acpi_ibm.0.events: 0

Under these circumstances, the keys will not work.  If I
manually set 
the events flag:

$ sudo sysctl dev.acpi_ibm.0.events=1
Password:
dev.acpi_ibm.0.events: 0 -> 1
$ sysctl dev.acpi_ibm.0.events
dev.acpi_ibm.0.events: 1


Then the brightness keys start working

> 
> Then tell devd that you want to get events. Add
> notify 10 {
>     match "system"        "ACPI";
>     match "subsystem"     "IBM";
>     action "/usr/local/sbin/acpi_oem_exec.sh
$notify ibm";
> }

This was the missing key.  The last line needs a trailing ;

Once I added that in, things started working.

> 
> to /etc/devd.conf
> 
> Now you have to create that script
> ----------
> #!/bin/sh
> NOTIFY=`echo $1`
> ECHO="echo"
> CALC="bc"
> 
> case $ in
>     0x10)
>         LEVEL=`sysctl -n
dev.acpi_ibm.0.lcd_brightness`
>         PERCENT=`$ "$ + 1" |
$`
>         MESSAGE="brightness level
$"
>         sysctl
dev.acpi_ibm.0.lcd_brightness=$
>         ;;
>     0x11)
>         LEVEL=`sysctl -n
dev.acpi_ibm.0.lcd_brightness`
>         PERCENT=`$ "$ - 1" |
$`
>         MESSAGE="brightness level
$"
>         sysctl
dev.acpi_ibm.0.lcd_brightness=$
>         ;;
>     *)
>         ;;
> esac
> echo `date` >> /tmp/prova
> $ $ $ $ >>
/tmp/prova
> exit 0   
> 
> -------
> If you leave the last two debug line, with a tail -f
/tmp/prova you can 
> check the events sent to devd.
> 
> With this script you can change the brightness both
under console and 
> under xorg but you are bound to 8 levels (0 - 7)
> If you want 100 levels you can use xbacklight under
xorg only and modify 
> the script to use xbacklight instead of sysctl
> 
> Mute and volume keys don't send events to devd: I don't
know why but if 
> I press mute it works and dev.acpi_ibm.0.mute becomes
1
> If I press volume up or down, dev.acpi_ibm.0.mute
becomes 0

Using the Fn key and pressing the F1-F12 keys, I get the
following log 
entrys in /tmp/prova:
Sun Apr 13 11:39:48 EDT 2008
0x01
Sun Apr 13 11:39:48 EDT 2008
0x02
Sun Apr 13 11:39:49 EDT 2008
0x03
Sun Apr 13 11:39:50 EDT 2008
0x05
Sun Apr 13 11:39:50 EDT 2008
0x06
Sun Apr 13 11:39:50 EDT 2008
0x07
Sun Apr 13 11:39:54 EDT 2008
0x08
Sun Apr 13 11:39:54 EDT 2008
0x09
Sun Apr 13 11:39:55 EDT 2008
0x0b
Sun Apr 13 11:39:55 EDT 2008
0x0c


Note the following exceptions which can be observed from the
above log 
entries:

Fn-F4 - sleep: does not give any log entry
Fn-F10 - unlabelled on the keyboard, gives no log entry

Other Fn key results:

SysReq - no log entry, no effect seen
NumLk - no log entry but system goes into NumLock mode
Pause - no log entry, no effect seen
ThinkLight - works, and creates a log entry 0x12
Spacebar - create log entry 0x14


_______________________________________________
freebsd-mobilefreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile

To unsubscribe, send any mail to
"freebsd-mobile-unsubscribefreebsd.org"

[1-5]

about | contact  Other archives ( Real Estate discussion Medical topics )