File:  [DVB] / dvb-kernel / README.bt8xx
Revision 1.4: download - view: text, annotated - select for diffs
Tue Nov 25 12:27:33 2003 UTC (20 years, 6 months ago) by hunold
Branches: MAIN
CVS tags: HEAD
- revamp README using my latest experiences

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.

For 2.4, make sure you are using an uptodate kernel 2.4.23 and above.
For 2.6, shuffle down to the 2.6 section below.

1) 2.4
======

For 2.4, make sure you are using an uptodate kernel 2.4.23 and above.
This is the *only* way to go when you are experimenting with 
bleeding-edge stuff like DVB. Do the usual to build your kernel.  
(remember to enable the V4L functionality) 

I'd recommend you install and  test your kernel, rather than diving
straight into the bt878 stuff.

Download http://bytesex.org/snapshot/video4linux-xxxxyyzz.tar.gz, where
xxxxyyzz is the date of the release.

Extract it and do the usual "make" and "make install".
  $ tar xzfv video4linux-xxxxyyzz.tar.gz
  $ make
  $ make install
  
Now grab "dvb-kernel" from CVS:

  $ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
  $ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel

... and build the driver:

  $ cd dvb-kernel/build-2.4
  $ ./getlinks
  $ make
  $ make install

2) 2.6
======

For 2.6, you don't need the latest bttv driver, everything is in
the kernel drivers. Please use 2.6.0-test10 and above.

Checkout dvb-kernel as mentionen above, but then do everything as per
the README in dvb-kernel.

3) Loading Modules
==================

You can either modify and use the "insmod-bt8xx.sh" script in the build-2.4
directory or simply do everything by hand.

In general you need to load the bttv driver, which will handle the gpio and
i2c communication for us. Next you need the common dvb-bt8xx device driver
and one frontend driver.

The bttv driver will HANG YOUR SYSTEM IF YOU DO NOT SPECIFY THE COORECT 
CARD ID! A list of possible card ids can be found inside "bttv-cards.c" inside
the bttv driver package. 

Pay attention to failures to load these frontends. 
(E.g. dmesg, /var/log/messages).

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

   $ modprobe bttv i2c_hw=1 card=0x68
   $ modprobe dvb-bt8xx
   
For Nebula cards use the "nxt6000" frontend driver:
   $ modprobe nxt6000

For Pinnacle PCTV cards use the "cx24110" frontend driver:
   $ modprobe cx24110

3b) TwinHan
-----------

   $ 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. 

The DST module takes a couple of useful parameters, in case the
dst drivers fails to detect your type of card correctly.

dst_type takes values 0 (satellite), 1 (terrestial TV), 2 (cable).

dst_type_flags takes bit combined values:
1 = new tuner type packets. You can use this if your card is detected
    and you have debug and you continually see the tuner packets not
    working (make sure not a basic problem like dish alignment etc.)

2 = TS 204. If your card tunes OK, but the picture is terrible, seemingly
    breaking up in one half continually, and crc fails a lot, then
    this is worth a try (or trying to turn off)

4 = has symdiv. Some cards, mostly without new tuner packets, require
    a symbol division algorithm. Doesn't apply to terrestial TV.

You can also specify a value to have the autodetected values turned off
(e.g. 0). The autodected values are determined bythe cards 'response
string' which you can see in your logs e.g.

dst_check_ci: recognize DST-MOT

or 

dst_check_ci: unable to recognize DSTXCI or STXCI

4) The rest
===========

That's it. Have fun. Report problems to the mailing list. Thanks!

--
Authors:
Richard Walker (Original)
Jamie Honan (13 Oct 2003)
Michael Hunold (25 Nov 2003)

LinuxTV legacy CVS <linuxtv.org/cvs>