Merge tag 'asm-generic-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd...
[sfrench/cifs-2.6.git] / Documentation / media / dvb-drivers / bt8xx.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 How to get the bt8xx cards working
4 ==================================
5
6 Authors: Richard Walker,
7          Jamie Honan,
8          Michael Hunold,
9          Manu Abraham,
10          Uwe Bugla,
11          Michael Krufky
12
13 .. note::
14
15    This documentation is outdated. Please check at the DVB wiki
16    at https://linuxtv.org/wiki for more updated info.
17
18 General information
19 -------------------
20
21 This class of cards has a bt878a as the PCI interface, and require the bttv driver
22 for accessing the i2c bus and the gpio pins of the bt8xx chipset.
23 Please see Documentation/media/dvb-drivers/cards.rst => o Cards based on the Conexant Bt8xx PCI bridge:
24
25 Compiling kernel please enable:
26
27 #) ``Device drivers`` => ``Multimedia devices`` => ``Video For Linux`` => ``Enable Video for Linux API 1 (DEPRECATED)``
28 #) ``Device drivers`` => ``Multimedia devices`` => ``Video For Linux`` => ``Video Capture Adapters`` => ``BT848 Video For Linux``
29 #) ``Device drivers`` => ``Multimedia devices`` => ``Digital Video Broadcasting Devices`` => ``DVB for Linux`` ``DVB Core Support`` ``Bt8xx based PCI Cards``
30
31   Please use the following options with care as deselection of drivers which are in fact necessary may result in DVB devices that cannot be tuned due to lack of driver support:
32   You can save RAM by deselecting every frontend module that your DVB card does not need.
33
34   First please remove the static dependency of DVB card drivers on all frontend modules for all possible card variants by enabling:
35
36 #) ``Device drivers`` => ``Multimedia devices`` => ``Digital Video Broadcasting Devices`` => ``DVB for Linux`` ``DVB Core Support`` ``Load and attach frontend modules as needed``
37
38   If you know the frontend driver that your card needs please enable:
39
40 #) ``Device drivers`` => ``Multimedia devices`` => ``Digital Video Broadcasting Devices`` => ``DVB for Linux`` ``DVB Core Support`` ``Customise DVB Frontends`` => ``Customise the frontend modules to build``
41
42  Then please select your card-specific frontend module.
43
44 Loading Modules
45 ---------------
46
47 Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically.
48 Exceptions are:
49 - Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom.
50 People running udev please see Documentation/media/dvb-drivers/udev.rst.
51
52 In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary:
53
54 Running TwinHan and Clones
55 ~~~~~~~~~~~~~~~~~~~~~~~~~~
56
57 .. code-block:: none
58
59         $ modprobe bttv card=113
60         $ modprobe dst
61
62 Useful parameters for verbosity level and debugging the dst module:
63
64 .. code-block:: none
65
66         verbose=0:              messages are disabled
67                 1:              only error messages are displayed
68                 2:              notifications are displayed
69                 3:              other useful messages are displayed
70                 4:              debug setting
71         dst_addons=0:           card is a free to air (FTA) card only
72                 0x20:   card has a conditional access slot for scrambled channels
73
74 The autodetected values are determined by the cards' "response string".
75 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
76 For bug reports please send in a complete log with verbose=4 activated.
77 Please also see Documentation/media/dvb-drivers/ci.rst.
78
79 Running multiple cards
80 ~~~~~~~~~~~~~~~~~~~~~~
81
82 Examples of card ID's:
83
84 .. code-block:: none
85
86         Pinnacle PCTV Sat:               94
87         Nebula Electronics Digi TV:     104
88         pcHDTV HD-2000 TV:              112
89         Twinhan DST and clones:         113
90         Avermedia AverTV DVB-T 771:     123
91         Avermedia AverTV DVB-T 761:     124
92         DViCO FusionHDTV DVB-T Lite:    128
93         DViCO FusionHDTV 5 Lite:        135
94
95 .. note::
96
97    The order of the card ID should be uprising:
98
99    Example:
100
101    .. code-block:: none
102
103         $ modprobe bttv card=113 card=135
104
105 For a full list of card ID's please see Documentation/media/v4l-drivers/bttv-cardlist.rst.
106 In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org.
107
108 Probing the cards with broken PCI subsystem ID
109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
111 There are some TwinHan cards that the EEPROM has become corrupted for some
112 reason. The cards do not have correct PCI subsystem ID. But we can force
113 probing the cards with broken PCI subsystem ID
114
115 .. code-block:: none
116
117         $ echo 109e 0878 $subvendor $subdevice > \
118                 /sys/bus/pci/drivers/bt878/new_id
119
120 .. code-block:: none
121
122         109e: PCI_VENDOR_ID_BROOKTREE
123         0878: PCI_DEVICE_ID_BROOKTREE_878
124