テレビチューナーカードGV-MVP/RXはlennyではパッケージをインストールするだけで使えたが、squeezeでは使えなくなっている。squeezeでも使うには手を加える必要がある。

受信準備

ファームウェアとツールのパッケージをインストールする。

$sudo aptitude install firmware-ivtv ivtv-utils

再起動して、設定を反映させてから受信テストを行う。

受信テスト

ivtv-tuneで映るチャンネルに変更する。

$ivtv-tune -d /dev/video0 -t japan-bcast -c チャンネル番号

ファイルに書き出す。

$cat /dev/video0 > test.mpg

Ctrl+Cで停止させ、できたファイルを再生してみる。録画はできているが音声が入っていなかった。dmesgを確認すると次のようなものが表示されていた。

i2c i2c-1: Failed to register i2c client wm8739 at 0x1a (-16)

調べてみるとUbuntuでもカーネルが原因で同様の症状が出ていることが分かった。Ubuntuではカーネルを再構築すると正常に動作するので、Debianでも同じ対策を行う。

カーネルの再構築

  1. 必要なパッケージのインストール
    $sudo aptitude install linux-source kernel-package
  2. カーネルソースの展開
    $sudo tar jxf /usr/src/linux-source-2.6.32.tar.bz2
  3. カーネルソースディレクトリ内にコンフィグファイルをコピー
    $cd linux-source-2.6.32
    $sudo cp /boot/config-`uname -r` .config
  4. カーネルソースの不要な行をコメントアウト(または削除)
    $sudo vi drivers/media/video/ivtv/ivtv-i2c.c
    637    const unsigned short addr_list[] = {
    638        /*0x1a,*/   /* Hauppauge IR external */ /*←この行をコメントアウト */
    639        0x18,   /* Hauppauge IR internal */
    640        0x71,   /* Hauppauge IR (PVR150) */
    641        0x64,   /* Pixelview IR */
    642        0x30,   /* KNC ONE IR */
    643        0x6b,   /* Adaptec IR */
    644        I2C_CLIENT_END
    645    };
  5. カーネルパッケージの再構築
    $CONCURRENCY_LEVEL=CPUコア数 sudo make-kpkg --revision rev1 --append-to-version gvmvp kernel_image

    再構築には1時間以上かかる。Celeron E3200(2.40GHz)で2時間近くかかった。

  6. できたカーネルパッケージのインストール
    $cd ..
    $sudo dpkg –i linux-image-2.6.32gvmvp_rev1_amd64.deb
  7. initramfsの作成とgrub2の設定更新
    $sudo update-initramfs -k 2.6.32gvmvp –c
    $sudo update-grub2

再起動して、grubで再構築したカーネルを選択し起動する。dmesgを確認するとFailedとなっていた部分は次のように正常になっている。

wm8739 1-001a: chip found @ 0x34 (ivtv i2c driver #0)

再度、受信テストを行うと音声も一緒に録画された。

GRUBの設定

再構築したカーネルからデフォルトで起動するようにgrubの設定を変更する。

  1. menuentryを確認して対象のカーネルが0から数えて何番目に来るかを見る。(又は対象のカーネルの’’内文字列をコピーする)
    $grep menuentry /boot/grub/grub.cfg
  2. /etc/default/grubを編集する
    $sudo vi /etc/default/grub
    GRUB_DEFAULT=2 #番号または文字列で指定する。
  3. 設定を反映させる。
    $sudo update-grub2

参考

331:327:2010/11/14(日) 18:57:04 ID:bSAT1Ii0

>>315 見れて音も出てたので感激感謝

ubuntu10.04でGV-MVP/RXのキャプイチャーボードを使う方法まとめ 10.10では修正せずに見ることができる

1. 必要なパッケージダウンロード&インストール

$ sudo aptitude install linux-source kernel-package

2. カーネルソース展開

$ sudo tar jxf /usr/src/linux-source-2.6.32.tar.bz2

3. カーネルソースディレクトリ内にコンフィグファイルをコピー

$ cd linux-source-2.6.32

$ cp /boot/config-`uname -r` .config

4. カーネルソースの不要な行をコメントアウト

$ sudo vi drivers/media/video/ivtv/ivtv-i2c.c

kernel-2.6.31/linux-2.6.31/drivers/media/video/ivtv/ivtv-i2c.cの640行目あたりの

const unsigned short addr_list [] ={

0x1a, /* Hauppauge IR external */

0x18, /* Hauppauge IR internal */

0x71 /* Hauppauge IR (PVR150) */

const unsigned short addr_list [] ={

/* 0x1a, Hauppauge IR external */

0x18, /* Hauppauge IR internal */

0x71 /* Hauppauge IR (PVR150) */

とする

332:327:2010/11/14(日) 18:59:24 ID:bSAT1Ii0

次にソースディレクトリ内のubuntu/omnibook/Makefileの160-161行目

#EXTRA_LDFLAGS += $(src)/sections.lds

EXTRA_LDFLAGS += $(PWD)/ubuntu/omnibook/sections.lds

↓に変更

EXTRA_LDFLAGS += $(src)/sections.lds

#EXTRA_LDFLAGS += $(PWD)/ubuntu/omnibook/sections.lds

5. カーネルの再構築

$ CONCURRENCY_LEVEL=2 sudo make-kpkg –revision rev1 –append-to-version gvmvp kernel_image

CONCURRENCY_LEVELの数字は使用PCのCPUコア数に合わせて変えると速くなる

7. initramfs作成&grub2の設定更新

$ sudo update-initramfs -k 2.6.32.21+drm33.7gvmvp -c

$ sudo update-grub2

dpkgとupdate-initramfsのところは作成したカーネルパッケージの名前に合わせて適宜読み替える

以上

315:login:Penguin:2010/11/14(日) 13:44:01 ID:RFGlnR+N

6. パッケージインストール

$ cd ../

$ sudo dpkg -i linux-image-2.6.32.21+drm33.7gvmvp_rev1_amd64.deb

 

333:login:Penguin:2010/11/14(日) 18:59:46 ID:WTxm00JX

/* 0x1a, Hauppauge IR external */

だせぇなぁ。#if 0使えよ。

おすすめ

関連記事


5月 20th, 2011

Posted In: ソフトウェア

タグ: , , , ,

コメントを残す

メールアドレスが公開されることはありません。