标题:ubuntu 7.04 下搞定电视卡(saa7130) 出处:Beafuture's blog 时间:Mon, 20 Aug 2007 15:01:59 +0000 作者:ring0 地址:http://www.pppei.cn/blog/post/64/ 内容: 当初也是费了一翻力气才搞定的。当时参考了Linux伊甸园论坛 wdgreen的《linux下使用电视卡(tv card)》一文(本文第二页进行了转载)。现在说明一下在ubuntu下的操作过程(适用于6.10、7.04其他版没试): 1.首先设置源,更新软件包列表,并安装tvtime: 6.10 版在源列表中加入 deb http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse 7.04 版在源列表中加入 deb http://ubuntu.cn99.com/ubuntu/ feisty main restricted universe multiverse 然后在终端中运行 sudo apt-get update sudo apt-get install tvtime 运行tvtime就可以看到主介面了。 2.确保电视卡已经安装,然后用lsmod查看电视卡驱动是不是已经加载。即有没有saa7134等相关字符: lsmod|grep saa7134 一般是被加载的,因为ubuntu中默认安装了video4linux。 加载了驱动不代表就能接收电视信号,打开tvtime软件,右击鼠标没有出现Channel management菜单,为什么呢! 因为系统加载saa7134时使用的默认的参数,而这些参数不适合你的电视卡。 3.这一步便是确定电视卡制造商和调谐器类型,然后跟据获得的参数,重新加载驱动模块。(参数列表请看第二页最下方) 如果在厂商中找不到你的电视卡生产商是很正常的,比如笔者的是奥迈7130影视大师。如果找不到另寻出路,一些厂商的驱动能兼容其它厂商的卡。 其一是穷举法,先把模块卸载 rmmod saa7134 用新参数重新加载模块 modprobe saa7134 card=X tuner=Y 其中x和y的值看参数列表,挨个试。如笔者的是 modprobe saa7134 card=3 tuner=55 即:卡的厂商为LifeView/Typhoon FlyVIDEO2000 调谐器:TCL 2002MB 然后打开tvtime看看是否出现了Channel management菜单,如有责说明驱动生较,如还是没有,重复以上步骤。 另一种方法比较简单 在windows下安装fly2000tv,然后在设置->硬件->“高频头类型”和“型号(制造商)”中选择兼容的类型。如果在某一组参数时,电视卡可以工作,记下这组参数。到参数列表中查找相对应的数值, 加到modprobe saa7134 card=X tuner=Y命令中。 运行tvtime测试是否成功。 4.自动加载模块 系统自身已经实现自动加载模块了,只是没有带参数,须我们手动加上,在文件/etc/modprobe.d/alsa-base中找到 install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS 把$CMDLINE_OPTS改为card=x tuner=y 5.优化 因为ubuntu中的root用户不见意使用,而在普通用户中tvtime有问题,如搜索频道后不能保存。 那么须要改一下配置文件的权限了,修改之前一定先关掉tvtime。 在端须中执行sudo chmod 777 -R /home/"用户名"/.tvtime/ 至此所有工作就结束了 在WINDOWS中使用电视卡是件很容易的事,但是在LINUX中就不是这么回事了。在WINDOWS中,我们只要注意选择软件,有些软件效果不好;而在 LINUX中,不是选择何种软件的问题(软件太少),而是怎样正确地去加载驱动,让系统能识别电视卡,这是主要的问题,然后才是设置得到图像和声音。 一、介绍 在LINUX 中,因为存在着好几种系统,每种系统又有不同的版本,每种版本又有不同数量和种类的硬件驱动(实际上只是内核的原因),每个人的硬件又不是都相同(主要是电视卡可能不同),所以你得看自己的系统以及版本来大体确定有没有相配的电视卡驱动。顺便说一下LINUX系统:DEBIAN、REDHAT、SUSE、 MANDRAKE、TURBOLINUX、以及中国的REDFLA(红旗)等等。电视卡芯片:常见的PCI接口SAA7130/34、BT8x8、 CX88、USB 接口的EM28XX(像我的佳的美U310就是用这个芯片)等等。 二、查看驱动 查看使用的系统中有没有相应的电视卡驱动,用DMESG(最好用dmesg -c,这样更详细些)命令来查看,如果有应该有相应的SAA7134或EM28XX或BT8X8或CX88等词。如果有就不须装驱动模块了,如果没有就得安装驱动模块。不要用LSMOD来确认,LSMOD只是查看模块有没加载,不是模块有没有安装,只有在安装好后才可以加载。 三、安装驱动 可以用两种方案 1、下载第三方开发的驱动V4Lin等驱动,在这里我就不说了,自己到网上查找然后安装就行。 1、升级内核。2.6以上的内核都已自带了驱动,我们只需要在升级时把相应模块编译到内核中即可。比如REH4内核为2.6.9.15,但有朋友说那为什么在用RHA4是没有电视卡驱动模块呢,是因为默认安装没有安装电视卡驱动模块,我们得自己安装。可以在www.kernel.org中下载内核,然后将其解压到/usr/src/中进行编译。 cd /usr/src/ tar jxvf ***/linux***.tar.bz2(tar zxvf ***/linux***.tar.gz)(解压内核文件) cd linux***/(进入解压目录) make mrproper make menuconfig(make xconfig以及make gconfig或者make config) 注意:在用以上这4个其中之一来配置模块时,可能要用到相应的开发包,通常可以按照提示安装(这些开发包通常在安装盘上有),等安装好后再调用命令来配置。 用以上命令进入配置界面时记得选择好相应的驱动模块(在Device Driver---Multimedia devices----Video For Linux中去找相应的驱动名,如saa7134等),其它电视卡模块可以不选。如果系统声卡也有问题那么声卡驱动也要选好。还有,如果是用VMWARE 的话要选SCSI(在配置内核的时候把Device Driver中的scsi驱动编进内核中,而不是编译成模 块)。如果你对硬件驱动还懂的话可以将不用的声卡驱动和显卡驱动去掉,这样内核更小,而且编译也快一些。 全配置好后可以退出,然后运行下面的命令,在运行命令的同时可以去泡杯咖啡去看电视了。 make dep make bzImage make modules make modules_install make install(这一步是自动安装grub.conf) 当然以上命令你可以用&&来连接,这样看电视不到于中途打断。记得命令后要有空格。呵呵…… make dep && make bzImage && make modules && make modules_install && make install 还要说一句,最好在重启之前将/etc/selinux/config中的selinux=enforcing改为selinux=disabled,当然,你要是用#号注释掉也是可以的。 如果上面都做对的话,你就可以重启计算机了,重启时选择用新内核启动,启动后可用dmesg来查看是否安装该模块。如果嫌每次启动都要手动选择用新内核启动太麻烦,可以更改/boot/grub/grub.conf,将default=X中的X改为新内核启动的数字就可以了。记得数字是从0开始的,OK。 四、安装收看电视软件 推荐软件――tvtime 选用软件――xawtv 个人认为TVTIME无论在收看质量以及操作界面上都有着非常大的优势,所以下面只说TVTIME的安装,XAWTV的安装自己去试一下就行了。 下载tvtime后解压安装 http://jaist.dl.sourceforge.net/ ... tvtime-1.0.1.tar.gz tar jxvf tvtime***.tar.gz2 cd tvtime***/ mkdir /opt/tvtime/ configure --prefix=/opt/tvtime/ && make && make install 如果中间出错,那查看是什么包没装,按照提示安装相应的包即可。 cp /opt/tvtime/bin/tvtime /usr/bin/(这一步是将其脚本拷入/usr/bin/中,以便在命令行中直接执行,否则每次运行都要在命令行中输入 /opt/tvtime/bin/./tvtime)。当然也可以在KDE或者GNOME桌面中建立脚本图标,以便鼠标双击进入程序。 五、调用模块及确定相应参数 到了这里,所有的工作还没有完成,通常情况下,我们还要设定电视卡模块的参数,即card和tuner的值,其中card是电视卡生产厂商,具体还得看芯片,也就是在确定了芯片以后可以在内核说明文档中查看这个生产厂商的代码。tuner是声音值,这个也可以在内核文明文档中去查询。如果在模块调用后电视卡没有图像没有声音,或者有图像没声音,或者没图像有声音,或者是有图像也有声音但声音的杂音太大或者就是串音,这种情况多是card和tuner的值不对,可以照上面的方法自己对照附表去查询值重新modprobe(当然别忘了一定要在之前rmmod,否则无效的),当然,你实在不知道自己的生产厂商时也可以像好多人一样,一个一个地去试,就是指定card值,从0、1、2、3、4、5、……什么时候好了就什么时候停。但是tuner通常可以通过附表轻松地看出来,像我的就是23,因为TUNER值只要知道是什么芯片就基本能确定了,具体声音的模式中国基本都是D/K值。 (详细参数值请看附录,也可以在/usr/src/linux-2.6.16.18/Documentation/video4linux/下查看相应的CARDLIST.值) rmmod saa7134(em28xx/bt8x8/cx88) modprobe saa7134 card=*(*可以设定为0、1、2、……) tuner=*(*可以设定为0、1、2、……) 例如:rmmod saa7134 modprobe saa7134 card=2 tuner=23(philips 7134 pal d/k) 六、收看电视 termial中输入tvtime tab(配置界面,按一下显示,再按一次消失) 然后根据界面提示scan频道,选择声道,选择模式(pal dk),还有china,tv模式要选择tv (mono/stereo olny) 这时候你应该看到电视了,高兴吧!! 常用键说明: tab/F1/h:配置菜单 f:全屏 上下方向箭:频道调节(在频道扫描后只显示有节目的频道) 左右方向箭:音量调节 enter:在非菜单显示时是信息显示,在菜单里是进入相应功能和选择某种选项 数字:直接跳到相应频道 i:制式切换(TV/S端子/等) a:正常模式(4:3)/宽频模式(16:9) m:静音 F5:图像调整色彩选择 F6/F7:在用F5选择后,可用此项来-/+相应的数值 e:声音模式 v:窗口永远在上面选项开关 首次电视收视操作指南: 1、运行tvtime TAB→input configuration→television standard→pal,然后退出tvtime界面(连按两次ESC就退出了),这个改变只有在下次运行时才生效,所以必须退出重来,否则后面的步骤是出不来的。 2、再次运行tvtime TAB→input configuration→change video source→tv(mono/stereo only)(可用回车键选择或右方向箭头)→按向下箭头移动到change default audio standard()→将()内容改为 PAL-DK→ 回上级菜单(左方向箭头)→channel management→change frequency table→china broadcast→回上级菜单(左方向箭头)→scan channels for signal→退出菜单OK! 3、可用上下方向箭来调台,左右方向箭来调节声音,怎么样,不错吧。 出错说明: 1、在运行tvtime时界面菜单没有channel management选项 主要是电视卡驱动没有调用或者card和tuner的数值不对,可以重新调用。当然,如果你根本没有装驱动那就更不用说了。 2、不能找到china broadcast选项 一定要记得首次运行时是先选择 input configuration→television standard→pal ,然后要退出,再次运行时才会有。 3、没有声音 首先看是不是静音,然后看line是不是静音或者太低,如果是本本的话还要看MIC是不是静音或者太低,通常本本是line和mic是一个孔的。当然你的声音驱动都不对的话那就更不要问我了。 最后说明: 以 上是我在RHA4中使用电视卡的使用说明,本来老早就应该写了,但懒。此次写出来,欢迎新手朋友们提出问题或者请高手指点,以便及时修改,本人在些谢过。有些细节太多,就没有写,如果新手有问题,可以反馈,只要力所能及,一定不辞劳苦。 附: 1、saa7130/34 CARD值列表 0 -> UNKNOWN/GENERIC 1 -> Proteus Pro [philips reference design] [1131:2001,1131:2001] 2 -> LifeView FlyVIDEO3000 [5168:0138,4e42:0138] 3 -> LifeView/Typhoon FlyVIDEO2000 [5168:0138,4e42:0138] 4 -> EMPRESS [1131:6752] 5 -> SKNet Monster TV [1131:4e85] 6 -> Tevion MD 9717 7 -> KNC One TV-Station RDS / Typhoon TV Tuner RDS [1131:fe01,1894:fe01] 8 -> Terratec Cinergy 400 TV [153b:1142] 9 -> Medion 5044 10 -> Kworld/KuroutoShikou SAA7130-TVPCI 11 -> Terratec Cinergy 600 TV [153b:1143] 12 -> Medion 7134 [16be:0003] 13 -> Typhoon TV+Radio 90031 14 -> ELSA EX-VISION 300TV [1048:226b] 15 -> ELSA EX-VISION 500TV [1048:226a] 16 -> ASUS TV-FM 7134 [1043:4842,1043:4830,1043:4840] 17 -> AOPEN VA1000 POWER [1131:7133] 18 -> BMK MPEX No Tuner 19 -> Compro VideoMate TV [185b:c100] 20 -> Matrox CronosPlus [102B:48d0] 21 -> 10MOONS PCI TV CAPTURE card [1131:2001] 22 -> AverMedia M156 / Medion 2819 [1461:a70b] 23 -> BMK MPEX Tuner 24 -> KNC One TV-Station DVR [1894:a006] 25 -> ASUS TV-FM 7133 [1043:4843] 26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b] 27 -> Manli MuchTV M-TV002/Behold TV 403 FM 28 -> Manli MuchTV M-TV001/Behold TV 401 29 -> Nagase Sangyo TransGear 3000TV [1461:050c] 30 -> Elitegroup ECS TVP3XP FM1216 Tuner card(PAL-BG,FM) [1019:4cb4] 31 -> Elitegroup ECS TVP3XP FM1236 Tuner card (NTSC,FM) [1019:4cb5] 32 -> AVACS SmartTV 33 -> AVerMedia DVD EZMaker [1461:10ff] 34 -> Noval Prime TV 7133 35 -> AverMedia AverTV Studio 305 [1461:2115] 36 -> UPMOST PURPLE TV [12ab:0800] 37 -> Items MuchTV Plus / IT-005 38 -> Terratec Cinergy 200 TV [153b:1152] 39 -> LifeView FlyTV Platinum Mini [5168:0212,4e42:0212] 40 -> Compro VideoMate TV PVR/FM [185b:c100] 41 -> Compro VideoMate TV Gold+ [185b:c100] 42 -> Sabrent SBT-TVFM (saa7130) 43 -> :Zolid Xpert TV7134 44 -> Empire PCI TV-Radio LE 45 -> Avermedia AVerTV Studio 307 [1461:9715] 46 -> AVerMedia Cardbus TV/Radio (E500) [1461:d6ee] 47 -> Terratec Cinergy 400 mobile [153b:1162] 48 -> Terratec Cinergy 600 TV MK3 [153b:1158] 49 -> Compro VideoMate Gold+ Pal [185b:c200] 50 -> Pinnacle PCTV 300i DVB-T + PAL [11bd:002d] 51 -> ProVideo PV952 [1540:9524] 52 -> AverMedia AverTV/305 [1461:2108] 53 -> ASUS TV-FM 7135 [1043:4845] 54 -> LifeView FlyTV Platinum FM [5168:0214,1489:0214] 55 -> LifeView FlyDVB-T DUO [5168:0306] 56 -> Avermedia AVerTV 307 [1461:a70a] 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] 58 -> ADS Tech Instant TV (saa7135) [1421:0350,1421:0351,1421:0370,1421:1370] 59 -> Kworld/Tevion V-Stream Xpert TV PVR7134 60 -> LifeView/Typhoon FlyDVB-T Duo Cardbus [5168:0502,4e42:0502] 61 -> Philips TOUGH DVB-T reference design [1131:2004] 62 -> Compro VideoMate TV Gold+II 63 -> Kworld Xpert TV PVR7134 64 -> FlyTV mini Asus Digimatrix [1043:0210] 65 -> V-Stream Studio TV Terminator 66 -> Yuan TUN-900 (saa7135) 67 -> Beholder BeholdTV 409 FM [0000:4091] 68 -> GoTView 7135 PCI [5456:7135] 69 -> Philips EUROPA V3 reference design [1131:2004] 70 -> Compro Videomate DVB-T300 [185b:c900] 71 -> Compro Videomate DVB-T200 [185b:c901] 72 -> RTD Embedded Technologies VFG7350 [1435:7350] 73 -> RTD Embedded Technologies VFG7330 [1435:7330] 74 -> LifeView FlyTV Platinum Mini2 [14c0:1212] 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044] 76 -> SKNet MonsterTV Mobile [1131:4ee9] 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e] 78 -> ASUSTeK P7131 Dual [1043:4862] 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B) 80 -> ASUS Digimatrix TV [1043:0210] 81 -> Philips Tiger reference design [1131:2018] 82 -> MSI TV@Anywhere plus [1462:6231] 83 -> Terratec Cinergy 250 PCI TV [153b:1160] 84 -> LifeView FlyDVB Trio [5168:0319] 2、bttv CARD值列表略去 3、em28xx CARD值列表 0 -> Unknown EM2800 video grabber (em2800) [eb1a:2800] 1 -> Unknown EM2820/2840 video grabber (em2820/em2840) 2 -> Terratec Cinergy 250 USB (em2820/em2840) [0ccd:0036] 3 -> Pinnacle PCTV USB 2 (em2820/em2840) [2304:0208] 4 -> Hauppauge WinTV USB 2 (em2820/em2840) [2040:4200] 5 -> MSI VOX USB 2.0 (em2820/em2840) [eb1a:2820] 6 -> Terratec Cinergy 200 USB (em2800) 7 -> Leadtek Winfast USB II (em2800) 8 -> Kworld USB2800 (em2800) 9 -> Pinnacle Dazzle DVC 90 (em2820/em2840) [2304:0207] 4、cx88略去 5、tuner值列表 tuner=0 - Temic PAL (4002 FH5) tuner=1 - Philips PAL_I (FI1246 and compatibles) tuner=2 - Philips NTSC (FI1236,FM1236 and compatibles) tuner=3 - Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF) tuner=4 - NoTuner tuner=5 - Philips PAL_BG (FI1216 and compatibles) tuner=6 - Temic NTSC (4032 FY5) tuner=7 - Temic PAL_I (4062 FY5) tuner=8 - Temic NTSC (4036 FY5) tuner=9 - Alps HSBH1 tuner=10 - Alps TSBE1 tuner=11 - Alps TSBB5 tuner=12 - Alps TSBE5 tuner=13 - Alps TSBC5 tuner=14 - Temic PAL_BG (4006FH5) tuner=15 - Alps TSCH6 tuner=16 - Temic PAL_DK (4016 FY5) tuner=17 - Philips NTSC_M (MK2) tuner=18 - Temic PAL_I (4066 FY5) tuner=19 - Temic PAL* auto (4006 FN5) tuner=20 - Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5) tuner=21 - Temic NTSC (4039 FR5) tuner=22 - Temic PAL/SECAM multi (4046 FM5) tuner=23 - Philips PAL_DK (FI1256 and compatibles) tuner=24 - Philips PAL/SECAM multi (FQ1216ME) tuner=25 - LG PAL_I+FM (TAPC-I001D) tuner=26 - LG PAL_I (TAPC-I701D) tuner=27 - LG NTSC+FM (TPI8NSR01F) tuner=28 - LG PAL_BG+FM (TPI8PSB01D) tuner=29 - LG PAL_BG (TPI8PSB11D) tuner=30 - Temic PAL* auto + FM (4009 FN5) tuner=31 - SHARP NTSC_JP (2U5JF5540) tuner=32 - Samsung PAL TCPM9091PD27 tuner=33 - MT20xx universal tuner=34 - Temic PAL_BG (4106 FH5) tuner=35 - Temic PAL_DK/SECAM_L (4012 FY5) tuner=36 - Temic NTSC (4136 FY5) tuner=37 - LG PAL (newer TAPC series) tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3) tuner=39 - LG NTSC (newer TAPC series) tuner=40 - HITACHI V7-J180AT tuner=41 - Philips PAL_MK (FI1216 MK) tuner=42 - Philips 1236D ATSC/NTSC dual in tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F) tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant) tuner=45 - Microtune 4049 FM5 tuner=46 - Panasonic VP27s/ENGE4324D tuner=47 - LG NTSC (TAPE series) tuner=48 - Tenna TNF 8831 BGFF) tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in tuner=50 - TCL 2002N tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3) tuner=52 - Thomson DTT 7610 (ATSC/NTSC) tuner=53 - Philips FQ1286 tuner=54 - tda8290+75 tuner=55 - TCL 2002MB tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4) tuner=57 - Philips FQ1236A MK4 tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF tuner=59 - Ymec TVision TVF-5533MF tuner=60 - Tho Generated by Bo-blog 2.1.1 Release