How to get the Nebula, PCTV and Twinhan DST cards working
=========================================================

This class of cards has a bt878a as the PCI interface, and
require the bttv driver.

Please pay close attention to the warning about the bttv module
options below for the DST card.

1) General informations
=======================

These drivers require the bttv driver to provide the means to access
the i2c bus and the gpio pins of the bt8xx chipset.

Because of this, you need to enable
"Device drivers" => "Multimedia devices"
  => "Video For Linux" => "BT848 Video For Linux"

Furthermore you need to enable
"Device drivers" => "Multimedia devices" => "Digital Video Broadcasting Devices"
  => "DVB for Linux" "DVB Core Support" "BT8xx based PCI cards"

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

In general you need to load the bttv driver, which will handle the gpio and
i2c communication for us, plus the common dvb-bt8xx device driver.
The frontends for Nebula (nxt6000), Pinnacle PCTV (cx24110) and
TwinHan (dst) are loaded automatically by the dvb-bt8xx device driver.

3a) Nebula / Pinnacle PCTV
--------------------------

   $ modprobe bttv (normally bttv is being loaded automatically by kmod)
   $ modprobe dvb-bt8xx (or just place dvb-bt8xx in /etc/modules for automatic loading)


3b) TwinHan and Clones
--------------------------

   $ modprobe bttv i2c_hw=1 card=0x71
   $ modprobe dvb-bt8xx
   $ modprobe dst

The value 0x71 will override the PCI type detection for dvb-bt8xx,
which  is necessary for TwinHan cards.

If you're having an older card (blue color circuit) and card=0x71 locks
your machine, try using 0x68, too. If that does not work, ask on the
mailing list.

The DST module takes a couple of useful parameters.

verbose takes values 0 to 4. These values control the verbosity level,
and can be used to debug also.

verbose=0 means complete disabling of messages
	1 only error messages are displayed
	2 notifications are also displayed
	3 informational messages are also displayed
	4 debug setting

dst_addons takes values 0 and 0x20. A value of 0 means it is a FTA card.
0x20 means it has a Conditional Access slot.

The autodected values are determined bythe cards 'response
string' which you can see in your logs e.g.

dst_get_device_id: Recognise [DSTMCI]


--
Authors: Richard Walker, Jamie Honan, Michael Hunold, Manu Abraham
