FC4在2.6.13内核中的电视卡异常(终于全部搞定了,哈)
一个杂牌的7134芯片电视卡,系统检测到的参数不对,在/etc/modprobe.conf文件中有一行alias char-major-81 saa7134我在后面加了一行options saa7134 card=2以后,用tvtime就能正常收看了,图像声音都正常,用了一个多月没有任何问题。
今天重启电脑之后,发现电视伴音居然就在系统刚进入图形化启动界面的一瞬间跟着响起来了,心里郁闷得不行。这倒好,输入帐号密码的时候还有人呐喊助威啦(CCTV5的球赛)。
登录以后打开tvtime,操作没什么异常,只是关掉它后电视伴音仍然存在,而且就是我最后看的那个台。把tvtime升级了没能解决问题,又把它卸了再重启,问题依旧。好像跟它没关系。
试着在modprobe.conf中去掉 options saa7134 card=2 这一行,重启后响是不响了,可是电视也无法看了阿。只要我在命令行下执行
rmmod saa7134
modprobe saa7134 card=2
电视伴音立马就出现了,我那时还什么软件都没开呢。恨阿~~
不知道有哪位兄弟知道解决办法,或者大家一起来研究一下对策,谢谢啦!
虽然是小问题,但遇到了可真让人心烦。哎~~ 升级 udev 试试。 升级 udev 试试。
弱弱地问一句该怎么操作阿,新手莫怪 昨天试着把内核升级到2.6.13,重启之后立刻感到整个世界清静了,狂喜中……
好景不长,登录系统以后打开tvtime,怎么也收不到台了,dmesg中的信息跟以前并没有变化
# dmesg |grep 713
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7130: found at 0000:00:09.0, rev: 1, irq: 11, latency: 32, mmio: 0xf8000000
saa7130: subsystem: 1131:0000, board: LifeView FlyVIDEO3000
saa7130: board init: gpio is 13000
saa7130: there are different flyvideo cards with different tuners
saa7130: out there, you might have to use the tuner=<nr> insmod
saa7130: option to override the default value.
saa7130: registered input device for IR
saa7130: Huh, no eeprom present (err=-5)?
saa7130: registered device video0
saa7130: registered device vbi0
saa7130: registered device radio0
#
从来都没搞过这东西啊,完全不会,不过,帮你顶了 在升级后,必须先挂载saa7134,卸掉,然后再挂载。
modprobe saa7134 card=30
rmmod saa7134
modprobe saa7134 card=30
通常card是选30,不是用2。 在升级后,必须先挂载saa7134,卸掉,然后再挂载。
modprobe saa7134 card=30
rmmod saa7134
modprobe saa7134 card=30
通常card是选30,不是用2。
请问一下,这个挂载的操作应该在什么时候进行?是随时都行,还是重启之后?跟 modprobe.conf 文件中的参数有没有关系?
现在我发现了一个问题,就是我用 modprobe saa7134 card=? 之后,dmesg输出的信息中 card 值却一直没有变化,总是最开始那个。而在用 2.6.11 内核时,每次更改都能看到变化的。
另外,card值在每个卡上都不同的吧,我的卡以前就是用card=2,一直都很好。 折腾了好久,还是换回了2.6.11内核,电视卡不能用那还谈什么解决问题。
google了很久,最后终于在台湾某BBS上找到了些相关的东西,受他启发,想了一个很笨的办法,呵呵。创建一个启动tvtime的脚本,后面加上一条把Line静音的命令。
#/usr/bin/tvtime.sh
tvtime
amixer set Line mute
今天总算彻底解决了电视卡问题,在2.6.13内核中我的电视卡也能用了,非常之高兴。
其实2.6.13与2.6.11不同的地方就在于前者会自动检测得到电视卡的tuner参数,但是很不巧,它的这个自动检测出来的结果是错误的,所以我电视卡就不出声了。
在2.6.11内核中,电视卡能正常工作时的card参数为2,此时的tuner参数默认被设为了5。最开始我想在modprobe.conf文件中加入一句 options saa7134 card=2 tuner=5 ,应该就能解决问题了。没想到完全不起作用,进入2.6.13内核系统中查看dmesg信息,tuner参数还是自动检测成了62。我几次rmmod/modprobe,tuner参数始终无法修改。
后来用modinfo命令查看了一下tuner模块的信息,惊喜地发现它居然有一个 no_autodetect 的变量,于是赶紧将 options tuner no_autodetect=1 一行加入到modprobe.conf文件中,重启……噢,启动过程中终于又出现了电视伴音,这次怎么听着那么顺耳呢?呵呵呵。
接下来还是用楼上的那个笨办法,在脚本中调用tvtime结束后将Line静音,这样只要平时不打开Line,就不会有电视伴音随时烦人了。tvtime运行的时候会自动打开Line,我也不需要担心看电视没声音。
总结一下:
一、modprobe.conf文件加入这两行,使电视卡正常工作。
options saa7134 card=2 tuner=5
options tuner no_autodetect=1
二、创建一个调用tvtime的脚本,解决电视卡伴音问题。
#/usr/bin/tvtime.sh
tvtime
amixer set Line mute
我的电视卡是一块杂牌卡,叫“电视魔术师 录放卡 uk7132”,深圳联合朗坤科技公司出的,如果哪位兄弟跟我用一样的卡,在linux下可以参考我的驱动配置看电视了(一直没用linux就因为看不了电视,郁闷一年了终于心血来潮将它搞定)。
FC4,2.6.13.4内核,在modprobe.conf中saa7134驱动下一行添加:
option card=21 tuner=37
说明:声音是通过外接线方式联接电视卡和声卡,在windows下和linux下一样。
card=21 指定卡的类型,只有这里型号匹配,才能正常播放声音。
tuner=37 指定tuner高频头类型,只有类型匹配,才能搜索到台,即有图象。
关于card和tuner类型代号,请参阅内核源代码文档CARDLIST.saa7134和CARDLIST.tuner。
另外,tuner在指定为某些其他型号仍然可以搜到台,但搜索到的台比较少。
例如,以我的有线电视,当指定为以下三种时都可以搜索到三十四个频道:
tuner=37 - LG PAL (newer TAPC series)
tuner=55 - LG PAL (TAPE series)
tuner=41 - Philips PAL_MK (FI1216 MK)
当指定为两个厂家的型号时搜到一样多的台画质也没差别,令人费解-_-!谁能告诉我,我的电视卡tuner到底是LG的还是Philips的?
当指定为以下三种时可以搜索到二十三个频道:
tuner=24 - Philips PAL/SECAM multi (FQ1216ME)
tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3)
tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3)
还有其他几种也可以搜索到几个台。
中国的有线电视为PAL制式,试验tuner类型时无需考虑NTSC。
试验方法:
rmmod saa7134
insmod /lib/modules/`uname -r`/kernel/drivers/media/video/saa7134/saa7134.ko tuner=41
tvtime
先不用指定card,反复试验tuner类型。。。
页:
[1]