Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: docs: bt8xx.rst: update document info

This document is very outdated, and doesn't match the
upstream current way.

Update it, making some parts a little bit more generic.
While the main focus of this document is digital TV
cards, its content also may also help someone with just
analog TV support.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

+86 -52
+86 -52
Documentation/admin-guide/media/bt8xx.rst
··· 1 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 + ================================== 3 4 How to get the bt8xx cards working 4 5 ================================== 5 6 6 - Authors: Richard Walker, 7 + Authors: 8 + Richard Walker, 7 9 Jamie Honan, 8 10 Michael Hunold, 9 11 Manu Abraham, 10 12 Uwe Bugla, 11 13 Michael Krufky 12 14 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 - 18 15 General information 19 16 ------------------- 20 17 21 18 This class of cards has a bt878a as the PCI interface, and require the bttv driver 22 19 for accessing the i2c bus and the gpio pins of the bt8xx chipset. 23 - Please see Documentation/admin-guide/media/cards.rst => o Cards based on the Conexant Bt8xx PCI bridge: 24 20 25 - Compiling kernel please enable: 21 + Please see :doc:`cards` for a complete list of Cards based on the 22 + Conexant Bt8xx PCI bridge supported by the Linux Kernel. 26 23 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`` 24 + In order to be able to compile the kernel, some config options should be 25 + enabled:: 30 26 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. 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 33 38 34 - First please remove the static dependency of DVB card drivers on all frontend modules for all possible card variants by enabling: 39 + If you want to automatically support all possible variants of the Bt8xx 40 + cards, you should also do:: 35 41 36 - #) ``Device drivers`` => ``Multimedia devices`` => ``Digital Video Broadcasting Devices`` => ``DVB for Linux`` ``DVB Core Support`` ``Load and attach frontend modules as needed`` 42 + ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT 37 43 38 - If you know the frontend driver that your card needs please enable: 44 + .. note:: 39 45 40 - #) ``Device drivers`` => ``Multimedia devices`` => ``Digital Video Broadcasting Devices`` => ``DVB for Linux`` ``DVB Core Support`` ``Customise DVB Frontends`` => ``Customise the frontend modules to build`` 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. 41 49 42 - Then please select your card-specific frontend module. 50 + If your goal is to just support an specific board, you may, instead, 51 + disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers 52 + required by your board. With that, you can save some RAM. 53 + 54 + You can do that by calling make xconfig/qconfig/menuconfig and look at 55 + the 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 + 61 + Then, on each of the above menu, please select your card-specific 62 + frontend and tuner modules. 63 + 43 64 44 65 Loading Modules 45 66 --------------- 46 67 47 - Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically. 48 - Exceptions are: 49 - - Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom. 50 - People running udev please see Documentation/admin-guide/media/udev.rst. 68 + Regular case: If the bttv driver detects a bt8xx-based DVB card, all 69 + frontend and backend modules will be loaded automatically. 51 70 52 - In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary: 71 + Exceptions are: 72 + 73 + - Old TV cards without EEPROMs, sharing a common PCI ID; 74 + - Old TwinHan DST cards or clones with or without CA slot and not 75 + containing an Eeprom. 76 + 77 + People running udev please see :doc:`udev`. 78 + 79 + In the following cases overriding the PCI type detection for bttv and 80 + for dvb-bt8xx drivers by passing modprobe parameters may be necessary. 53 81 54 82 Running TwinHan and Clones 55 83 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 84 57 - .. code-block:: none 85 + As shown at :doc:`bttv-cardlist`, TwinHan and 86 + clones use ``card=113`` modprobe parameter. So, in order to properly 87 + detect it for devices without EEPROM, you should use:: 58 88 59 89 $ modprobe bttv card=113 60 90 $ modprobe dst 61 91 62 - Useful parameters for verbosity level and debugging the dst module: 63 - 64 - .. code-block:: none 92 + Useful parameters for verbosity level and debugging the dst module:: 65 93 66 94 verbose=0: messages are disabled 67 95 1: only error messages are displayed ··· 98 70 4: debug setting 99 71 dst_addons=0: card is a free to air (FTA) card only 100 72 0x20: card has a conditional access slot for scrambled channels 73 + dst_algo=0: (default) Software tuning algorithm 74 + 1: Hardware tuning algorithm 75 + 101 76 102 77 The autodetected values are determined by the cards' "response string". 78 + 103 79 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI]. 80 + 104 81 For bug reports please send in a complete log with verbose=4 activated. 105 - Please also see Documentation/admin-guide/media/ci.rst. 82 + Please also see :doc:`ci`. 106 83 107 84 Running multiple cards 108 85 ~~~~~~~~~~~~~~~~~~~~~~ 109 86 110 - Examples of card ID's: 87 + See :doc:`bttv-cardlist` for a complete list of 88 + Card ID. Some examples: 111 89 112 - .. code-block:: none 113 - 114 - Pinnacle PCTV Sat: 94 115 - Nebula Electronics Digi TV: 104 116 - pcHDTV HD-2000 TV: 112 117 - Twinhan DST and clones: 113 118 - Avermedia AverTV DVB-T 771: 123 119 - Avermedia AverTV DVB-T 761: 124 120 - DViCO FusionHDTV DVB-T Lite: 128 121 - DViCO FusionHDTV 5 Lite: 135 90 + =========================== === 91 + Brand name ID 92 + =========================== === 93 + Pinnacle PCTV Sat 94 94 + Nebula Electronics Digi TV 104 95 + pcHDTV HD-2000 TV 112 96 + Twinhan DST and clones 113 97 + Avermedia AverTV DVB-T 77: 123 98 + Avermedia AverTV DVB-T 761 124 99 + DViCO FusionHDTV DVB-T Lite 128 100 + DViCO FusionHDTV 5 Lite 135 101 + =========================== === 122 102 123 103 .. note:: 124 104 125 - The order of the card ID should be uprising: 105 + When you have multiple cards, the order of the card ID should 106 + match the order where they're detected by the system. Please notice 107 + that removing/inserting other PCI cards may change the detection 108 + order. 126 109 127 - Example: 128 - 129 - .. code-block:: none 110 + Example:: 130 111 131 112 $ modprobe bttv card=113 card=135 132 113 133 - For a full list of card ID's please see Documentation/admin-guide/media/bttv-cardlist.rst. 134 - In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org. 114 + In case of further problems please subscribe and send questions to 115 + the mailing list: linux-media@vger.kernel.org. 135 116 136 117 Probing the cards with broken PCI subsystem ID 137 118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 119 139 - There are some TwinHan cards that the EEPROM has become corrupted for some 140 - reason. The cards do not have correct PCI subsystem ID. But we can force 141 - probing the cards with broken PCI subsystem ID 142 - 143 - .. code-block:: none 120 + There are some TwinHan cards whose EEPROM has become corrupted for some 121 + reason. The cards do not have a correct PCI subsystem ID. 122 + Still, it is possible to force probing the cards with:: 144 123 145 124 $ echo 109e 0878 $subvendor $subdevice > \ 146 125 /sys/bus/pci/drivers/bt878/new_id 147 126 148 - .. code-block:: none 127 + The two numbers there are:: 149 128 150 129 109e: PCI_VENDOR_ID_BROOKTREE 151 130 0878: PCI_DEVICE_ID_BROOKTREE_878 152 -