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 157