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