File:  [DVB] / dvb-kernel / README.bt8xx
Revision 1.3: download - view: text, annotated - select for diffs
Tue Oct 28 22:53:10 2003 UTC (20 years, 7 months ago) by honan
Branches: MAIN
CVS tags: HEAD


Description of dst module params. Added advice about bttv card type 0x71.

Original Richard Walker
Modified Jamie Honan, 13 Oct 2003

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. 2.6 is recommended
because of it's multimedia latency support, and ease of build.

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 and Dxr3.  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/patches/2.4.xxx/11-v4l2-api-2.4.xxxxxx.diff.gz and 
apply this to your kernel source tree.  For example:

  $ cd /usr/src
  $ patch -p0 < ~/11-v4l2-api-2.4.xxxx-rc4.diff

This will patch your kernel to include support for VideoForLinux 2.

For those who don't know, kernels < 2.5 only support V4L 1 out-of-the-box. If 
you are using kernel 2.5.x (or 2.6.x) then V4L2 is built-in.

You need to use 'dvb-kernel', along with 'bttv' to talk to your card.

Download http://bytesex.org/bttv/bttv-0.9.12.tar.gz or above and unpack it.
This is the first version that will not hang your card.
You may find this in the http://bytesex.org/snapshots directory.

Using this version of

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

No patching of bttv is required from any patches in the dvb-kernel
tree. (You do have to do the v4l stuff above).

Not, at last, the DVB stuff can be built!  Just do it the usual way:

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

2.6
===
For 2.6, life is a lot easier, assuming you use 2.6.0-test7 and above.
The bttv does not need to be patched. 

Checkout dvb-kernel.

Do everything as per the README in dvb-kernel.

Loading Modules
===============

Use and modify the insmod-bt8xx.sh script in the build-2.4 directory 
to start and stop your drivers.  

The insmod script should be modified so that one of:

	# Nebula
        insmod nxt6000.o
        # or Pinnacle PCTV
        insmod cx24110.o
        # or DST
        insmod dst.o

is selected as a frontend.

Note well. The 

        insmod bttv.o i2c_hw=1 card=0x68

The bttv driver will HANG YOUR SYSTEM IF YOU DO NOT SPECIFY THE CARD
FOR THE DST!

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

For DST cards, you can also use card type 0x71 for bttv module params, 
providing the bttv version supports this. (The ones from bytesex/snapshots do).

If you use this value, 0x71, it will override the PCI type detection
for dvb-bt8xx.

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

Cheers,
Richard Walker, 

addendum (without permission: mistakes are therefore mine) 
Jamie Honan


LinuxTV legacy CVS <linuxtv.org/cvs>