Red Hat Linux 9 のカーネルを 2.4.26-pre2 に.
kernel.org
から linux-2.4.25.tar.bz2
と 2.4.26-pre2 へのパッチ patch-2.4.26-pre2.bz2
をダウンロード.
本体を展開し,シンボルリンクを新しく張り直して,パッチをあてる.
# cd /usr/src # rm linux # rm linux-2.4 # tar jxvf linux-2.4.25.tar.bz2 # mv linux-2.4.25 linux-2.4.26-pre2 # ln -s linux-2.4.26-pre2 linux # ln -s linux-2.4.26-pre2 linux-2.4 # cd linux-2.4.26-pre2 # bzcat patch-2.4.26-pre2.bz2 | patch -p1
ELSA EX-VISION 500TV
を使うために,
bytesex.org
で配布されている
v4l2
のパッチ
patch-2.4.25-rc1-kraxel.gz
をあてる.
# cd /usr/src/linux # zcat patch-2.4.25-rc1-kraxel.gz | patch -p1
なお,カーネルにパッチをあてるのではなく,カーネルをコンパイルした後で
video4linux-20040305.tar.gz
を追加する方法を試してみたが,
saa7134.o が Unresolved Symbols
を吐いてモジュールが組み込めなかった.
このままだと TV から音が出なかったり,
プログラムを終了しても音が出たままだったりと問題があるので,
Linux でビデオ録画 の 601 と 641 に従って
saa7134-cards.c
を修正する.
# cd /usr/src/linux/drivers/media/video
# cp saa7134-cards.c saa7134-cards.orig.c
# vi saa7134-cards.c
# diff -c saa7134-cards.orig.c saa7134-cards.c
*** saa7134-cards.orig.c 2004-03-13 18:32:50.000000000 +0900
--- saa7134-cards.c 2004-03-13 18:34:34.000000000 +0900
***************
*** 496,509 ****
},{
.name = name_tv,
.vmux = 8,
- .amux = TV,
- .tv = 1,
- },{
- .name = name_tv_mono,
- .vmux = 8,
.amux = LINE2,
.tv = 1,
}},
},
[SAA7134_BOARD_ASUSTeK_TVFM7134] = {
.name = "ASUS TV-FM 7134",
--- 496,508 ----
},{
.name = name_tv,
.vmux = 8,
.amux = LINE2,
.tv = 1,
}},
+ .mute = {
+ .name = name_mute,
+ .amux = TV,
+ },
},
[SAA7134_BOARD_ASUSTeK_TVFM7134] = {
.name = "ASUS TV-FM 7134",
ついでに UHF の受信も可能にするため,
Linux でビデオ録画 の 918 に従って
tuner.c も修正.
しかし,私の環境ではこの修正をしても UFH は受信できなかった.
# cp tuner.c tuner.orig.c
# vi tuner.c
# diff -c tuner.orig.c tuner.c
*** tuner.orig.c 2004-03-13 18:34:52.000000000 +0900
--- tuner.c 2004-03-13 18:35:17.000000000 +0900
***************
*** 229,235 ****
16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,732},
{ "HITACHI V7-J180AT", HITACHI, NTSC,
! 16*170.00, 16*450.00, 0x01,0x02,0x00,0x8e,940 },
{ "Philips PAL_MK (FI1216 MK)", Philips, PAL,
16*140.25,16*463.25,0x01,0xc2,0xcf,0x8e,623},
{ "Philips 1236D ATSC/NTSC daul in",Philips,ATSC,
--- 229,235 ----
16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,732},
{ "HITACHI V7-J180AT", HITACHI, NTSC,
! 16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,940 },
{ "Philips PAL_MK (FI1216 MK)", Philips, PAL,
16*140.25,16*463.25,0x01,0xc2,0xcf,0x8e,623},
{ "Philips 1236D ATSC/NTSC daul in",Philips,ATSC,
次に make menuconfig などを利用して
.config を作成.
Video4Linux のためには以下を有効にしておく.
CONFIG_I2C=m CONFIG_VIDEO_DEV=m CONFIG_VIDEO_SAA7134=m
他の項目は適当に答えておく.
.configを作成したら,コンパイル & インストール.
# make dep clean bzImage modules modules_install install
make install で
/boot/grub/grub.conf
に新しいカーネルの設定が追加されるが,
root=LABEL=/
を削除する.これを残しておくと,カーネルが起動時に /
パーティッションを発見できずにカーネルパニックを起こしてしまう.
/etc/modules.conf
に Video4Linux の設定をする.
alias char-major-81 videodev alias char-major-81-0 ssa7134 options tvaudio tda9840=0 ta8874z=1 options tuner type=40 options saa7134 card=15
これで xawtv などのプログラムを起動時に
自動でモジュールを組み込んで欲しいのだが,
うまくいかないので OS 起動時に強制的に組み込む.
/etc/rc.d/rc.local に以下を追加.
modprobe tvaudio tda9840=0 ta8874z=1 modprobe saa7134 card=15 chmod 666 /dev/video0 /dev/audio /dev/dsp /dev/mixer
tvaudio は,音声をステレオにするための設定.card=15 は,ELSA EX-VISION 500TV のカード番号.chmod は,
リモートログインした場合でもキャプチャができるように,
強制的に全ユーザに読み書きを許可させるための設定.
( デフォルトでは,600 で,root
のみが読み書きできる.なお,普通にログインした場合は,
一般ユーザも読み書きできるように属性が変更される )
viusulce@hotmail.com
Last modified: Mon Mar 29 22:30:32 JST 2004