2010年7月15日木曜日

ThinkPad X301 のLED制御

仕事仲間から教わったのですが、ThinkPad の各種LEDは /proc/acpi/ibm/led から制御できるらしく、少し調べてみました。
# cat /etc/redhat-release 
Fedora release 13 (Goddard)
# cat /proc/acpi/ibm/led 
status:         supported
commands:        on,  off,  blink ( is 0-15)
つまりは、この /proc/acpi/ibm/led に、"0 blink" などの文字列を書き込めばいいということがわかります。0~15 までの数字で、どの LED かを指定するようです。それで、
# for i in `seq 0 15`; do echo $i; echo $i blink > /proc/acpi/ibm/led; done
とやってみると、電源ボタンの LED (白) とその隣のサスペンド LED (緑) が点滅を始めることが確認できました。対応する LED 番号は、それぞれ 0 と 7 です。残念ですが、ThinkVantage ボタンの LED (青) には変化ありませんでした・・・(-.- 残念。ドライバのソースを見てみると、
   5019 static const char * const tpacpi_led_names[TPACPI_LED_NUMLEDS] = {
   5020         /* there's a limit of 19 chars + NULL before 2.6.26 */
   5021         "tpacpi::power",
   5022         "tpacpi:orange:batt",
   5023         "tpacpi:green:batt",
   5024         "tpacpi::dock_active",
   5025         "tpacpi::bay_active",
   5026         "tpacpi::dock_batt",
   5027         "tpacpi::unknown_led",
   5028         "tpacpi::standby",
   5029         "tpacpi::dock_status1",
   5030         "tpacpi::dock_status2",
   5031         "tpacpi::unknown_led2",
   5032         "tpacpi::unknown_led3",
   5033         "tpacpi::thinkvantage",
   5034 };
   5035 #define TPACPI_SAFE_LEDS        0x1081U
"drivers/platform/x86/thinkpad_acpi.c"
というように ThinkVantage ボタンの LED には、12 が割り当てられているようなのですが、
# echo 12 on > /proc/acpi/ibm/led
とやっても反応なしでした。ボタンだという違いがあるので、光るためには、さらに条件が必要なのだろうか。ねむいので、また今度調べてみます。

1 件のコメント:

  1. Would love to have ThinkVantage LED working too.
    I remember that I had it working once. Don’t remember how, hence I was googling.

    返信削除

人気ブログランキングへ にほんブログ村 IT技術ブログへ