How to get the bt8xx cards working
==================================

1) General information
======================

This class of cards has a bt878a as the PCI interface, and require the bttv driver
for accessing the i2c bus and the gpio pins of the bt8xx chipset.
Please see Documentation/dvb/cards.txt => o Cards based on the Conexant Bt8xx PCI bridge:

Compiling kernel please enable:
a.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "Enable Video for Linux API 1 (DEPRECATED)"
b.)"Device drivers" => "Multimedia devices" => "Video For Linux" => "Video Capture Adapters" => "BT848 Video For Linux"
c.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices" => "DVB for Linux" "DVB Core Support" "Bt8xx based PCI Cards"

Please use the following options with care as deselection of drivers which are in fact necessary
may result in DVB devices that cannot be tuned due to lack of driver support:
You can save RAM by deselecting every frontend module that your DVB card does not need.

First please remove the static dependency of DVB card drivers on all frontend modules for all possible card variants by enabling:
d.) "Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
 => "DVB for Linux" "DVB Core Support" "Load and attach frontend modules as needed"

If you know the frontend driver that your card needs please enable:
e.)"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
 => "DVB for Linux" "DVB Core Support" "Customise DVB Frontends" => "Customise the frontend modules to build"
 Then please select your card-specific frontend module.

2) Loading Modules
==================

Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically.
Exceptions are:
- Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom.
People running udev please see Documentation/dvb/udev.txt.

In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary:

2a) Running TwinHan and Clones
------------------------------

	$ modprobe bttv card=113
	$ modprobe dst

Useful parameters for verbosity level and debugging the dst module:

verbose=0:		messages are disabled
	1:		only error messages are displayed
	2:		notifications are displayed
	3:		other useful messages are displayed
	4:		debug setting
dst_addons=0:		card is a free to air (FTA) card only
	   0x20:	card has a conditional access slot for scrambled channels

The autodetected values are determined by the cards' "response string".
In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
For bug reports please send in a complete log with verbose=4 activated.
Please also see Documentation/dvb/ci.txt.

2b) Running multiple cards
--------------------------

Examples of card ID's:

Pinnacle PCTV Sat:		 94
Nebula Electronics Digi TV:	104
pcHDTV HD-2000 TV:		112
Twinhan DST and clones:		113
Avermedia AverTV DVB-T 771:	123
Avermedia AverTV DVB-T 761:	124
DViCO FusionHDTV DVB-T Lite:	128
DViCO FusionHDTV 5 Lite:	135

Notice: The order of the card ID should be uprising:
Example:
	$ modprobe bttv card=113 card=135

For a full list of card ID's please see Documentation/video4linux/CARDLIST.bttv.
In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org.

2c) Probing the cards with broken PCI subsystem ID
--------------------------------------------------
There are some TwinHan cards that the EEPROM has become corrupted for some
reason. The cards do not have correct PCI subsystem ID. But we can force
probing the cards with broken PCI subsystem ID

	$ echo 109e 0878 $subvendor $subdevice > \
		/sys/bus/pci/drivers/bt878/new_id

109e: PCI_VENDOR_ID_BROOKTREE
0878: PCI_DEVICE_ID_BROOKTREE_878

Authors: Richard Walker,
	 Jamie Honan,
	 Michael Hunold,
	 Manu Abraham,
	 Uwe Bugla,
	 Michael Krufky
