気まぐれSE日記

地方でエンジニアしてます

ivtvドライバアップデート

自宅のVineサーバなんですが、
kernel 2.6.16.16 だと GV-MVP-RXがぱ研さんのivtvドライバ(0.6_svn3233-paken060421)で動作せず、
kernel 2.6.16.17 に更新したところ、問題なく動作しました。


何だったんだろう。

2.6.16.16だとivtvのドライバ組み込んだ後のログを見ると、
i2c addr 0x21 not found for command とあるので、i2cっていうやつが問題らしい。


ivtv: ==================== START INIT IVTV ====================
ivtv: version 0.6.2 (development snapshot compiled on 2006年05月21日 19時56分17秒) loading
ivtv: Linux version: 2.6.16.16 SMP K8 REGPARM gcc-3.3
ivtv: In case of problems please include the debug info between
ivtv: the START INIT IVTV and END INIT IVTV lines, along with
ivtv: any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected I/O Data GV-MVP/RX / GV-MVP/RX2W(dual tuner) card (cx23416 based)
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
tuner 4-0060: All bytes are equal. It is not a TEA5767
tuner 4-0060: chip found @ 0xc0 (ivtv i2c driver #0)
tda9887 4-0043: chip found @ 0x86 (ivtv i2c driver #0)
upd64031a 4-0012: chip found @ 0x24 (ivtv i2c driver #0)
upd64083 4-005c: chip found @ 0xb8 (ivtv i2c driver #0)
upd64083 4-005c: selected card type 4
tvaudio 4-005b: GV-MVP/RX* tvaudio chip found @ 0xb6 (ivtv i2c driver #0)
wm8739 4-001a: chip found @ 0x34 (ivtv i2c driver #0)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02050032
ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)
ivtv0: Allocate DMA encoder YUV stream: 194 x 10800 buffers (2048KB total)
ivtv0: Allocate DMA encoder VBI stream: 120 x 17472 buffers (2048KB total)
ivtv0: Allocate DMA encoder PCM audio stream: 455 x 4608 buffers (2048KB total)
tuner 4-0060: type set to 46 (Panasonic VP27s/ENGE4324D)
ivtv0: i2c addr 0x21 not found for command 0x40045613!
ivtv0: i2c addr 0x21 not found for command 0xc0045627!
ivtv0: i2c addr 0x21 not found for command 0x40045612!
ivtv0: i2c addr 0x21 not found for command 0x40045613!
ivtv0: i2c addr 0x21 not found for command 0x40045612!
ivtv0: Initialized I/O Data GV-MVP/RX / GV-MVP/RX2W(dual tuner), card #0
ivtv: ==================== END INIT IVTV ====================

i2c not foundが出てる場合は、カード自体が動作しない。
mplayer /dev/video0 とかしても全く映像は出ないです。

kernel を 2.6.16.17にしたところ、i2cのエラーはでなくなり解決。
無事にキャプチャが動作します。

はまっている場合はお試しあれ。


はまったこと

カーネルのバージョンによっては動作したりしなかったりします。
このへんは上記に書いたとおり、いろいろ試して安定動作するカーネルとドライバの
組み合わせを探してみてください。

カーネルとivtvドライバの更新後、ivtv用のファームウェアの置き場が変わったらしく
それを知らないで、再起動したらLinuxの起動途中でハングしましたので、注意が必要です。

起動途中で死んでしまうので、パニックに陥りやすいですが、
KNOPPIXのCDを持っていれば復旧が楽ですよ。


一応、本家にやり方が書いてあるのでそれを参考にしてください。
http://ivtvdriver.org/index.php/Firmware


うちの環境では、ファームウェアを /lib/firmware の下に置いたらうまくいきました。


参考:
ぱ研さんドライバ置き場?
http://linux.paken.org/index.php?CX23416GYC-STVLP%A4%CE%B2%F2%C0%CF
FEDORA CORE で GV-MVP/RX を使う
http://linux.matchy.net/FedoraGV-MVPRX.html