在ubuntu9.04中安装电视卡用到的资料

阅读更多
我把老的台式机(p4 2.8e,1G,865pe,nv 5200)淘汰下来,装了ubuntu备用,毕竟是在家里,还是需要一些娱乐功能的,机器上有一个tv baby200的电视卡,要用起来,参考了下面的一些资料,调试成功,复制到这里备查。

现在的linux的2.6内核里,对saa713x和bttv系列的电视卡提供了很不错的支持。
经本人好几天,辛苦捣鼓,终于把我的电视精灵2(芯片:saa7130HL)弄到linux上了。
特将本人心得与大家分享。
我的环境是2.6.16,最新的kernel。
一般的PCI电视卡,在2.6.x系列的kernel上,均可以自己认出。不过你需要就是在insmod的时候,指定card=xxx,tuner=xxx
这很重要的,默认的值都不大对的,需要自己手工调的。
这几个值,可以参照linux内核的Documents/video4linux/CARDLIST.xxxx文档。
假如我们要在开机的时候,自己让系统insmod你的模块,只需在创建/etc/modprobe.d/saa7134文件,把你的设置写进去就可以了。我的saa7134内容:
options saa7134 card=21,21,21,21 tuner=38,38,38,38 video_nr=0,1,2,3 vbi_nr=0,1,2,3 radio_nr=0,1,2,3
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa
options saa7134-alsa index=1,2,3,4
这样你的linux重启后,就可以用tvtime来看电视了。这很简单哦,呵呵。
由于遥控器都是厂家自己定制的,所以处理起来比较累。像我的天敏出品的就没有支持的,只好自己动手了。
How to add remote control support to a card (GPIO remotes)

The operation is as follows (at least it is how i did it):

1. you make detinitions of your board to have remote control (in saa7134-cards.c).
2. in saa7134-input.c, you add a case for it into the switch statement, with mask_keycode=0. Use any ir_codes array for the start. Well, you should also determine whenever polling is needed, too.
3. Load saa7134 module with ir_debug=1 parameter.
4. press the keys on your remote control and watch syslog (dmesg). You will see something like

build_key gpio=0x12345 mask=0x0 data=0

in dmesg output after each key press/release.

Pay attention to gpio=0x... stuff. You will see some bits which does not change, and some which do. The ones which changes should be in your mask_keycode and mask_keydown (mask_keycode should contain not more than 8 bits set to 1, others should be set to 0). Mask_keyup and mask_keydown - those are easy to determine if you see some bit is always on when you press a key and off when you release it, or the reverse.

Ie, you will have to determine which bits in gpio value represents the key# pressed/released, and which indicate whenever it is the press or release.

After this, recompile saa7134 module with correct mask_* stuff in your saa7134_input_init1() routine. Now, the dmesg output should look like

build_key gpio=0x12345 mask=0x data=5

Ensure the data= value is different for each key, if not, you'll have to modify mask_keycode again.

Next, build the key table, by writing a file with one line for every of your key, with two fields -- key name and the data=value assotiated with it.

Try to find existing table matching your one. If there's one, use it. If none is found, build your own.

That's basically it.
以上内容来自V4L的Wikihttp://linuxtv.org/v4lwiki/index.php/Remote_controllers,很有帮助的。
主要是调整mask_keycode和mask_keyup这几个值,比较累。没有厂家的资料,我们自己猜,呵呵。
修改好,make modules; make modules_install即可。
吴汝旭 于2006.05.03凌晨

++++++++++++
我用的是天敏的TVBaby2,saa7134,card=3,用tvtime效果不错,而且能在Linux amd64中正常使用,而在Windows XP x64中却没有驱动,真是讽刺。
======================
那天,我得知Linux也可以用电视卡看电视,我本来是绝望的,因为我的电视卡是没有Linux的驱动,后来在社区里看到原来不用找驱动,直接装TVtime就可以,突然就燃起了希望,于是打开终端,输入:
~$ sudo apt-get install tvtime
自动下载安装完毕,在应用程序找到TVtime运行,设置了PAL制式和中国广播,结果是蓝屏,显示“No Signal”怎么可能!
于是上太平洋的Linux系统专区问(去ubuntu社区问大概要一个月才有人回复),ghost0版副(Koradji)很热心地帮助我,最终可以看电视了,十分感谢!
首先,我们确定了电视卡的芯片类型,因为我买的时候就问过,是飞利浦的没错。
~$ lspci
找到“ 0000:02:04.0 ffff: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev f f)”,证明是飞利浦的。
既然可以识别芯片,为什么看不到呢?我又尝试XawTV,结果也是不能看。
ghost0提醒到USB摄像头会占用/dev/video0,不过我并没有安装USB摄像头。
而且我发现,我的设备根本没有/dev/video0,于是我怀疑接触不良,于是关机,拆下主角,用用橡皮擦擦了一下金手指,结果进入系统后可以识别,但还是看不到,不过有所变化,现在TVtime是黑屏,输入设备为default,在设备里也可以找到/dev/video0。
“0000:02:04.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadca st Decoder (rev 01)”
主角应该没有坏啊,进入WinXP可以看电视啊。
我根本没有搜台的选项,据ghost0说,输入设备一定要把video source设为television才可以,其间也试过其它方法,都没有用。具体看这个帖子:
http://softbbs.pconline.com.cn/topic.jsp?tid=6576864
所以接下来就是要找到方法设置为television。
我翻了ubuntu论坛的旧帖,发现有人有类似的问题,解决的方法是删除模块然后重新挂载,但我不知道card和tuner的值,照抄别人的数值不行。但貌似有好转。
看来是这个方法了,于是我和ghost0朝不同的方向找这两个数值……



ghost0: 你试试card=21 tuner=37,我在天敏论坛看到有人说电视大师3是这样的,不知道你的黄金版是不是也一样
tuner=37是LG,我的朗视P30也是这个,看来国内还是用的蛮多的

我觉得3代和1代的产品应该不同吧,看到电视卡的说明书写着“如果您有问题,可E-mail至本公司技术服务邮箱。”对啊,技术支持应该知道啊!
偶:请问:怎样在Linux设置电视卡?
技:感谢您对天敏的支持与厚爱!由于出现问题给您的使用带来不便,敬请原谅!电视大师黄金版不支持Linux系统!
偶:请问这是一个“标准答案”还是经过调查事实得出的结论?
我知道你们没有Linux的驱动,但Linux的新核心是支持电视卡的
可以告诉我“电视大师黄金版”用什么牌子型号的芯片?什么牌子型号的高频头?
谢谢。
技:感谢您对天敏的支持与厚爱!由于出现问题给您的使用带来不便,敬请原谅!暂时没有支持VISTA系统的驱动!如果驱动不支持,电视卡肯定不能正常使用的!(这鸟人,这么多感叹号!小学语文没学好吗?感叹号可以随便用的吗?其实我看到他的回复,我差点喷血,答非所问,是不是上班时间在泡妞?)
偶:请你看清楚标题。。。
我现在也不是要驱动,我只希望知道
“电视大师黄金版”用什么牌子型号的芯片?什么牌子型号的高频头?
你可以问问技术部门或者负责硬件设计的人,他们应该可以知道,我想这应该不是什么秘密吧,我只是不想拆开电视卡来看,拆开应该可以看到的,我怕搞坏。

到这个时候,我已经对技术支持不抱有任何期望了,我试了Ghost0给的数值。
~$ sudo rmmod saa7134_alsa
~$ sudo rmmod saa7134
~$ sudo modprobe saa7134 card=21 tuner=37

找到TVtime运行,竟然成功了,走弯路了,早知道一开始就试。
出现了“Channel managernent”的项目,进入就可以搜台了。
不过似乎没有声音,其实是要把线路输入的音量调到最大才行。

后来我检查邮件,发现技术支持终于说人话了!!
技:
感谢您对天敏的支持与厚爱!由于出现问题给您的使用带来不便,敬请原谅!
很抱歉,忘了加入信息介绍,电视大师黄金版使用菲利普7130芯片和TCL高频头!

目前暂时解决了问题,但是好像每次重新开机又要重新删除模块/挂载模块,
还有,退出电视程序后,声音还在播放。。。真系“死唔断气”

希望大家可以补充一个完美的解决方案。
+++++++++++++++++++++++++++
1。安装TVTIME软件
      “系统--系统管理--新立得软件包管理器”--搜索(输入TITIME)搜索到后按鼠标右键设为安装,接着一步一步安装,安装时有对话框:1选 PAL,2选CHINA***。安装完毕后,可到“应用程序--影音”下点击TVTIME TELEVISION VIEWER启动,启动后能看到有五列的菜单(或点击鼠标右键看到),不可搜台,不可用,关闭。
2。安装驱动,在终端输入下列命令:
       sudo apt-get intall mercurial  回车
       hg clone http://linuxtv.org/hg/v4l-dvb  回车
可能要等上一段时间来下载安装,来喝口水吧。
3。修改文件saa7134-cards.c
     终端下命令
      sudo gedit /home/(你的用户名)/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 回车,在编辑器里查找到 [SAA7134_BOARD_10MOONSTVMASTER]一节,修改为以下代码:
---------------------------此为分隔线----
[SAA7134_BOARD_10MOONSTVMASTER] = {
/* "catinsnow" */
.name = "10MOONS PCI TV CAPTURE CARD",
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x7000,
.inputs = {{
.name = name_tv,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
.tv = 1,
},{
.name = name_comp1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x2000,
},{
.name = name_svideo,
.vmux = 0,
.amux = LINE1,
.gpio = 0x2000,
}},
.mute = {
.name = name_mute,
.amux = LINE2,
.gpio = 0x3000,
},
},

----------------------此为分隔线------
保存,退出即可。一点小说明:上面代码中最后的“.gpio = 0x3000”,如值为 0x8000时,启动
UBUNTU系统后不开TVTIME就会发出电视声音。
4。修改tvtime.xml文件。
作用:关闭TVTIME后,电视声音还在响,声音无法关闭,修改tvtime.xml文件后就解决问题了。
方法:终端里命令
         sudo gedit /etc/tvtime/tvtime.xml  回车
在编辑器里查找 

你可能感兴趣的:(Linux,Ubuntu,Tcl,Mobile,Windows,Mobile)