File:  [DVB] / dvb-kernel / README.bt8xx
Revision 1.5: download - view: text, annotated - select for diffs
Thu Dec 4 19:59:14 2003 UTC (20 years, 6 months ago) by hunold
Branches: MAIN
CVS tags: HEAD
- add some suggestions by bchafy@ccs.neu.edu

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 and remember to enable the V4L functionality.
For the 'BT848 Video For Linux' in the 'Video for Linux' section to show up
you need to enable 'I2C support' and 'I2C bit-banging interfaces' in the
charcter devices section.

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

If you don't use devfs (or your devfs setup is not configured correctly)
you might need to add the device nodes manually with the "makedev"
script from the DVB driver:
http://linuxtv.org/cgi-bin/cvsweb.cgi/~checkout~/DVB/driver/makedev.napi?rev=1.14&content-type=text/plain

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.

Unfortunately, in some older kernels the bttv card lists have the
TwinHan cards listed as card=0x68. (see below) Using card=0x71 there
will lockup your machine.

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. If you're using 2.6, see the remark above
about the card parameter.

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, 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>