Difference between revisions of "Bttv devices (bt848, bt878)"

From LinuxTVWiki
Jump to: navigation, search
(changed provideo to correct part number)
 
(44 intermediate revisions by 12 users not shown)
Line 1: Line 1:
I'm new to v4l so take these comments with a grain of salt.  If you find that I'm wrong about something, please create an account for yourself, login, and edit my comments so as to correct them.
+
Bttv devices are collectively those PCI cards that are based upon either a [[Bt848]], [[Bt878]] or [[Fusion 878A]] chip, and which are supported under Linux by the [[bttv|bttv and associated kernel driver modules]].  These devices can be capture-only cards - which means video is taken directly from a video source without the use of a tuner - or they can be TV cards which make use of RF tuner circuitry to receive television signals and the capture chip is there to decode the extracted video and audio.
  
From the 2.6.11 kernel documentation (see /usr/src/linux/Documentation/video4linux/CARDLIST.bttv), the bttv driver in v4l supports the following devices:
+
==Supported bttv devices==
 +
An up-to-date list of bttv devices supported by V4L-DVB drivers is found in the [http://git.linuxtv.org/media_tree.git/blob/HEAD:/Documentation/video4linux/CARDLIST.bttv CARDLIST.bttv] file in the master development repository.
  
<ol>
+
Devices supported by the kernel running on your system are listed in your local <code><path_to_your_kernel_sources>/Documentation/video4linux/CARDLIST.bttv</code>.
<li>card=1 - MIRO PCTV
+
<li>card=2 - Hauppauge (bt848)
+
<li>card=3 - STB, Gateway P/N 6000699 (bt848)
+
<li>card=4 - Intel Create and Share PCI/ Smart Video Recorder III
+
<li>card=5 - Diamond DTV2000
+
<li>card=6 - AVerMedia TVPhone
+
<li>card=7 - MATRIX-Vision MV-Delta
+
<li>card=8 - Lifeview FlyVideo II (Bt848) LR26 / MAXI TV Video PCI2 LR26
+
<li>card=9 - IMS/IXmicro TurboTV
+
<li>card=10 - Hauppauge (bt878)
+
<li>card=11 - MIRO PCTV pro
+
<li>card=12 - ADS Technologies Channel Surfer TV (bt848)
+
<li>card=13 - AVerMedia TVCapture 98
+
<li>card=14 - Aimslab Video Highway Xtreme (VHX)
+
<li>card=15 - Zoltrix TV-Max
+
<li>card=16 - Prolink Pixelview PlayTV (bt878)
+
<li>card=17 - Leadtek WinView 601
+
<li>card=18 - AVEC Intercapture
+
<li>card=19 - Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture only)
+
<li>card=20 - CEI Raffles Card
+
<li>card=21 - Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50
+
<li>card=22 - Askey CPH050/ Phoebe Tv Master + FM
+
<li>card=23 - Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV, bt878
+
<li>card=24 - Askey CPH05X/06X (bt878) [many vendors]
+
<li>card=25 - Terratec TerraTV+ Version 1.0 (Bt848)/ Terra TValue Version 1.0/ Vobis TV-Boostar
+
<li>card=26 - Hauppauge WinCam newer (bt878)
+
<li>card=27 - Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50
+
<li>card=28 - Terratec TerraTV+ Version 1.1 (bt878)
+
<li>card=29 - Imagenation PXC200
+
<li>card=30 - Lifeview FlyVideo 98 LR50
+
<li>card=31 - Formac iProTV, Formac ProTV I (bt848)
+
<li>card=32 - Intel Create and Share PCI/ Smart Video Recorder III
+
<li>card=33 - Terratec TerraTValue Version Bt878
+
<li>card=34 - Leadtek WinFast 2000/ WinFast 2000 XP
+
<li>card=35 - Lifeview FlyVideo 98 LR50 / Chronos Video Shuttle II
+
<li>card=36 - Lifeview FlyVideo 98FM LR50 / Typhoon TView TV/FM Tuner
+
<li>card=37 - Prolink PixelView PlayTV pro
+
<li>card=38 - Askey CPH06X TView99
+
<li>card=39 - Pinnacle PCTV Studio/Rave
+
<li>card=40 - STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100
+
<li>card=41 - AVerMedia TVPhone 98
+
<li>card=42 - ProVideo PV951
+
<li>card=43 - Little OnAir TV
+
<li>card=44 - Sigma TVII-FM
+
<li>card=45 - MATRIX-Vision MV-Delta 2
+
<li>card=46 - Zoltrix Genie TV/FM
+
<li>card=47 - Terratec TV/Radio+
+
<li>card=48 - Askey CPH03x/ Dynalink Magic TView
+
<li>card=49 - IODATA GV-BCTV3/PCI
+
<li>card=50 - Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP
+
<li>card=51 - Eagle Wireless Capricorn2 (bt878A)
+
<li>card=52 - Pinnacle PCTV Studio Pro
+
<li>card=53 - Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS
+
<li>card=54 - Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90]
+
<li>card=55 - Askey CPH031/ BESTBUY Easy TV
+
<li>card=56 - Lifeview FlyVideo 98FM LR50
+
<li>card=57 - GrandTec 'Grand Video Capture' (Bt848)
+
<li>card=58 - Askey CPH060/ Phoebe TV Master Only (No FM)
+
<li>card=59 - Askey CPH03x TV Capturer
+
<li>card=60 - Modular Technology MM100PCTV
+
<li>card=61 - AG Electronics GMV1
+
<li>card=62 - Askey CPH061/ BESTBUY Easy TV (bt878)
+
<li>card=63 - ATI TV-Wonder
+
<li>card=64 - ATI TV-Wonder VE
+
<li>card=65 - Lifeview FlyVideo 2000S LR90
+
<li>card=66 - Terratec TValueRadio
+
<li>card=67 - IODATA GV-BCTV4/PCI
+
<li>card=68 - 3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA)
+
<li>card=69 - Active Imaging AIMMS
+
<li>card=70 - Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
+
<li>card=71 - Lifeview FlyVideo 98EZ (capture only) LR51
+
<li>card=72 - Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)
+
<li>card=73 - Sensoray 311
+
<li>card=74 - RemoteVision MX (RV605)
+
<li>card=75 - Powercolor MTV878/ MTV878R/ MTV878F
+
<li>card=76 - Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)
+
<li>card=77 - GrandTec Multi Capture Card (Bt878)
+
<li>card=78 - Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF
+
<li>card=79 - DSP Design TCVIDEO
+
<li>card=80 - Hauppauge WinTV PVR
+
<li>card=81 - IODATA GV-BCTV5/PCI
+
<li>card=82 - Osprey 100/150 (878)
+
<li>card=83 - Osprey 100/150 (848)
+
<li>card=84 - Osprey 101 (848)
+
<li>card=85 - Osprey 101/151
+
<li>card=86 - Osprey 101/151 w/ svid
+
<li>card=87 - Osprey 200/201/250/251
+
<li>card=88 - Osprey 200/250
+
<li>card=89 - Osprey 210/220
+
<li>card=90 - Osprey 500
+
<li>card=91 - Osprey 540
+
<li>card=92 - Osprey 2000
+
<li>card=93 - IDS Eagle
+
<li>card=94 - Pinnacle PCTV Sat
+
<li>card=95 - Formac ProTV II (bt878)
+
<li>card=96 - MachTV
+
<li>card=97 - Euresys Picolo
+
<li>card=98 - ProVideo PV150
+
<li>card=99 - AD-TVK503
+
<li>card=100 - Hercules Smart TV Stereo
+
<li>card=101 - Pace TV & Radio Card
+
<li>card=102 - IVC-200
+
<li>card=103 - Grand X-Guard / Trust 814PCI
+
<li>card=104 - Nebula Electronics DigiTV
+
<li>card=105 - ProVideo PV143
+
<li>card=106 - PHYTEC VD-009-X1 MiniDIN (bt878)
+
<li>card=107 - PHYTEC VD-009-X1 Combi (bt878)
+
<li>card=108 - PHYTEC VD-009 MiniDIN (bt878)
+
<li>card=109 - PHYTEC VD-009 Combi (bt878)
+
<li>card=110 - IVC-100
+
<li>card=111 - IVC-120G
+
<li>card=112 - pcHDTV HD-2000 TV
+
<li>card=113 - Twinhan DST + clones
+
<li>card=114 - Winfast VC100
+
<li>card=115 - Teppro TEV-560/InterVision IV-560
+
<li>card=116 - SIMUS GVC1100
+
<li>card=117 - NGS NGSTV+
+
<li>card=118 - LMLBT4
+
<li>card=119 - Tekram M205 PRO
+
<li>card=120 - Conceptronic CONTVFMi
+
</ol>
+
  
If you don't have one of these devices, then it might be a rather difficult challenge to get your card working with the bttv driver because there are a number of parameters (set in drivers/media/video/bttv-cards.c) to set for each card and they tend to be different for each card and learning what those parameters need to be for each card is not trivial.  Sometimes you must run your video software in windoze as well as some monitoring software like BtSpy in order to determine the correct hardware settings used in windoze and then use that information to modify bttv-cards.c and create a new card= entry for your card. Make sure you post your findings here or on the video4linux mailing list (video4linux-list@redhat.com) if you do that. You could also try loading the bttv module with the card= parameter set to each one of the cards listed above just to see if you'll get lucky and find one that works for your card. Again, if you are successful, then share your results with the rest of us via this wiki or the list.
+
===Getting an unlisted card to work===
 +
If your card is not listed, see the "[[Development: How to add support for a device|How to add support for a device]]" article.
 +
 
 +
bttv devices can be challenging to get working with the [[bttv|bttv driver]] because there are a number of parameters that need to be configured, and these tend to differ for each device. (You can find the configuration settings for already supported devices in <code>/linux/drivers/media/video/bt8xx/bttv-cards.c</code>).  Learning what these parameters need to be for your specific device may not be a trivial taskYou could try loading the [[bttv|bttv module]] with the card= parameter set to each one of the cards listed in the [http://git.linuxtv.org/media_tree.git/blob/HEAD:/Documentation/video4linux/CARDLIST.bttv CARDLIST.bttv] just to see if you'll get lucky and find one that works for your card. Another method used to help discover the hardware settings required for a bttv device is running the device under a Windows OS with video software and the BtSpy ([http://btwincap.sourceforge.net/custom.html] [http://sourceforge.net/project/showfiles.php?group_id=38123]) monitoring. 
 +
 
 +
Also of interest is the note on getting sound to work with a bttv device: http://git.linuxtv.org/media_tree.git/blob/HEAD:/Documentation/video4linux/bttv/Sound-FAQ
 +
 
 +
Make sure you post the findings of your investigations here and on the [http://vger.kernel.org/vger-lists.html#linux-media Linux-Media Mailing List] so that bttv-cards.c can be updated with a new card= entry for your card.
 +
 
 +
==Installation==
 +
Details on the installation of specific cards, grouped by vendor; please add your card here.
 +
 
 +
{{Note|Some bt878 capture cards have a single chip on board and four inputs on the card's PCI riser. In this case, don't expect multiple input devices. You would have multiple /dev/videoX if you actually had multiple videograbber devices - but you don't. You have one device (the 878A) with multiple inputs, of which only one at a time can be active. This input switching is done by means of the single /dev/videoX API.}}
 +
 
 +
===General===
 +
This is a general howto here. It might work, but if there's a more specific one for your specific card in this wiki, you should use that one. If not, you should try this howto here, and if it works, add this section to your card's article in this wiki. Thanks.
 +
 
 +
=== Driver ===
 +
The Bt878 chip is supported by new kernel versions -- good news! :)
 +
 
 +
This is what I've done (Debian Sarge testing, kernel version 2.6.16.9). It follows the standard installation of the [[bttv]] driver for DVB as it is included in new kernels.
 +
 
 +
Use '''lsmod''' to see if you have all these modules already installed and running.
 +
  bttv
 +
  bt878
 +
  dvb_core
 +
  dst
 +
  dvb-bt8xx
 +
If you can't find all of them, try to load them one by one with '''modprobe''', e.g.
 +
  modprobe bt878
 +
Now try lsmod again.
 +
 
 +
If you can find all of them, '''you don't have to re-compile your kernel''' but can use the drivers/modules right away (see below). Otherwise:
 +
 
 +
==== Kernel re-compile ====
 +
In kernel configuration (make menuconfig) make sure to have:
 +
 
 +
* Under Device Drivers - Multimedia Devices - Video for Linux
 +
  <M> BT 848
 +
  [*] DVB for bt878
 +
which is equivalent to these entries in the kernel .config file:
 +
  CONFIG_VIDEO_BT848=m
 +
  CONFIG_VIDEO_BT848_DVB=y
 +
 
 +
 
 +
* Under Device Drivers - Multimedia Devices - Digital Video Broadcasting Devices
 +
  <M> DVB for Linux
 +
  <M> DVB Core Support
 +
And there under DVB Core Support - Customise DVB Frontends
 +
  <M> ... something like DVB_BT8XX
 +
which is equivalent to these entries in the kernel .config file:
 +
  CONFIG_DVB=y
 +
  CONFIG_DVB_CORE=m
 +
  CONFIG_DVB_BT8XX=y
 +
And maybe (not sure if necessary) still there under ATSC
 +
  <M> Video BTCX
 +
which is equivalent to this entry in the kernel .config file:
 +
  CONFIG_VIDEO_BTCX = m
 +
 
 +
 
 +
* Under Device Drivers - Sound - ALSA - PCI devices
 +
  <M> BT878
 +
which is equivalent to this entry in the kernel .config file:
 +
  CONFIG_SND=y etc. for sound in general
 +
  CONFIG_SND_BT87X=m
 +
 
 +
(I may have missed a couple of options. Please add them.) Save the config file, compile your new kernel, install it and restart.  
 +
 
 +
 
 +
====Modules needed====
 +
Required modules and parameters:
 +
  bttv
 +
  bt878
 +
  dvb_core
 +
  dst
 +
  dvb-bt8xx
 +
Load them using '''modprobe'''.
 +
 
 +
You should now have some stuff in
 +
/dev/dvb/adapter0/
 +
 
 +
That's it. Depending on your card model (?), you probably don't need any firmware stuff.
 +
 
 +
 
 +
=== Next steps ===
 +
[[Testing your DVB device]]
 +
 
 +
====[[AVerMedia]]====
 +
 
 +
* [[AVerMedia TVCapture 98|TVCapture 98]]
 +
 
 +
====[[Hauppauge]]====
 +
 
 +
* Hauppauge WINTV DBX TV Stereo 125CHNL TV Tuner w/FM Stereo Radio PCI --
 +
* Hauppauge WINTV PAL-B/G 38104 REV.B208
 +
[[http://www.linuxjournal.com/node/8116/print writeup in Linux Journal]]
 +
 
 +
====[[Hercules Smart TV 2 Stereo| Hercules]]====
 +
 
 +
According the Hercules support site (http://ts.hercules.com), there are various Smart TV cards. (I'm not sure they all use BT8xx chips.)
 +
 
 +
* Hercules Smart TV
 +
* Hercules Smart TV Stereo
 +
* Hercules Smart TV 2
 +
* Hercules Smart TV 2 Stereo
 +
* Hercules Smart TV 3
 +
* Hercules Smart TV DVB-T
 +
* Hercules Smart TV Satellite
 +
* Hercules Smart TV On-Screen
 +
* Hercules Smart TV USB 2.0
 +
 
 +
====[[Leadtek WinFast 2000| Leadtek]]====
 +
 
 +
* Leadtek cards including Winfast 2000, Winfast TV2000 XP, Winfast TV2000 XP RM and Winfast TV2000 XP FM
 +
 
 +
====Linux Media Labs====
 +
 
 +
* LMLBT4x multi-channel video surveillance boards are supported in kernels from 2.6.3
 +
 
 +
====Pinnacle====
 +
* Pinnacle PCTV, Miro PCTV. See [[Pinnacle PCTV Pro]]
 +
* Pinnacle PCTV Pro, Miro PCTV Pro. See [[Pinnacle PCTV Pro]]
 +
 
 +
====[[Kodicom]]====
 +
 
 +
Kodicom produces capture-only cards for use in Digital Video Recorder (DVR) applications. The [[Kodicom 4400R]] and [[Kodicom 8800R]] cards and their many clones are supported by the bttv driver from kernel version 2.6.13 onwards
 +
 
 +
====[[Kozumi]]====
 +
* [[Kozumi KTV-01C|KTV-01C]]  ... For this card you only need to set bttv card=142, since this is a clone of the Sabrent card.
 +
 
 +
====[[Provideo]]====
 +
* [[Provideo#PV-981|PV981a]] ... Four BT878 chips on PCIe, 16 inputs.
 +
 
 +
[[Category:Hardware]]

Latest revision as of 12:24, 10 September 2015

Bttv devices are collectively those PCI cards that are based upon either a Bt848, Bt878 or Fusion 878A chip, and which are supported under Linux by the bttv and associated kernel driver modules. These devices can be capture-only cards - which means video is taken directly from a video source without the use of a tuner - or they can be TV cards which make use of RF tuner circuitry to receive television signals and the capture chip is there to decode the extracted video and audio.

Supported bttv devices

An up-to-date list of bttv devices supported by V4L-DVB drivers is found in the CARDLIST.bttv file in the master development repository.

Devices supported by the kernel running on your system are listed in your local <path_to_your_kernel_sources>/Documentation/video4linux/CARDLIST.bttv.

Getting an unlisted card to work

If your card is not listed, see the "How to add support for a device" article.

bttv devices can be challenging to get working with the bttv driver because there are a number of parameters that need to be configured, and these tend to differ for each device. (You can find the configuration settings for already supported devices in /linux/drivers/media/video/bt8xx/bttv-cards.c). Learning what these parameters need to be for your specific device may not be a trivial task. You could try loading the bttv module with the card= parameter set to each one of the cards listed in the CARDLIST.bttv just to see if you'll get lucky and find one that works for your card. Another method used to help discover the hardware settings required for a bttv device is running the device under a Windows OS with video software and the BtSpy ([1] [2]) monitoring.

Also of interest is the note on getting sound to work with a bttv device: http://git.linuxtv.org/media_tree.git/blob/HEAD:/Documentation/video4linux/bttv/Sound-FAQ

Make sure you post the findings of your investigations here and on the Linux-Media Mailing List so that bttv-cards.c can be updated with a new card= entry for your card.

Installation

Details on the installation of specific cards, grouped by vendor; please add your card here.

Note: Some bt878 capture cards have a single chip on board and four inputs on the card's PCI riser. In this case, don't expect multiple input devices. You would have multiple /dev/videoX if you actually had multiple videograbber devices - but you don't. You have one device (the 878A) with multiple inputs, of which only one at a time can be active. This input switching is done by means of the single /dev/videoX API.

General

This is a general howto here. It might work, but if there's a more specific one for your specific card in this wiki, you should use that one. If not, you should try this howto here, and if it works, add this section to your card's article in this wiki. Thanks.

Driver

The Bt878 chip is supported by new kernel versions -- good news! :)

This is what I've done (Debian Sarge testing, kernel version 2.6.16.9). It follows the standard installation of the bttv driver for DVB as it is included in new kernels.

Use lsmod to see if you have all these modules already installed and running.

 bttv
 bt878 
 dvb_core
 dst 
 dvb-bt8xx

If you can't find all of them, try to load them one by one with modprobe, e.g.

 modprobe bt878

Now try lsmod again.

If you can find all of them, you don't have to re-compile your kernel but can use the drivers/modules right away (see below). Otherwise:

Kernel re-compile

In kernel configuration (make menuconfig) make sure to have:

  • Under Device Drivers - Multimedia Devices - Video for Linux
 <M> BT 848
 [*] DVB for bt878

which is equivalent to these entries in the kernel .config file:

 CONFIG_VIDEO_BT848=m
 CONFIG_VIDEO_BT848_DVB=y


  • Under Device Drivers - Multimedia Devices - Digital Video Broadcasting Devices
 <M> DVB for Linux
 <M> DVB Core Support

And there under DVB Core Support - Customise DVB Frontends

 <M> ... something like DVB_BT8XX

which is equivalent to these entries in the kernel .config file:

 CONFIG_DVB=y
 CONFIG_DVB_CORE=m
 CONFIG_DVB_BT8XX=y

And maybe (not sure if necessary) still there under ATSC

 <M> Video BTCX

which is equivalent to this entry in the kernel .config file:

 CONFIG_VIDEO_BTCX = m


  • Under Device Drivers - Sound - ALSA - PCI devices
 <M> BT878

which is equivalent to this entry in the kernel .config file:

 CONFIG_SND=y etc. for sound in general 
 CONFIG_SND_BT87X=m

(I may have missed a couple of options. Please add them.) Save the config file, compile your new kernel, install it and restart.


Modules needed

Required modules and parameters:

 bttv
 bt878 
 dvb_core
 dst 
 dvb-bt8xx

Load them using modprobe.

You should now have some stuff in /dev/dvb/adapter0/

That's it. Depending on your card model (?), you probably don't need any firmware stuff.


Next steps

Testing your DVB device

AVerMedia

Hauppauge

  • Hauppauge WINTV DBX TV Stereo 125CHNL TV Tuner w/FM Stereo Radio PCI --
  • Hauppauge WINTV PAL-B/G 38104 REV.B208

[writeup in Linux Journal]

Hercules

According the Hercules support site (http://ts.hercules.com), there are various Smart TV cards. (I'm not sure they all use BT8xx chips.)

  • Hercules Smart TV
  • Hercules Smart TV Stereo
  • Hercules Smart TV 2
  • Hercules Smart TV 2 Stereo
  • Hercules Smart TV 3
  • Hercules Smart TV DVB-T
  • Hercules Smart TV Satellite
  • Hercules Smart TV On-Screen
  • Hercules Smart TV USB 2.0

Leadtek

  • Leadtek cards including Winfast 2000, Winfast TV2000 XP, Winfast TV2000 XP RM and Winfast TV2000 XP FM

Linux Media Labs

  • LMLBT4x multi-channel video surveillance boards are supported in kernels from 2.6.3

Pinnacle

Kodicom

Kodicom produces capture-only cards for use in Digital Video Recorder (DVR) applications. The Kodicom 4400R and Kodicom 8800R cards and their many clones are supported by the bttv driver from kernel version 2.6.13 onwards

Kozumi

  • KTV-01C ... For this card you only need to set bttv card=142, since this is a clone of the Sabrent card.

Provideo

  • PV981a ... Four BT878 chips on PCIe, 16 inputs.