PC-MV7DX/U2 新ドライバ??


HD-HGLAN ファームウェア 1.51β1 を見た時、 /lib/modules/mv7dxu2_?.o というファイルが増えているのを見つけた。
HS-DGL ファームウェア 1.51β1 も見てみる。

HS-DGL ファームウェア 1.51β1 にもある?

HS-DGL ファームウェア 1.51β1 にも /lib/modules/mv7dxu2_?.o というファイルがあるかを確認する
[root@giga hs-dgl]# tar ztvf tmpimage.tgz ./lib/modules
drwxr-xr-x root/root         0 2006-01-26 19:25:15 ./lib/modules/
drwxr-xr-x root/root         0 2005-12-05 11:14:16 ./lib/modules/2.4.20_mvl31-ppc_linkstation/
	:
	:
-rw-r--r-- root/root     39572 2005-12-27 16:08:53 ./lib/modules/LSUVCD.o
-rwxr--r-- nobody/nobody 393404 2005-11-02 15:10:08 ./lib/modules/mv51dxu2.o
-rwxr--r-- nobody/nobody  25080 2005-11-02 15:10:08 ./lib/modules/video-buf.o
-rwxr--r-- nobody/nobody   9208 2005-11-02 15:10:08 ./lib/modules/videodev.o
-rw-r--r-- root/root       3412 2006-01-26 13:36:17 ./lib/modules/mv7dxu2_d.o
-rw-r--r-- root/root      31176 2006-01-26 13:36:18 ./lib/modules/mv7dxu2_0.o
-rw-r--r-- root/root      31296 2006-01-26 13:36:18 ./lib/modules/mv7dxu2_1.o
-rw-r--r-- root/root      31304 2006-01-26 13:36:19 ./lib/modules/mv7dxu2_2.o
-rw-r--r-- root/root      31304 2006-01-26 13:36:20 ./lib/modules/mv7dxu2_3.o
[root@giga hs-dgl]#
あるある。

どのようにロードされている?

モジュールがロードされているのは、 /etc/init.d/modutils のはず。
[root@giga hs-dgl]# cd etc/init.d/
[root@giga init.d]# grep insmod *
chk_env.sh:insmod /lib/modules/misc/as_info.o
modutils:#insmod /lib/modules/LSUVCD.o > /dev/null 2>&1
modutils:insmod /lib/modules/mv7dxu2_d.o > /dev/null 2>&1
modutils:insmod /lib/modules/mv7dxu2_0.o > /dev/null 2>&1
modutils:insmod /lib/modules/mv7dxu2_1.o > /dev/null 2>&1
modutils:insmod /lib/modules/mv7dxu2_2.o > /dev/null 2>&1
modutils:insmod /lib/modules/mv7dxu2_3.o > /dev/null 2>&1
modutils:insmod /lib/modules/video-buf.o
modutils:insmod /lib/modules/videodev.o
modutils:insmod /lib/modules/mv51dxu2.o
[root@giga init.d]# less modutils
	:

if [ ! -c /dev/usb/mv7dxu2_0 ]
then
        mknod /dev/usb/mv7dxu2_0 c 180 192
        mknod /dev/usb/mv7dxu2_1 c 180 208
        mknod /dev/usb/mv7dxu2_2 c 180 224
        mknod /dev/usb/mv7dxu2_3 c 180 240
fi

if [ ! -c /dev/video0 ]
then
        mknod /dev/video0 c 81 0
        mknod /dev/video1 c 81 1
        mknod /dev/video2 c 81 2
        mknod /dev/video3 c 81 3
fi

#insmod /lib/modules/LSUVCD.o > /dev/null 2>&1
insmod /lib/modules/mv7dxu2_d.o > /dev/null 2>&1
insmod /lib/modules/mv7dxu2_0.o > /dev/null 2>&1
insmod /lib/modules/mv7dxu2_1.o > /dev/null 2>&1
insmod /lib/modules/mv7dxu2_2.o > /dev/null 2>&1
insmod /lib/modules/mv7dxu2_3.o > /dev/null 2>&1

insmod /lib/modules/video-buf.o
insmod /lib/modules/videodev.o
insmod /lib/modules/mv51dxu2.o
	:
[root@giga init.d]#
LSUVCD.o は使われなくなり、 mv7dxu2_?.o が使われるようになったようだ。
デバイスファイルも、 ./dev/usb/LSUVC? が使われなくなり、 /dev/usb/mv7dxu2_? になったよう。

インストール

hackderokku.sh、hackderokkufiles を書き換え、
  • /lib/modules/mv7dxu2_*.o を展開する

  • 起動時に /lib/modules/mv7dxu2_*.o をロードする

  • ように修正、実行する
    [root@gawa tmp]# sh hackderokku.sh
    Archive:  /tmp/image.dat
      inflating: tmpimage.tgz
    ./etc/init.d/thttpd
    ./etc/init.d/apservd
    ./etc/init.d/pcastd
    	:
    /bin/tar: ./dev/usb/mv7dxu2_*: 書庫中に見つかりません
    /bin/tar: ./dev/video*: 書庫中に見つかりません
    /bin/tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました
    
    デバイスファイルは tmpimage.tgz に含まれないようだ。
  • hackderokku.sh でデバイスファイルを作る

  • ように修正し、再実行。

    HS-DGL! の再起動

    HS-DGL! を再起動する。

    確認

    モジュールがロードされているか確認する。
    [root@gawa root]# lsmod
    Module                  Size  Used by    Tainted: P
    mv51dxu2              644212   1
    video-buf              18848   0  [mv51dxu2]
    videodev                7696   1  [mv51dxu2]
    mv7dxu2_3              24624   0  (unused)
    mv7dxu2_2              24624   0  (unused)
    mv7dxu2_1              24608   0  (unused)
    mv7dxu2_0              24528   0
    mv7dxu2_d               2232   0  [mv7dxu2_3 mv7dxu2_2 mv7dxu2_1 mv7dxu2_0]
    [root@gawa root]#
    
    OK。

    PC-MV52DX/U2, PC-MV7DX/U2 が認識されているか確認する。

    [root@gawa root]# /usr/local/PCast/DbAcRap GetDeviceStatus
    GetDeviceStatus
    [START]GetDeviceStatus
    [DATA]Device=0 Status=WAIT
    [DATA]Device=1 Status=WAIT
    [DATA]Device=2 Status=NODEVICE
    [DATA]Device=3 Status=NODEVICE
    [FINISH]GetDeviceStatus
    [root@gawa root]#
    
    認識されているようだ。

    初期設定

    PCast の Web 画面から、 「初期設定」→「メディアサーバ設定 」、「チューナー設定」を実行する。

    PC-MV7DX/U2 の動作が安定するか、様子を見ることにする。




    ファイルを消した番組を PCast のリストから消す
    ハックの記録
    LinkStation/玄箱 をハックしよう

    PC-MV7DX/U2 新ドライバ??(2)

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