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