Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 ==================================
0004 How to get the bt8xx cards working
0005 ==================================
0006 
0007 Authors:
0008          Richard Walker,
0009          Jamie Honan,
0010          Michael Hunold,
0011          Manu Abraham,
0012          Uwe Bugla,
0013          Michael Krufky
0014 
0015 General information
0016 -------------------
0017 
0018 This class of cards has a bt878a as the PCI interface, and require the bttv
0019 driver for accessing the i2c bus and the gpio pins of the bt8xx chipset.
0020 
0021 Please see Documentation/admin-guide/media/bttv-cardlist.rst for a complete
0022 list of Cards based on the Conexant Bt8xx PCI bridge supported by the
0023 Linux Kernel.
0024 
0025 In order to be able to compile the kernel, some config options should be
0026 enabled::
0027 
0028     ./scripts/config -e PCI
0029     ./scripts/config -e INPUT
0030     ./scripts/config -m I2C
0031     ./scripts/config -m MEDIA_SUPPORT
0032     ./scripts/config -e MEDIA_PCI_SUPPORT
0033     ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
0034     ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
0035     ./scripts/config -e MEDIA_RADIO_SUPPORT
0036     ./scripts/config -e RC_CORE
0037     ./scripts/config -m VIDEO_BT848
0038     ./scripts/config -m DVB_BT8XX
0039 
0040 If you want to automatically support all possible variants of the Bt8xx
0041 cards, you should also do::
0042 
0043     ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
0044 
0045 .. note::
0046 
0047    Please use the following options with care as deselection of drivers which
0048    are in fact necessary may result in DVB devices that cannot be tuned due
0049    to lack of driver support.
0050 
0051 If your goal is to just support an specific board, you may, instead,
0052 disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
0053 required by your board. With that, you can save some RAM.
0054 
0055 You can do that by calling make xconfig/qconfig/menuconfig and look at
0056 the options on those menu options (only enabled if
0057 ``Autoselect ancillary drivers`` is disabled:
0058 
0059 #) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
0060 #) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
0061 
0062 Then, on each of the above menu, please select your card-specific
0063 frontend and tuner modules.
0064 
0065 
0066 Loading Modules
0067 ---------------
0068 
0069 Regular case: If the bttv driver detects a bt8xx-based DVB card, all
0070 frontend and backend modules will be loaded automatically.
0071 
0072 Exceptions are:
0073 
0074 - Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
0075 - Old TwinHan DST cards or clones with or without CA slot and not
0076   containing an Eeprom.
0077 
0078 In the following cases overriding the PCI type detection for bttv and
0079 for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
0080 
0081 Running TwinHan and Clones
0082 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0083 
0084 As shown at Documentation/admin-guide/media/bttv-cardlist.rst, TwinHan and
0085 clones use ``card=113`` modprobe parameter. So, in order to properly
0086 detect it for devices without EEPROM, you should use::
0087 
0088         $ modprobe bttv card=113
0089         $ modprobe dst
0090 
0091 Useful parameters for verbosity level and debugging the dst module::
0092 
0093         verbose=0:              messages are disabled
0094                 1:              only error messages are displayed
0095                 2:              notifications are displayed
0096                 3:              other useful messages are displayed
0097                 4:              debug setting
0098         dst_addons=0:           card is a free to air (FTA) card only
0099                 0x20:   card has a conditional access slot for scrambled channels
0100         dst_algo=0:             (default) Software tuning algorithm
0101                  1:             Hardware tuning algorithm
0102 
0103 
0104 The autodetected values are determined by the cards' "response string".
0105 
0106 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
0107 
0108 For bug reports please send in a complete log with verbose=4 activated.
0109 Please also see Documentation/admin-guide/media/ci.rst.
0110 
0111 Running multiple cards
0112 ~~~~~~~~~~~~~~~~~~~~~~
0113 
0114 See Documentation/admin-guide/media/bttv-cardlist.rst for a complete list of
0115 Card ID. Some examples:
0116 
0117         ===========================     ===
0118         Brand name                      ID
0119         ===========================     ===
0120         Pinnacle PCTV Sat                94
0121         Nebula Electronics Digi TV      104
0122         pcHDTV HD-2000 TV               112
0123         Twinhan DST and clones          113
0124         Avermedia AverTV DVB-T 77:      123
0125         Avermedia AverTV DVB-T 761      124
0126         DViCO FusionHDTV DVB-T Lite     128
0127         DViCO FusionHDTV 5 Lite         135
0128         ===========================     ===
0129 
0130 .. note::
0131 
0132    When you have multiple cards, the order of the card ID should
0133    match the order where they're detected by the system. Please notice
0134    that removing/inserting other PCI cards may change the detection
0135    order.
0136 
0137 Example::
0138 
0139         $ modprobe bttv card=113 card=135
0140 
0141 In case of further problems please subscribe and send questions to
0142 the mailing list: linux-media@vger.kernel.org.
0143 
0144 Probing the cards with broken PCI subsystem ID
0145 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0146 
0147 There are some TwinHan cards whose EEPROM has become corrupted for some
0148 reason. The cards do not have a correct PCI subsystem ID.
0149 Still, it is possible to force probing the cards with::
0150 
0151         $ echo 109e 0878 $subvendor $subdevice > \
0152                 /sys/bus/pci/drivers/bt878/new_id
0153 
0154 The two numbers there are::
0155 
0156         109e: PCI_VENDOR_ID_BROOKTREE
0157         0878: PCI_DEVICE_ID_BROOKTREE_878