[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:31003] Re: Savage/IX-MV 上での bttv ドライバの不具合について



上野です。みなさまには大変お世話になっております。

> また通常bttvのドライバーは「bttv.o」が作成されるはずなのですが、「bttv2.o」になっていると
> すると「video4linux2」のドライバーなのではないでしょうか。
> もしそうであれば、Xのドライバーが新規に必要なのではないでしょうか。
> (「video4linux2」については、資料がないのでわかりませんが。)
> 

すみません、言うのを忘れていました。V4L2のドライバについてはカーネル付属のものではなく、
自分でtar玉をとってきてコンパイル後インストールしたものです。
紛らわしいこと書いてしまって申し訳ないです。

> まず、XF86Configには、
>        Section "Module"
>          ...
>          Load "v4l"
>        EndSection
> が必要です。
> 
> または、~/.xawtvに(「man xawtvrc」参照してみてください)
> 
> 	capture = grabdisplay
> 
> の設定をして動作させてみてはどうででしょうか。(動作が遅くなりCPUパワーを消費しますけど。)
> 
> 

とりあえずやってみました。まず /etc/modules.confから V4L2の項目をコメントアウトし、
次のようにしました。それと /etc/X11/XF86Config-4 にも Load "v4l" の項目を追加しました。
# i2c
alias   char-major-89   i2c-dev
options i2c-core        i2c_debug=1
options i2c-algo-bit    bit_test=1
#
# bttv
alias   char-major-81   videodev
alias   char-major-81-0 bttv
pre-install bttv        modprobe -k tuner
options bttv            bttv_debug=1 irq_debug=1 card=0 radio=1
options tuner           type=2 debug=0
#
# bttv2
#alias  char-major-81   videodevX
#alias  char-major-81-0 bttv2
#pre-install bttv2      modprobe -k tuner
#options        bttv2           bttv_debug=1 irq_debug=1 card=0 radio=1
#options        tuner           type=2 debug=0


そのあと、コンソールからXを立ち上げると、V4Lのドライバはきちんとロードされました。
結果は以下の通りです。
$ lsmod
Module                  Size  Used by    Not tainted
bttv                   60192   0  (autoclean)
tuner                   8036   1  (autoclean)
i2c-algo-bit            7052   1  (autoclean) [bttv]
i2c-core               12768   0  (autoclean) [bttv tuner i2c-algo-bit]
videodev                4544   3  (autoclean) [bttv]


アドバイスを参考にしまして .xawtv も以下のように作成しました。
# $HOME/.xawtv
# see `man xawtvrc`
#
[global]
#fullscreen= 640 x 480
fullscreen= 320 x 240
freqtab = japan-bcast
[defaults]
norm = NTSC
input = composite1
capture = grabdisplay


そして、xawtvを起動したのですがウィンドウは真っ黒でなにも映りませんでした。
メニューの Caputure を Overlay に変更すると以前を同じく
ノイズのはいったイメージが映し出されます。
/var/log/messages の結果も以下に示しておきます。

( Linuxのブート後、コンソールからXを起動。このとき V4Lドライバがロードされる )
Dec 15 21:16:12 kuro kernel: Linux video capture interface: v1.00
Dec 15 21:16:12 kuro kernel: i2c-core.o: i2c core module
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o: i2c bit algorithm module
Dec 15 21:16:12 kuro kernel: i2c-core.o: driver i2c TV tuner driver registered.
Dec 15 21:16:12 kuro kernel: bttv: driver version 0.7.83 loaded
Dec 15 21:16:12 kuro kernel: bttv: using 2 buffers with 2080k (4160k total) for capture
Dec 15 21:16:12 kuro kernel: bttv: Host bridge is Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge
Dec 15 21:16:12 kuro kernel: bttv: Host bridge needs ETBF enabled.
Dec 15 21:16:12 kuro kernel: bttv: Bt8xx card found (0).
Dec 15 21:16:12 kuro kernel: PCI: Found IRQ 10 for device 02:09.0
Dec 15 21:16:12 kuro kernel: PCI: Sharing IRQ 10 with 00:08.1
Dec 15 21:16:12 kuro kernel: PCI: Sharing IRQ 10 with 02:04.1
Dec 15 21:16:12 kuro kernel: PCI: Sharing IRQ 10 with 02:09.1
Dec 15 21:16:12 kuro kernel: bttv0: Bt878 (rev 17) at 02:09.0, irq: 10, latency: 132, memory: 0xf8000000
Dec 15 21:16:12 kuro kernel: bttv0: using: BT878( *** UNKNOWN/GENERIC **) [card=0,insmod option]
Dec 15 21:16:12 kuro kernel: bttv0: enabling ETBF (430FX/VP3 compatibilty)
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o: Adapter: bt848 #0 scl: 1  sda: 1 -- testing...
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o:1 scl: 1  sda: 0 
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o:2 scl: 1  sda: 1 
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o:3 scl: 0  sda: 1 
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o:4 scl: 1  sda: 1 
Dec 15 21:16:12 kuro kernel: i2c-algo-bit.o: bt848 #0 passed test.
Dec 15 21:16:12 kuro kernel: tuner: chip found @ 0xc0
Dec 15 21:16:12 kuro kernel: bttv0: i2c attach [client=Philips NTSC,ok]
Dec 15 21:16:12 kuro kernel: i2c-core.o: client [Philips NTSC] registered to adapter [bt848 #0](pos. 0).
Dec 15 21:16:12 kuro kernel: i2c-core.o: adapter bt848 #0 registered as adapter 0.
Dec 15 21:16:12 kuro kernel: bttv0: i2c: checking for MSP34xx @ 0x80... not found
Dec 15 21:16:12 kuro kernel: bttv0: i2c: checking for TDA9875 @ 0xb0... not found
Dec 15 21:16:12 kuro kernel: bttv0: i2c: checking for TDA7432 @ 0x8a... not found
Dec 15 21:16:13 kuro kernel: bttv0: open called

( xawtvを起動 )
Dec 15 21:16:36 kuro last message repeated 13 times
Dec 15 21:16:36 kuro kernel: tuner: TV freq (0.-6) out of range (44-958)

( xawtvのメニューより caputure の項目を grabdisplayから overlayに変更 )
Dec 15 21:17:04 kuro kernel: bttv0: open called
Dec 15 21:17:04 kuro kernel: Display at f00ea600 is 384 by 240, bytedepth 2, bpl 768
Dec 15 21:17:04 kuro kernel: bttv0: clip: ro=0e4a8000 re=0e4a0000
Dec 15 21:17:05 kuro kernel: Display at f00ea600 is 384 by 240, bytedepth 2, bpl 768
Dec 15 21:17:05 kuro kernel: bttv0: clip: ro=0e4a8000 re=0e4a0000
Dec 15 21:17:07 kuro kernel: Display at f00ea600 is 384 by 240, bytedepth 2, bpl 768
Dec 15 21:17:07 kuro kernel: bttv0: clip: ro=0e4a8000 re=0e4a0000

( xawtvの終了)
Dec 15 21:17:16 kuro kernel: Display at f00ea600 is 384 by 240, bytedepth 2, bpl 768
Dec 15 21:17:16 kuro kernel: bttv0: clip: ro=0e4a8000 re=0e4a0000
Dec 15 21:17:16 kuro kernel: Display at f00ea600 is 384 by 240, bytedepth 2, bpl 768
Dec 15 21:17:16 kuro kernel: bttv0: clip: ro=0e4a8000 re=0e4a0000


さらに気になる箇所がありまして、V4Lドライバがロードされていない状態から、
手動でロードすると次のようなメッセージが出ます。
$ modprobe bttv
Using /lib/modules/2.4.16/kernel/drivers/media/video/tuner.o
insmod: a module named tuner already exists
/lib/modules/2.4.16/kernel/drivers/media/video/bttv.o: post-install bttv failed
/lib/modules/2.4.16/kernel/drivers/media/video/bttv.o: insmod bttv failed

しかし、lsmod を実行してみると
$ lsmod
Module                  Size  Used by    Not tainted
bttv                   60192   0  (unused)
tuner                   8036   1  (autoclean)
videodev                4544   3  [bttv]
i2c-algo-bit            7052   1  [bttv]
i2c-core               12768   0  [bttv tuner i2c-algo-bit]

となりモジュールは組み込まれています。このあと xawtvを起動すると、いつもと同じ症状で映ります。

それでは、よろしくお願い致します。


上野貴雅  (Takamasa UENO)
九州工業大学工学部制御工学科 学部4年
Email:	ueno@xxxxxxxxxxxxxxxxxxxxxxxxx