日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu 生活之电视卡

發(fā)布時(shí)間:2024/3/24 Ubuntu 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu 生活之电视卡 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

昨天已經(jīng)將 ubuntu 大部分的東西安裝配置好了,ubuntu 生活之安裝配置 。 不過在結(jié)尾的時(shí)候提到遺留了一個(gè)問題, 就是電視卡。

????? 我的電視卡是佳的美(gadmei)的PT308, 在 ubuntu linux 下安裝tvtime之后, 無法使用。 根據(jù)網(wǎng)上google到的資料,我通過人肉大戰(zhàn), 最后測試到在 card=2 tuner=23 就可以稱心的看電視了。 也就是用FLYVIDEO2000, philips tuner 1256 d/k。 但每次進(jìn)入系統(tǒng)后都需要一堆的sudo總也不爽。 我就決心將佳的美的電視卡直接寫進(jìn)saa7134中, 這樣開機(jī)就可以自動(dòng)選對電視卡,就可以自動(dòng)播放了。

????? 先將上面的播放電視卡的人肉大戰(zhàn)的代碼寫下來, 供以后參考
(可以看看這里:ubuntu 7.04 下搞定電視卡(saa7130) ):

sudo rmmod saa7134(如果提示被saa7134-alsa使用,請輸入:sudo rmmod saa7134-alsa)

sudo modprobe saa7134 card=x tuner=y(x,y可以自己看CARDLIST.xxxx)

????? 因?yàn)橐呀?jīng)找到了可以播放電視的驅(qū)動(dòng), 那就可以將驅(qū)動(dòng)進(jìn)行打包做成適合自己電視卡的驅(qū)動(dòng), 省得每次看電視還得輸入一大堆的命令。 下面就將我整個(gè)打包的過程寫出來給各位一個(gè)參考。 可以這樣說, 下面的方法適合任何一種電視卡, 每個(gè)朋友完全可以自行打包自己的電視卡驅(qū)動(dòng)。

????? 在介紹我的驅(qū)動(dòng)制作過程前, 我先把我搜索到并參考了這些內(nèi)容的東西給申明一下: 我的整個(gè)制作過程參考如下頁面的內(nèi)容:

給 2.6.0-test6內(nèi)核“增加”天敏電視大師電視卡驅(qū)動(dòng)

給 天敏電視大師做了點(diǎn)linux下的支持

電視卡天敏大師II驅(qū) 動(dòng) (非常感謝該作者catinsnow的幫助)

????? 全文轉(zhuǎn)載“給 2.6.0-test6內(nèi)核“增加”天敏電視大師電視卡驅(qū)動(dòng) ”,防備不時(shí)之需。

?

天敏電視大師是深圳天敏公司生產(chǎn)的一種家用級(jí)別的基于菲利普saa7130芯片的電視卡,在win下使用dscaler收看電視效果不錯(cuò),圖象很清 晰,價(jià)格也不算貴。
無論是天敏公司的主頁,還是菲利普公司的網(wǎng)頁,都沒有放出官方的linux驅(qū)動(dòng),只有win下的wdm驅(qū)動(dòng);linux下 saa713x芯片組驅(qū)動(dòng),一直由www.bytesex.org的linux愛好者負(fù)責(zé)開發(fā);該驅(qū)動(dòng)分成兩部分,一部分是v4l2,一部分是 saa713x,在2.6.0系列內(nèi)核里已經(jīng)收錄進(jìn)v4l2和saa713x驅(qū)動(dòng),但很遺憾的是,在2.4.x系列內(nèi)核里沒有收錄進(jìn)去。
系 統(tǒng):MagicLinux 1.1 final,2.6.0-test6內(nèi)核(配置時(shí)將v4l選成模塊,將saa713x也選成模塊)
收看軟 件:xawtv 3.88
在win下裝上驅(qū)動(dòng)和dsclaer后收看圖象和聲音一切正常。該卡在dscaler里無法自動(dòng)檢測出型號(hào),但選擇 FLYVIDEO2000型號(hào)可以正常收看
在linux下,在2.6.0內(nèi)核里,用modprobe saa7134 card=3命令加載模塊后(card=3表示該卡為FLYVIDEO2000),使用xawtv也能正常收看電視,但直接用modprobe saa7134命令無法自動(dòng)檢測出卡的類型,驅(qū)動(dòng)不了。
既然saa7134模塊能驅(qū)動(dòng)這塊電視卡并功能正常,一切都好辦,現(xiàn)在只是不能自動(dòng)識(shí)別的 問題而已,下面通過修改代碼,讓saa7134模塊能自動(dòng)檢測和驅(qū)動(dòng)該卡。
從一些資料可知,PCI卡都有相應(yīng)的vendor id、device id、subvendor id、subdevice id,以便操作系統(tǒng)識(shí)別PCI卡從而安裝相應(yīng)驅(qū)動(dòng)。
從開機(jī)時(shí)的BIOS自檢信息可以得 知,該卡的vendor id為1131,device id為7130。
通過dscaler菜單里的硬件信息可以知道,該卡的主廠商ID為 1131,代表為菲利普,主設(shè)備ID為7130,代表意義為所用芯片為7130,子廠商ID為1131,子設(shè)備ID為2001(意義不知)
打開 win下天敏公司放出的驅(qū)動(dòng),在cap7134proteus.inf文件里可以找到如下信息:
[Philips]
%Cap7134.DeviceDescProt%=Cap7134.Device,PCI_1131&DEV_7134&SUBSYS_20011131
這 些信息都表明,該卡的vendor id為1131,device id為7130,subvendor id為1131,subdevice id為2001
下面修改saa7134的相關(guān)源碼:
1、打開/usr/src/linux-2.6.0-test6/drivers /media/video/saa7134/saa7134.h
在”#define SAA7134_BOARD_ELSA_500TV 15″
后 加入一行:
#define SAA7134_BOARD_10MOONSTVMASTER 16
這行是定義給該卡定一個(gè)加載類型參數(shù)16
2、 打開/usr/src/linux-2.6.0-test6/drivers/media/video/saa7134/saa713-cards.c

[SAA7134_BOARD_ELSA_500TV] = {
.name = “ELSA EX-VISION 500TV”,
.audio_clock = 0×00187de7,
.tuner_type = TUNER_HITACHI_NTSC,
.inputs = {{
.name = name_svideo,
.vmux = 7,
.amux = LINE1,
},{
.name = name_tv,
.vmux = 8,
.amux = TV,
.tv = 1,
}},
},
的后面加入下面一段:
[SAA7134_BOARD_10MOONSTVMASTER] = {
.name = “10MOONS PCI TV CAPTURE CARD,天敏電視大師”,
.audio_clock = 0×00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.gpiomask = 0xe000,
.inputs = {{
.name = name_tv,
.vmux = 1,
.amux = LINE2,
.gpio = 0×0000,
.tv = 1,
},{
.name = name_comp1,
.vmux = 0,
.amux = LINE2,
.gpio = 0×4000,
},{
.name = name_comp2,
.vmux = 3,
.amux = LINE2,
.gpio = 0×4000,
},{
.name = name_svideo,
.vmux = 8,
.amux = LINE2,
.gpio = 0×4000,
}},
.radio = {
.name = name_radio,
.amux = LINE2,
.gpio = 0×2000,
},
.mute = {
.name = name_mute,
.amux = LINE2,
.gpio = 0×8000,
},
},
這 段是定義該卡的各種參數(shù)的,包括tuner類型為LG_PAL_NEW_TAPC,是從這個(gè)文件里flyvideo2000那段照抄下來的。

{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0×1048,
.subdevice = 0×226b,
.driver_data = SAA7134_BOARD_ELSA_500TV,
}
后面加入下面一段:
{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0×2001,
.driver_data = SAA7134_BOARD_10MOONSTVMASTER,
}
這段很重要,saa7134模塊能否自動(dòng)檢測支持該卡,就看這段的定義 了,saa7134模塊加載時(shí)會(huì)從這些ID定義里查找,符合的就驅(qū)動(dòng),找不到符合的就報(bào)告自動(dòng)檢測失敗,需要手工指定card參數(shù)。
修改完這兩個(gè) 文件后,重新make modules和make modules_install,再modprobe saa7134,可以從dmesg的輸出里看到以下信息:(見貼圖)
Linux video capture interface: v1.00
saa7130/34: v4l2 driver version 0.2.8 loaded
saa7130[0]: found at 0000:02:06.0, rev: 1, irq: 10, latency: 32, mmio: 0xde000000
saa7130[0]: subsystem: 1131:2001, board: 10MOONS PCI TV CAPTURE CARD,天敏電視大師 [card=16,autodetected]
saa7130[0]: i2c eeprom 00: 31 11 01 20 08 20 1c 55 43 43 a9 1c 55 43 43 a9
saa7130[0]: i2c eeprom 10: ff ff 00 00 31 30 4d 4f 4f 4e 53 37 31 33 30 ff
saa7130[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner: chip found @ 0xc0
tuner: type set to 37 (LG PAL (newer TAPC series))
registering 0-0060
videodev: “saa7134-video” has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/
saa7130[0]: registered device video0 [v4l2]
videodev: “saa7134-vbi” has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/
saa7130[0]: registered device vbi0
videodev: “saa7134-radio” has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/
saa7130[0]: registered device radio0
這 些信息表明:saa7134已經(jīng)自動(dòng)檢測出該卡(類型為16,也就是上面定義的)并成功驅(qū)動(dòng)了,設(shè)備文件為/dev/video0,現(xiàn)在直接運(yùn)行 xawtv,設(shè)置一下,就可以收看電視節(jié)目了(見貼圖)
現(xiàn)提供2.6.0-test6的相應(yīng)補(bǔ)丁和相應(yīng)于www.bytesex.org上 xawtv-20030926.tar.gz驅(qū)動(dòng)包的補(bǔ)丁(從附件下載)

轉(zhuǎn)貼請注明www.linuxfans.org

????? 這幾篇文章都是講天敏電視大師驅(qū)動(dòng)的, 但同樣可以借鑒到我的佳的美(gadmei)電視卡中。

????? 我是按照第一篇“給 2.6.0-test6內(nèi)核“增加”天敏電視大師電視卡驅(qū)動(dòng) ”來寫我的電視卡驅(qū)動(dòng)的, 不過這篇的內(nèi)容在我這里需要作部分修改。

????? 在這篇文章中提到去看電視卡的 Windows 驅(qū)動(dòng), 然后從驅(qū)動(dòng)文件中提取vendor id、device id、subvendor id、subdevice id , 不過佳的美的用戶可能沒有這么幸運(yùn), 無法在inf中看到這四個(gè)數(shù)值, 至少我這里是這樣。 所以我就另外找了個(gè)辦法, 用查找自身硬件驅(qū)動(dòng)的辦法來實(shí)現(xiàn)。

????? 我們可以看到下圖是 Windows 硬件管理器的信息, 里面顯示我的佳的美的電視卡是“Gadmei TV Belle WDM Video CaptureA”。

?????? 然后我就去注冊表中查找這個(gè)“Gadmei TV Belle WDM Video CaptureA”, 在注冊表中最后找到的信息如下圖:

????? 從這里我們可以看到這么一串字符:

“hardwareID:PCI/VEN_1131&DEV_7130&SUBSYS_00001131”

????? 這個(gè)時(shí)候如果你已經(jīng)看過文章“給 2.6.0-test6內(nèi)核“增加”天敏電視大師電視卡驅(qū)動(dòng) ”, 那你應(yīng)該就知道vendor id、device id、subvendor id、subdevice id 這幾個(gè)信息的值了, 根據(jù)上面的注冊表信息, 我最后確定我的佳的美電視卡的信息是:

vendor id=1131
device id為7130
subvendor id=1131
subdevice id=0000

????? 有了這么一個(gè)東西就可以自己寫驅(qū)動(dòng)了, Linux(ubuntu)下就是憑著這幾個(gè)硬件關(guān)鍵信息找到對應(yīng)的驅(qū)動(dòng)的(我估計(jì)Windows應(yīng)該也是憑借這個(gè)找驅(qū)動(dòng)的)。 增加驅(qū)動(dòng)的方法完全跟上面文章的“給 2.6.0-test6內(nèi)核“增加”天敏電視大師電視卡驅(qū)動(dòng) ”的方法一樣。

********************************

1、 下載saa7134的原始驅(qū)動(dòng):

sudo apt-get install mercurial
hg clone http://linuxtv.org/hg/v4l-dvb

2、 進(jìn)入 v4l-dvb/linux/drivers/media/video/saa7134/ 目錄下, 修改如下文件:

1)修改 saa7134.h(說明, 這里是給你的卡定義一個(gè)值, 所以后面的數(shù)值是不能重復(fù)的)

找到類似
#define SAA7134_BOARD_FLYVIDEO2000????? 3
的card configuration段, 在最后添加你的卡信息, 比如我的添加的是
#define SAA7134_BOARD_GADMEITVMASTER ??? 118

********************

2)修改saa7134-cards.c(這里的修改就意味著你的卡能不能被自動(dòng)識(shí)別了)

在此之前我們已經(jīng)說過, 憑借人肉大戰(zhàn), 我們已經(jīng)找到了可以播放電視的驅(qū)動(dòng), 我的佳的美就是FLYVIDEO2000的, 所以我就把FLYVIDEO2000這一段內(nèi)容拷貝出來(如果你是試驗(yàn)下來是別的型號(hào)的, 那就拷貝別的內(nèi)容)

拷貝出來之后修改成如下內(nèi)容并增加在[SAA7134_BOARD_FLYVIDEO2000]之后:

[SAA7134_BOARD_GADMEITVMASTER ] = {
? /* “hongfengye” */
? .name?????????? = “LifeView FlyVIDEO2000″,
? .audio_clock??? = 0×00200000,
? .tuner_type???? = TUNER_LG_PAL_NEW_TAPC,
? .gpiomask?????? = 0xe000,
? .inputs???????? = {{
?? .name = name_tv,
?? .vmux = 1,
?? .amux = LINE2,
?? .gpio = 0×0000,
?? .tv?? = 1,
? },{
?? .name = name_comp1,
?? .vmux = 0,
?? .amux = LINE2,
?? .gpio = 0×4000,
? },{
?? .name = name_comp2,
?? .vmux = 3,
?? .amux = LINE2,
?? .gpio = 0×4000,
? },{
?? .name = name_svideo,
?? .vmux = 8,
?? .amux = LINE2,
?? .gpio = 0×4000,
? }},
? .radio = {
?????????????? .name = name_radio,
?????????????? .amux = LINE2,
?????????????? .gpio = 0×2000,
? },
? .mute = {
????????????? .name = name_mute,
????????????? .amux = LINE2,
????????????? .gpio = 0×3000 ,
? },
},

注意紅字 部分, 必須匹配, 其他的我照抄FLYVIDEO2000的內(nèi)容; 再注意藍(lán)字 部分, 這里原來FLYVIDEO2000中是gpio=0×8000, 我經(jīng)過試驗(yàn)發(fā)現(xiàn)這個(gè)值聲音無法控制, 只要啟動(dòng) ubuntu 就一直有電視的聲音, 而改到 gpio=0×3000 聲音就可以控制, 這個(gè)gpio值我是試驗(yàn)出來的, 當(dāng)然也參考了上面的文章中的值, 我還是不知道如何去查找一個(gè)正確的gpio值出來, catinsnow提供說regspy可以用來監(jiān)測gpio值, 我還不知道如何使用。

繼續(xù)在saa7134-cards.c中增加如下內(nèi)容(也可以增加在.driver_data? = SAA7134_BOARD_FLYVIDEO2000之后):

{
? .vendor?????? = PCI_VENDOR_ID_PHILIPS,
? .device?????? = PCI_DEVICE_ID_PHILIPS_SAA7130,
? .subvendor??? = 0×1131,
? .subdevice??? = 0×0000,
? .driver_data? = SAA7134_BOARD_GADMEITVMASTER ,
},

注意, 紅色 部分依然是一一對應(yīng)。 這里說明一下, 這里就是關(guān)鍵的部分, 硬件的四個(gè)標(biāo)志符在這里全部配對, 硬件就找到了對應(yīng)的軟件, 這里的四個(gè)值就是上面我們找到的4個(gè), 只不過這里有其中兩個(gè)是已經(jīng)有了用字符定義的常量了, 所以就直接寫成了字符, 也可以寫成上面的數(shù)字的。

3、編譯驅(qū)動(dòng)并安裝

make
make install

????? 最后就是重啟了! 重啟之后看是否能夠找到你的電視卡, 如果還沒有找到, 可能還是上面的四個(gè)標(biāo)志值不正確, 需要重新調(diào)整; 如果ubuntu剛開始啟動(dòng)電視就發(fā)聲了, 那你就需要調(diào)整上面藍(lán)字部分的gpio值, 具體的我還不知道怎么找, 只能靠猜測了! 我的佳的美PT308已經(jīng)完美的工作了,真是爽啊! 向ubuntu完美生活又邁進(jìn)了一步。

????? 最后再發(fā)個(gè)gpio的感慨, 這個(gè)東西真是一個(gè)好東東, 可以直接控制硬件的信息, 這次弄正確了gpio之后, tvtime退出后直接就沒有聲音了, 但音量控制中線路輸入和線路輸入的靜音都沒有用到。 在gpio不正確的時(shí)候, 只能靠網(wǎng)上的朋友的辦法, 在tvtime退出的時(shí)候靜音線路輸入, 如果這個(gè)時(shí)候線路輸入有兩個(gè)以上的音源就不爽了。

????? 接下來, 準(zhǔn)備搞搞我那攝像頭了, 不知道能不能搞定, 昨天大致的看了一下網(wǎng)上, 發(fā)現(xiàn)這個(gè)關(guān)于攝像頭的資料還是比較少的, 不知道能不能成功呢?

????? 在文章的最后, 我發(fā)現(xiàn)原來不用注冊表、 硬件管理器這么麻煩的東東, 只要在Windows下安裝一個(gè)fly2000的電視卡播放器, 然后在setting中的硬件信息中就可以看到了。 具體如下圖所示:

?????? 再一次贊一下ubuntu中文論壇 , 的確解決了我不少的問題。

總結(jié)

以上是生活随笔為你收集整理的ubuntu 生活之电视卡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。