158 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3==================================4How to get the bt8xx cards working5==================================6 7Authors:8 Richard Walker,9 Jamie Honan,10 Michael Hunold,11 Manu Abraham,12 Uwe Bugla,13 Michael Krufky14 15General information16-------------------17 18This class of cards has a bt878a as the PCI interface, and require the bttv19driver for accessing the i2c bus and the gpio pins of the bt8xx chipset.20 21Please see Documentation/admin-guide/media/bttv-cardlist.rst for a complete22list of Cards based on the Conexant Bt8xx PCI bridge supported by the23Linux Kernel.24 25In order to be able to compile the kernel, some config options should be26enabled::27 28 ./scripts/config -e PCI29 ./scripts/config -e INPUT30 ./scripts/config -m I2C31 ./scripts/config -m MEDIA_SUPPORT32 ./scripts/config -e MEDIA_PCI_SUPPORT33 ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT34 ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT35 ./scripts/config -e MEDIA_RADIO_SUPPORT36 ./scripts/config -e RC_CORE37 ./scripts/config -m VIDEO_BT84838 ./scripts/config -m DVB_BT8XX39 40If you want to automatically support all possible variants of the Bt8xx41cards, you should also do::42 43 ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT44 45.. note::46 47 Please use the following options with care as deselection of drivers which48 are in fact necessary may result in DVB devices that cannot be tuned due49 to lack of driver support.50 51If your goal is to just support an specific board, you may, instead,52disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers53required by your board. With that, you can save some RAM.54 55You can do that by calling make xconfig/qconfig/menuconfig and look at56the options on those menu options (only enabled if57``Autoselect ancillary drivers`` is disabled:58 59#) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``60#) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``61 62Then, on each of the above menu, please select your card-specific63frontend and tuner modules.64 65 66Loading Modules67---------------68 69Regular case: If the bttv driver detects a bt8xx-based DVB card, all70frontend and backend modules will be loaded automatically.71 72Exceptions are:73 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 not76 containing an Eeprom.77 78In the following cases overriding the PCI type detection for bttv and79for dvb-bt8xx drivers by passing modprobe parameters may be necessary.80 81Running TwinHan and Clones82~~~~~~~~~~~~~~~~~~~~~~~~~~83 84As shown at Documentation/admin-guide/media/bttv-cardlist.rst, TwinHan and85clones use ``card=113`` modprobe parameter. So, in order to properly86detect it for devices without EEPROM, you should use::87 88 $ modprobe bttv card=11389 $ modprobe dst90 91Useful parameters for verbosity level and debugging the dst module::92 93 verbose=0: messages are disabled94 1: only error messages are displayed95 2: notifications are displayed96 3: other useful messages are displayed97 4: debug setting98 dst_addons=0: card is a free to air (FTA) card only99 0x20: card has a conditional access slot for scrambled channels100 dst_algo=0: (default) Software tuning algorithm101 1: Hardware tuning algorithm102 103 104The autodetected values are determined by the cards' "response string".105 106In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].107 108For bug reports please send in a complete log with verbose=4 activated.109Please also see Documentation/admin-guide/media/ci.rst.110 111Running multiple cards112~~~~~~~~~~~~~~~~~~~~~~113 114See Documentation/admin-guide/media/bttv-cardlist.rst for a complete list of115Card ID. Some examples:116 117 =========================== ===118 Brand name ID119 =========================== ===120 Pinnacle PCTV Sat 94121 Nebula Electronics Digi TV 104122 pcHDTV HD-2000 TV 112123 Twinhan DST and clones 113124 Avermedia AverTV DVB-T 77: 123125 Avermedia AverTV DVB-T 761 124126 DViCO FusionHDTV DVB-T Lite 128127 DViCO FusionHDTV 5 Lite 135128 =========================== ===129 130.. note::131 132 When you have multiple cards, the order of the card ID should133 match the order where they're detected by the system. Please notice134 that removing/inserting other PCI cards may change the detection135 order.136 137Example::138 139 $ modprobe bttv card=113 card=135140 141In case of further problems please subscribe and send questions to142the mailing list: linux-media@vger.kernel.org.143 144Probing the cards with broken PCI subsystem ID145~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~146 147There are some TwinHan cards whose EEPROM has become corrupted for some148reason. The cards do not have a correct PCI subsystem ID.149Still, it is possible to force probing the cards with::150 151 $ echo 109e 0878 $subvendor $subdevice > \152 /sys/bus/pci/drivers/bt878/new_id153 154The two numbers there are::155 156 109e: PCI_VENDOR_ID_BROOKTREE157 0878: PCI_DEVICE_ID_BROOKTREE_878158