Bttv devices (bt848, bt878)
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.
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
AVerMedia
Hauppauge
- Hauppauge WINTV DBX TV Stereo 125CHNL TV Tuner w/FM Stereo Radio PCI --
- Hauppauge WINTV PAL-B/G 38104 REV.B208
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
- 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
- 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.