1 .. SPDX-License-Identifier: GPL-2.0
3 ==================================
4 How to get the bt8xx cards working
5 ==================================
18 This class of cards has a bt878a as the PCI interface, and require the bttv
19 driver for accessing the i2c bus and the gpio pins of the bt8xx chipset.
21 Please see Documentation/admin-guide/media/bttv-cardlist.rst for a complete
22 list of Cards based on the Conexant Bt8xx PCI bridge supported by the
25 In order to be able to compile the kernel, some config options should be
28 ./scripts/config -e PCI
29 ./scripts/config -e INPUT
30 ./scripts/config -m I2C
31 ./scripts/config -m MEDIA_SUPPORT
32 ./scripts/config -e MEDIA_PCI_SUPPORT
33 ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
34 ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
35 ./scripts/config -e MEDIA_RADIO_SUPPORT
36 ./scripts/config -e RC_CORE
37 ./scripts/config -m VIDEO_BT848
38 ./scripts/config -m DVB_BT8XX
40 If you want to automatically support all possible variants of the Bt8xx
41 cards, you should also do::
43 ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
47 Please use the following options with care as deselection of drivers which
48 are in fact necessary may result in DVB devices that cannot be tuned due
49 to lack of driver support.
51 If your goal is to just support an specific board, you may, instead,
52 disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
53 required by your board. With that, you can save some RAM.
55 You can do that by calling make xconfig/qconfig/menuconfig and look at
56 the options on those menu options (only enabled if
57 ``Autoselect ancillary drivers`` is disabled:
59 #) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
60 #) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
62 Then, on each of the above menu, please select your card-specific
63 frontend and tuner modules.
69 Regular case: If the bttv driver detects a bt8xx-based DVB card, all
70 frontend and backend modules will be loaded automatically.
74 - Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
75 - Old TwinHan DST cards or clones with or without CA slot and not
78 In the following cases overriding the PCI type detection for bttv and
79 for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
81 Running TwinHan and Clones
82 ~~~~~~~~~~~~~~~~~~~~~~~~~~
84 As shown at Documentation/admin-guide/media/bttv-cardlist.rst, TwinHan and
85 clones use ``card=113`` modprobe parameter. So, in order to properly
86 detect it for devices without EEPROM, you should use::
88 $ modprobe bttv card=113
91 Useful parameters for verbosity level and debugging the dst module::
93 verbose=0: messages are disabled
94 1: only error messages are displayed
95 2: notifications are displayed
96 3: other useful messages are displayed
98 dst_addons=0: card is a free to air (FTA) card only
99 0x20: card has a conditional access slot for scrambled channels
100 dst_algo=0: (default) Software tuning algorithm
101 1: Hardware tuning algorithm
104 The autodetected values are determined by the cards' "response string".
106 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
108 For bug reports please send in a complete log with verbose=4 activated.
109 Please also see Documentation/admin-guide/media/ci.rst.
111 Running multiple cards
112 ~~~~~~~~~~~~~~~~~~~~~~
114 See Documentation/admin-guide/media/bttv-cardlist.rst for a complete list of
115 Card ID. Some examples:
117 =========================== ===
119 =========================== ===
121 Nebula Electronics Digi TV 104
122 pcHDTV HD-2000 TV 112
123 Twinhan DST and clones 113
124 Avermedia AverTV DVB-T 77: 123
125 Avermedia AverTV DVB-T 761 124
126 DViCO FusionHDTV DVB-T Lite 128
127 DViCO FusionHDTV 5 Lite 135
128 =========================== ===
132 When you have multiple cards, the order of the card ID should
133 match the order where they're detected by the system. Please notice
134 that removing/inserting other PCI cards may change the detection
139 $ modprobe bttv card=113 card=135
141 In case of further problems please subscribe and send questions to
142 the mailing list: linux-media@vger.kernel.org.
144 Probing the cards with broken PCI subsystem ID
145 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147 There are some TwinHan cards whose EEPROM has become corrupted for some
148 reason. The cards do not have a correct PCI subsystem ID.
149 Still, it is possible to force probing the cards with::
151 $ echo 109e 0878 $subvendor $subdevice > \
152 /sys/bus/pci/drivers/bt878/new_id
154 The two numbers there are::
156 109e: PCI_VENDOR_ID_BROOKTREE
157 0878: PCI_DEVICE_ID_BROOKTREE_878