LS-GL ハックキット 2.0 電源が落ちない

LS-GL

ファームウェアが 1.11 になったことだし、 Movable Type もバージョンアップしたことだし(ん?) LS-GL にハックキットをきれいにいれ直す。

と、クリーンインストールしたら、 電源ボタン長押しで電源が落ちなくなった。
ファームウェア 1.11 は何か変った?

復習:電源ボタン長押しで電源が落ちる仕組み

電源ボタン長押しで電源が落ちる仕組みを復習しておく。

/usr/local/sbin/kernelmon は /proc/driver/kernevnt を監視し、 その内容を /usr/local/bin/kernelmon_exec.sh に渡している。
kernelmon_exec.sh は、
・/proc/driver/kernevnt の第一フィールドが micon_interrupts であれば、
・miconapl -a int_get_switch_status |grep "int=" |sed -e "s/int=//" を実行し、
・その結果が power_sw なら /usr/local/bin/shutdown.sh normal を実行
・/usr/local/bin/shutdown.sh は shutdown -h now を実行

一つ一つトレースしていく

kernelmon → kernelmon_exec.sh の確認

kernelmon が kernelmon_exec.sh にちゃんと渡しているかを確認するため、 kernelmon_exec.sh を修正し、引数がわたってきているかを見る。

まずは、kernelmon_exec.sh のコピー

ude:/usr/local/bin# cd
ude:~# cd /usr/local/bin
ude:/usr/local/bin# ls
kernelmon_exec.sh
ude:/usr/local/bin# mv kernelmon_exec.sh kernelmon_exec.sh.orig
ude:/usr/local/bin# cp kernelmon_exec.sh.orig kernelmon_exec.sh
ude:/usr/local/bin# ls -l kernelmon_exec.sh*
-rwxr-xr-x 1 root staff 1889 Aug 15 08:17 kernelmon_exec.sh
-rwxr-xr-x 1 root staff 1889 Aug 14 16:54 kernelmon_exec.sh.orig
ude:/usr/local/bin#
引数を /tmp/kernelmon.log に出力するよう kernelmon_exec.sh を修正する。
ude:/usr/local/bin# vi kernelmon_exec.sh
	:
	:
ude:/usr/local/bin# diff -c kernelmon_exec.sh.orig kernelmon_exec.sh
*** kernelmon_exec.sh.orig      Tue Aug 14 16:54:53 2007
--- kernelmon_exec.sh   Wed Aug 15 08:19:23 2007
***************
*** 3,8 ****
--- 3,10 ----
  # called from kernelmon
  #

+ echo $1 >> /tmp/kernelmon.log
+
  if [ "$1" = "" ]; then
    exit 1
  fi
ude:/usr/local/bin# ls -l /tmp
total 0
ude:/usr/local/bin#
/tmp にファイルはない。

電源ボタンを押してみる。

4秒程押してみたが、、、

ude:/usr/local/bin# ls -l /tmp
total 0
ude:/usr/local/bin# 
ログは出力されない。
ということは、kernelmon ?

kernelmon の確認

ude:/usr/local/bin# cd /usr/local/sbin/
ude:/usr/local/sbin# ls
fancontrol  kernelmon  miconapl  mkimage
ude:/usr/local/sbin# mv kernelmon kernelmon.orig
ude:/usr/local/sbin# cp kernelmon.orig kernelmon
ude:/usr/local/sbin# ls -l kernelmon*
-rwxr-xr-x 1 root staff 165 Aug 15 08:23 kernelmon
-rwxr-xr-x 1 root root  165 Dec  6  2006 kernelmon.orig
ude:/usr/local/sbin# vi kernelmon
	:
ude:/usr/local/sbin# diff -c kernelmon.orig kernelmon
*** kernelmon.orig      Wed Dec  6 19:47:08 2006
--- kernelmon   Wed Aug 15 08:24:40 2007
***************
*** 6,12 ****
     while :
     do
       LINE=`cat /proc/buffalo/kernevnt`
!      #echo "line [$LINE]"
       /usr/local/bin/kernelmon_exec.sh $LINE
     done
  done
--- 6,12 ----
     while :
     do
       LINE=`cat /proc/buffalo/kernevnt`
!      echo "line [$LINE]"
       /usr/local/bin/kernelmon_exec.sh $LINE
     done
  done
ude:/usr/local/sbin#
kernelmon を再起動する。
ude:/usr/local/sbin# /etc/init.d/kernelmon stop
Stop kernelmon:/etc/init.d/kernelmon: line 20: killall: command not found
done.
ude:/usr/local/sbin#
がー。
ude:/usr/local/sbin# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.4  0.4   1896   624 ?        S    08:06   0:04 init [2]
	     :
	     :
root       576  0.0  0.9   2656  1180 ?        S    08:06   0:00 /bin/sh /usr/local/sbin/kernelmon
	     :
	     :
root       719  0.0  0.2   1436   360 ?        S    08:07   0:00 cat /proc/buffalo/kernevnt
	     :
	     :
root       826  0.0  0.6   2220   868 pts/0    R+   08:26   0:00 ps aux
ude:/usr/local/sbin# kill 576 719
ude:/usr/local/sbin# sh kernelmon
電源ボタンを押してみる。。。。。
無反応(汗)

LS-160GL
楽天市場
Amazon
Yahoo!ショッピング
ソフマップ
ツクモネットショプ
livedoor デパート
ドスパラ


LS-GL ハックキット 2.0 最初の設定
ハックの記録
LinkStation/玄箱 をハックしよう

LS-GL ハックキット 2.0 電源が落ちない(2)

Copyright (C) 2003-2007 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市