Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1.. SPDX-License-Identifier: GPL-2.0
2
3==================================
4How to get the bt8xx cards working
5==================================
6
7Authors:
8 Richard Walker,
9 Jamie Honan,
10 Michael Hunold,
11 Manu Abraham,
12 Uwe Bugla,
13 Michael Krufky
14
15General information
16-------------------
17
18This class of cards has a bt878a as the PCI interface, and require the bttv driver
19for accessing the i2c bus and the gpio pins of the bt8xx chipset.
20
21Please see :doc:`bttv-cardlist` for a complete list of Cards based on the
22Conexant Bt8xx PCI bridge supported by the Linux Kernel.
23
24In order to be able to compile the kernel, some config options should be
25enabled::
26
27 ./scripts/config -e PCI
28 ./scripts/config -e INPUT
29 ./scripts/config -m I2C
30 ./scripts/config -m MEDIA_SUPPORT
31 ./scripts/config -e MEDIA_PCI_SUPPORT
32 ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
33 ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
34 ./scripts/config -e MEDIA_RADIO_SUPPORT
35 ./scripts/config -e RC_CORE
36 ./scripts/config -m VIDEO_BT848
37 ./scripts/config -m DVB_BT8XX
38
39If you want to automatically support all possible variants of the Bt8xx
40cards, you should also do::
41
42 ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
43
44.. note::
45
46 Please use the following options with care as deselection of drivers which
47 are in fact necessary may result in DVB devices that cannot be tuned due
48 to lack of driver support.
49
50If your goal is to just support an specific board, you may, instead,
51disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
52required by your board. With that, you can save some RAM.
53
54You can do that by calling make xconfig/qconfig/menuconfig and look at
55the options on those menu options (only enabled if
56``Autoselect ancillary drivers`` is disabled:
57
58#) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
59#) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
60
61Then, on each of the above menu, please select your card-specific
62frontend and tuner modules.
63
64
65Loading Modules
66---------------
67
68Regular case: If the bttv driver detects a bt8xx-based DVB card, all
69frontend and backend modules will be loaded automatically.
70
71Exceptions are:
72
73- Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
74- Old TwinHan DST cards or clones with or without CA slot and not
75 containing an Eeprom.
76
77In the following cases overriding the PCI type detection for bttv and
78for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
79
80Running TwinHan and Clones
81~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83As shown at :doc:`bttv-cardlist`, TwinHan and
84clones use ``card=113`` modprobe parameter. So, in order to properly
85detect it for devices without EEPROM, you should use::
86
87 $ modprobe bttv card=113
88 $ modprobe dst
89
90Useful parameters for verbosity level and debugging the dst module::
91
92 verbose=0: messages are disabled
93 1: only error messages are displayed
94 2: notifications are displayed
95 3: other useful messages are displayed
96 4: debug setting
97 dst_addons=0: card is a free to air (FTA) card only
98 0x20: card has a conditional access slot for scrambled channels
99 dst_algo=0: (default) Software tuning algorithm
100 1: Hardware tuning algorithm
101
102
103The autodetected values are determined by the cards' "response string".
104
105In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
106
107For bug reports please send in a complete log with verbose=4 activated.
108Please also see :doc:`ci`.
109
110Running multiple cards
111~~~~~~~~~~~~~~~~~~~~~~
112
113See :doc:`bttv-cardlist` for a complete list of
114Card ID. Some examples:
115
116 =========================== ===
117 Brand name ID
118 =========================== ===
119 Pinnacle PCTV Sat 94
120 Nebula Electronics Digi TV 104
121 pcHDTV HD-2000 TV 112
122 Twinhan DST and clones 113
123 Avermedia AverTV DVB-T 77: 123
124 Avermedia AverTV DVB-T 761 124
125 DViCO FusionHDTV DVB-T Lite 128
126 DViCO FusionHDTV 5 Lite 135
127 =========================== ===
128
129.. note::
130
131 When you have multiple cards, the order of the card ID should
132 match the order where they're detected by the system. Please notice
133 that removing/inserting other PCI cards may change the detection
134 order.
135
136Example::
137
138 $ modprobe bttv card=113 card=135
139
140In case of further problems please subscribe and send questions to
141the mailing list: linux-media@vger.kernel.org.
142
143Probing the cards with broken PCI subsystem ID
144~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145
146There are some TwinHan cards whose EEPROM has become corrupted for some
147reason. The cards do not have a correct PCI subsystem ID.
148Still, it is possible to force probing the cards with::
149
150 $ echo 109e 0878 $subvendor $subdevice > \
151 /sys/bus/pci/drivers/bt878/new_id
152
153The two numbers there are::
154
155 109e: PCI_VENDOR_ID_BROOKTREE
156 0878: PCI_DEVICE_ID_BROOKTREE_878