VineLinux3.2でテレビチューナカードを使っていたが、4.0にアップグレードしたらudevの起動時にtunerにオプションを渡せないというエラーが出るようになった。エラー内容を確認するために、dmesgの該当箇所を表示すると
$ demsg | grep bttv bttv: driver version 0.9.16 loaded bttv: using 8 buffers with 2080k (520 pages) each for capture bttv: Bt8xx card found (0). bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 11, latency: 32, mmio: 0xe9010000 bttv0: using: Terratec TerraTValue Version Bt878 [card=33,insmod option] bttv0: gpio config override: mask=0xffffffff, mux=0x2,0x0,0x0,0x0,0xffffffff bttv0: gpio: en=00000000, out=00000000 in=00ffffff [pre-init] bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: using tuner=5 bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found bttv0: i2c: checking for TDA9887 @ 0x86... not found bt878: Unknown symbol bttv_read_gpio bt878: Unknown symbol bttv_write_gpio bt878: Unknown symbol bttv_gpio_enable bttv0: registered device video0 bttv0: registered device vbi0 bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: PLL: 28636363 => 35468950 .<7>bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off]
Unknown symbolエラーが出ている。どうやらbttvに渡すオプションの指定の方法が変わったのが原因らしい。エラーを消すには、/etc/modprobe.confと/etc/modules.confの
(追記:Vine4.0では/etc/modprobe.confだけ編集すれば良いようです。)
options bttv card=33 radio=0 options tuner type=2 options bttv bttv_gpio=1 audiomux=2,0,0,0
となっている部分を
options bttv card=33 radio=0 tuner=2 options bttv bttv_gpio=1 audiomux=2,0,0,0
のように変える。これでUnknown symbolエラーが出なくなる。
$ dmesg | grep bttv bttv: driver version 0.9.16 loaded bttv: using 8 buffers with 2080k (520 pages) each for capture bttv: Bt8xx card found (0). bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 11, latency: 32, mmio: 0xe9010000 bttv0: using: Terratec TerraTValue Version Bt878 [card=33,insmod option] bttv0: gpio config override: mask=0xffffffff, mux=0x2,0x0,0x0,0x0,0xffffffff bttv0: gpio: en=00000000, out=00000000 in=00ffffff [pre-init] bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: using tuner=2 bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found bttv0: i2c: checking for TDA9887 @ 0x86... not found bttv0: registered device video0 bttv0: registered device vbi0 bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: PLL: 28636363 => 35468950 .<7>bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off] bttv0: gpio: en=00ffffff, out=00ffffff in=00000000 [audio: off]