1.. SPDX-License-Identifier: GPL-2.0 2 3How to get the bt8xx cards working 4================================== 5 6Authors: 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 18General information 19------------------- 20 21This class of cards has a bt878a as the PCI interface, and require the bttv driver 22for accessing the i2c bus and the gpio pins of the bt8xx chipset. 23Please see Documentation/media/dvb-drivers/cards.rst => o Cards based on the Conexant Bt8xx PCI bridge: 24 25Compiling 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 44Loading Modules 45--------------- 46 47Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically. 48Exceptions are: 49- Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom. 50People running udev please see Documentation/media/dvb-drivers/udev.rst. 51 52In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary: 53 54Running TwinHan and Clones 55~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 57.. code-block:: none 58 59 $ modprobe bttv card=113 60 $ modprobe dst 61 62Useful 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 74The autodetected values are determined by the cards' "response string". 75In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI]. 76For bug reports please send in a complete log with verbose=4 activated. 77Please also see Documentation/media/dvb-drivers/ci.rst. 78 79Running multiple cards 80~~~~~~~~~~~~~~~~~~~~~~ 81 82Examples 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 105For a full list of card ID's please see Documentation/media/v4l-drivers/bttv-cardlist.rst. 106In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org. 107 108Probing the cards with broken PCI subsystem ID 109~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 110 111There are some TwinHan cards that the EEPROM has become corrupted for some 112reason. The cards do not have correct PCI subsystem ID. But we can force 113probing 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 125