HS-DGL!:5分で落ちるハックキット(2)


ハックキット 2.0 をインストールした HS-DGL! が ちゃんと ppc_uartd が動作しているのにもかかわらず5分で 落ちる症状を調べている。

ファームウェア 1.52 では?

ファームウェア 1.52 をインストールしたフラッシュと ファームウェア 1.52 の image.dat を使用して ハックキット 2.0 をインストールした。
-bash-2.05b$ uname -a
Linux hackkit 2.4.20_mvl31-ppc_linkstation #1 Fri, 17 Mar 2006 11:59:31 +0900 ppc unknown
-bash-2.05b$ last
yasunari pts/0        192.168.1.27     Sun Oct  8 06:33   still logged in
reboot   system boot  2.4.20_mvl31-ppc Sun Oct  8 06:32          (00:00)
reboot   system boot  2.4.20_mvl31-ppc Sun Oct  8 06:26          (00:06)
reboot   system boot  2.4.20_mvl31-ppc Sat Oct  7 23:47          (00:04)
reboot   system boot  2.4.20_mvl31-ppc Sat Oct  7 23:41          (00:10)
yasunari pts/0        192.168.1.27     Sat Oct  7 23:37 - crash  (00:04)
reboot   system boot  2.4.20_mvl31-ppc Sat Oct  7 23:36          (00:16)

wtmp begins Sat Oct  7 23:36:03 2006
1.52 では、4〜5分毎に reboot している。

ファームウェア 1.51β1 と 1.52 との違い

さて、1.51β1 と 1.52 との違いがわかれば 対応方法が判るかな。
[root@giga tmp]# ls -l  hsd*/usr/sbin/ppc_uartd
-rwxr-xr-x    1 root     root        17030 Jun 20  2005 hsd151b1/usr/sbin/ppc_uartd*
-rwxr-xr-x    1 root     root        18971 Apr  3  2006 hsd152/usr/sbin/ppc_uartd*
[root@giga tmp]# ls -l hsd*/etc/init.d/ppc_uartd
-rwxr-xr-x    1 root     root          848 Jan 20  2005 hsd151b1/etc/init.d/ppc_uartd*
-rwxr-xr-x    1 root     root          852 Dec 19  2005 hsd152/etc/init.d/ppc_uartd*
[root@giga tmp]# diff -c hsd*/etc/init.d/ppc_uartd
*** hsd151b1/etc/init.d/ppc_uartd       2005-01-20 18:11:26.000000000 +0900
--- hsd152/etc/init.d/ppc_uartd 2005-12-19 20:58:56.000000000 +0900
***************
*** 15,25 ****
  start()
  {
        echo "Start services: ppc_uartd"
!       if [ "$server" = "on" ] ; then
!               /sbin/start-stop-daemon --start --quiet --exec /usr/sbin/ppc_uartd -- -p 1
!       else
                /sbin/start-stop-daemon --start --quiet --exec /usr/sbin/ppc_uartd
!       fi
        logger -t ${tag} -p ${facility} -i 'Started ppc_uartd'
  }

--- 15,25 ----
  start()
  {
        echo "Start services: ppc_uartd"
!       #if [ "$server" = "on" ] ; then
!       #       /sbin/start-stop-daemon --start --quiet --exec /usr/sbin/ppc_uartd -- -p 1
!       #else
                /sbin/start-stop-daemon --start --quiet --exec /usr/sbin/ppc_uartd
!       #fi
        logger -t ${tag} -p ${facility} -i 'Started ppc_uartd'
  }

[root@giga tmp]#
/etc/init.d/ppc_uartd の起動方法が変っているが、 標準ファームはこれで動いているのだから影響ないはず。

試しに 1.52 のハックキットで、1.51b1 の ppc_uartd を使ってみた。

[root@hackkit root]# cd /usr/sbin
[root@hackkit sbin]# ls -l ppc_uartd
-rwxr-xr-x    1 root     root        18971 Apr  3  2006 ppc_uartd*
[root@hackkit sbin]# mv ppc_uartd ppc_uartd.1.52
[root@hackkit sbin]# mv /tmp/ppc_uartd .
[root@hackkit sbin]# ls -l ppc_uartd*
-rw-r--r--    1 yasunari yamasita    17030 Oct  8 21:47 ppc_uartd
-rwxr-xr-x    1 root     root        18971 Apr  3  2006 ppc_uartd.1.52*
[root@hackkit sbin]# chmod 755 ppc_uartd
[root@hackkit sbin]# chown root.root ppc_uartd
[root@hackkit sbin]# /etc/rc.d/init.d/ppc_uartd stop
Stop services: ppc_uartd
[root@hackkit sbin]# /etc/rc.d/init.d/ppc_uartd start
Start services: ppc_uartd
しばらくして、、、やっぱり落ちた。

ppc_uartd が出すコマンドに違いがある?

ttyS1 を普通のファイルにして ppc_uartd が何を出しているか確認する。
[root@giga root]# mount -t ext3 /dev/sda1 /tmp/root
[root@giga root]# cd /tmp/root
[root@giga root]# cd dev
[root@giga dev]# mv ttyS1 ttyS1.orig
[root@giga dev]# touch ttyS1
[root@giga dev]# ls -l ttyS1
-rw-r--r--    1 root     root            0 Oct  8 22:26 ttyS1
[root@giga dev]# cd /
[root@giga /]# umount /tmp/root/
[root@giga /]#
この状態で HS-DGL! に接続、落ちるまで放置、ttyS1 の中身を見る。 標準ファームは、
[root@giga dev]# ls -l ttyS1
-rw-r--r--    1 root     root      6861664 Oct  8 22:32 ttyS1
[root@giga dev]# vi ttyS1
AAAAFFFFJJJJ>>>>VVVV>>>>VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
	:
VVVVZZZZ の繰り返し。ZZZZ って、ゆっくり点滅解除?

ハックキットは、

[root@giga dev]# ls -l ttyS1
-rw-r--r--    1 root     root      8834164 Oct  8 22:54 ttyS1
[root@giga dev]# vi ttyS1
AAAAFFFFJJJJ>>>>VVVV>>>>VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
VVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZVVVVZZZZ
	:
おなじ。絶対ここ違うと思ってたのに。


HS-DGL!:5分で落ちるハックキット
ハックの記録
LinkStation/玄箱 をハックしよう

HS-DGL!:5分で落ちるハックキット(3)

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