Annotation of dvb-kernel/README.bt8xx, revision 1.6

1.4       hunold      1: How to get the Nebula, PCTV and Twinhan DST cards working
                      2: =========================================================
1.1       holger      3: 
1.6     ! hunold      4: This class of cards has a bt878a as the PCI interface, and require the
        !             5: bttv driver.
1.2       honan       6: 
1.6     ! hunold      7: Please pay close attention to the warning about the bttv module options
        !             8: below for the DST card.
1.2       honan       9: 
1.3       honan      10: For 2.4, make sure you are using an uptodate kernel 2.4.23 and above.
1.4       hunold     11: For 2.6, shuffle down to the 2.6 section below.
                     12: 
                     13: 1) 2.4
                     14: ======
1.2       honan      15: 
1.3       honan      16: For 2.4, make sure you are using an uptodate kernel 2.4.23 and above.
1.2       honan      17: This is the *only* way to go when you are experimenting with 
1.5       hunold     18: bleeding-edge stuff like DVB.
                     19: 
1.6     ! hunold     20: You need an up-to-date bttv driver for the bt8xx-based cards to work.
1.2       honan      21: 
1.6     ! hunold     22: Two methods to get a recent version:
        !            23: a) Patch your kernel (and possibly recompile it)
        !            24: b) Compile an external package
        !            25: 
        !            26: Method a)
        !            27: The most recent patches for 2.4.23 so far are at
        !            28: http://bytesex.org/patches/2.4.23-4/
        !            29: 
        !            30: You need to fetch at least the following patches:
        !            31: 20_v4l2-2.4.23.diff.gz
        !            32: 30_video-buf-2.4.23.diff.gz
        !            33: 31_ir-input-2.4.23.diff
        !            34: 31_tuner-2.4.23.diff.gz
        !            35: 32_bttv-2.4.23.diff.gz
        !            36: 
        !            37: Decompress them with "gzip -d *.gz" and the apply them one after
        !            38: another to your 2.4.23 kernel tree via "patch -p1 < [...]"
        !            39: 
        !            40: Then select the bttv driver and recompile your kernel and modules.
        !            41: Remeber to enable the V4L functionality. For the 'BT848 Video For
        !            42: Linux' in the 'Video for Linux' section to show up you need to enable
        !            43: 'I2C support' and 'I2C bit-banging interfaces' in the charcter devices
        !            44: section, as well as 'Sound' => 'Sound card support'.
        !            45: 
        !            46: Method b)
1.1       holger     47: 
1.4       hunold     48: Download http://bytesex.org/snapshot/video4linux-xxxxyyzz.tar.gz, where
                     49: xxxxyyzz is the date of the release.
1.1       holger     50: 
1.4       hunold     51: Extract it and do the usual "make" and "make install".
                     52:   $ tar xzfv video4linux-xxxxyyzz.tar.gz
                     53:   $ make
                     54:   $ make install
1.6     ! hunold     55: 
        !            56: This will give you (amongst other stuff) a recent bttv driver.
        !            57: 
        !            58: --
1.4       hunold     59:   
1.6     ! hunold     60: Ok, now grab "dvb-kernel" from CVS:
1.1       holger     61: 
                     62:   $ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
                     63:   $ cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
                     64: 
1.4       hunold     65: ... and build the driver:
1.2       honan      66: 
                     67:   $ cd dvb-kernel/build-2.4
                     68:   $ ./getlinks
                     69:   $ make
                     70:   $ make install
                     71: 
1.6     ! hunold     72: If you don't use devfs (or your devfs setup is not configured
        !            73: correctly) you might need to add the device nodes manually with the
        !            74: "makedev" script from the DVB driver:
1.5       hunold     75: http://linuxtv.org/cgi-bin/cvsweb.cgi/~checkout~/DVB/driver/makedev.napi?rev=1.14&content-type=text/plain
                     76: 
1.4       hunold     77: 2) 2.6
                     78: ======
1.1       holger     79: 
1.4       hunold     80: For 2.6, you don't need the latest bttv driver, everything is in
1.6     ! hunold     81: the kernel drivers. Please use 2.6.0 and above.
1.1       holger     82: 
1.6     ! hunold     83: Checkout dvb-kernel as mentioned above, but then do everything as per
1.4       hunold     84: the README in dvb-kernel.
1.1       holger     85: 
1.5       hunold     86: Unfortunately, in some older kernels the bttv card lists have the
                     87: TwinHan cards listed as card=0x68. (see below) Using card=0x71 there
                     88: will lockup your machine.
                     89: 
1.4       hunold     90: 3) Loading Modules
                     91: ==================
1.1       holger     92: 
1.6     ! hunold     93: You can either modify and use the "insmod-bt8xx.sh" script in the
        !            94: build-2.4 directory or simply do everything by hand.
1.1       holger     95: 
1.6     ! hunold     96: In general you need to load the bttv driver, which will handle the gpio
        !            97: and i2c communication for us. Next you need the common dvb-bt8xx device
        !            98: driver and one frontend driver.
        !            99: 
        !           100: The bttv driver will HANG YOUR SYSTEM IF YOU DO NOT SPECIFY THE
        !           101: COORECT  CARD ID! A list of possible card ids can be found inside
        !           102: "bttv-cards.c" inside the bttv driver package. 
1.1       holger    103: 
1.2       honan     104: Pay attention to failures to load these frontends. 
                    105: (E.g. dmesg, /var/log/messages).
1.3       honan     106: 
1.4       hunold    107: 3a) Nebula / Pinnacle PCTV
                    108: --------------------------
                    109: 
                    110:    $ modprobe bttv i2c_hw=1 card=0x68
                    111:    $ modprobe dvb-bt8xx
                    112:    
                    113: For Nebula cards use the "nxt6000" frontend driver:
                    114:    $ modprobe nxt6000
                    115: 
                    116: For Pinnacle PCTV cards use the "cx24110" frontend driver:
                    117:    $ modprobe cx24110
                    118: 
                    119: 3b) TwinHan
                    120: -----------
                    121: 
                    122:    $ modprobe bttv i2c_hw=1 card=0x71
                    123:    $ modprobe dvb-bt8xx
                    124:    $ modprobe dst
1.3       honan     125: 
1.6     ! hunold    126: The value 0x71 will override the PCI type detection for dvb-bt8xx,
        !           127: which  is necessary for TwinHan cards. If you're using 2.6, see the
        !           128: remark above about the card parameter.
        !           129: 
        !           130: If you're having an older card (blue color circuit) and card=0x71 locks
        !           131: your machine, try using 0x68, too. If that does not work, ask on the
        !           132: mailing list.
1.3       honan     133: 
1.6     ! hunold    134: The DST module takes a couple of useful parameters, in case the dst
        !           135: drivers fails to detect your type of card correctly.
1.3       honan     136: 
                    137: dst_type takes values 0 (satellite), 1 (terrestial TV), 2 (cable).
                    138: 
                    139: dst_type_flags takes bit combined values:
                    140: 1 = new tuner type packets. You can use this if your card is detected
                    141:     and you have debug and you continually see the tuner packets not
                    142:     working (make sure not a basic problem like dish alignment etc.)
                    143: 
                    144: 2 = TS 204. If your card tunes OK, but the picture is terrible, seemingly
                    145:     breaking up in one half continually, and crc fails a lot, then
                    146:     this is worth a try (or trying to turn off)
                    147: 
                    148: 4 = has symdiv. Some cards, mostly without new tuner packets, require
                    149:     a symbol division algorithm. Doesn't apply to terrestial TV.
                    150: 
                    151: You can also specify a value to have the autodetected values turned off
                    152: (e.g. 0). The autodected values are determined bythe cards 'response
                    153: string' which you can see in your logs e.g.
                    154: 
                    155: dst_check_ci: recognize DST-MOT
                    156: 
                    157: or 
                    158: 
                    159: dst_check_ci: unable to recognize DSTXCI or STXCI
1.1       holger    160: 
1.4       hunold    161: 4) The rest
                    162: ===========
1.2       honan     163: 
1.4       hunold    164: That's it. Have fun. Report problems to the mailing list. Thanks!
1.1       holger    165: 
1.4       hunold    166: --
                    167: Authors:
                    168: Richard Walker (Original)
                    169: Jamie Honan (13 Oct 2003)
                    170: Michael Hunold (25 Nov 2003)

LinuxTV legacy CVS <linuxtv.org/cvs>