1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 ================================== 3 ================================== 4 How to get the bt8xx cards working 4 How to get the bt8xx cards working 5 ================================== 5 ================================== 6 6 7 Authors: 7 Authors: 8 Richard Walker, 8 Richard Walker, 9 Jamie Honan, 9 Jamie Honan, 10 Michael Hunold, 10 Michael Hunold, 11 Manu Abraham, 11 Manu Abraham, 12 Uwe Bugla, 12 Uwe Bugla, 13 Michael Krufky 13 Michael Krufky 14 14 15 General information 15 General information 16 ------------------- 16 ------------------- 17 17 18 This class of cards has a bt878a as the PCI in !! 18 This class of cards has a bt878a as the PCI interface, and require the bttv driver 19 driver for accessing the i2c bus and the gpio !! 19 for accessing the i2c bus and the gpio pins of the bt8xx chipset. 20 20 21 Please see Documentation/admin-guide/media/btt !! 21 Please see :doc:`bttv-cardlist` for a complete list of Cards based on the 22 list of Cards based on the Conexant Bt8xx PCI !! 22 Conexant Bt8xx PCI bridge supported by the Linux Kernel. 23 Linux Kernel. << 24 23 25 In order to be able to compile the kernel, som 24 In order to be able to compile the kernel, some config options should be 26 enabled:: 25 enabled:: 27 26 28 ./scripts/config -e PCI 27 ./scripts/config -e PCI 29 ./scripts/config -e INPUT 28 ./scripts/config -e INPUT 30 ./scripts/config -m I2C 29 ./scripts/config -m I2C 31 ./scripts/config -m MEDIA_SUPPORT 30 ./scripts/config -m MEDIA_SUPPORT 32 ./scripts/config -e MEDIA_PCI_SUPPORT 31 ./scripts/config -e MEDIA_PCI_SUPPORT 33 ./scripts/config -e MEDIA_ANALOG_TV_SUPPOR 32 ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT 34 ./scripts/config -e MEDIA_DIGITAL_TV_SUPPO 33 ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT 35 ./scripts/config -e MEDIA_RADIO_SUPPORT 34 ./scripts/config -e MEDIA_RADIO_SUPPORT 36 ./scripts/config -e RC_CORE 35 ./scripts/config -e RC_CORE 37 ./scripts/config -m VIDEO_BT848 36 ./scripts/config -m VIDEO_BT848 38 ./scripts/config -m DVB_BT8XX 37 ./scripts/config -m DVB_BT8XX 39 38 40 If you want to automatically support all possi 39 If you want to automatically support all possible variants of the Bt8xx 41 cards, you should also do:: 40 cards, you should also do:: 42 41 43 ./scripts/config -e MEDIA_SUBDRV_AUTOSELEC 42 ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT 44 43 45 .. note:: 44 .. note:: 46 45 47 Please use the following options with care 46 Please use the following options with care as deselection of drivers which 48 are in fact necessary may result in DVB dev 47 are in fact necessary may result in DVB devices that cannot be tuned due 49 to lack of driver support. 48 to lack of driver support. 50 49 51 If your goal is to just support an specific bo 50 If your goal is to just support an specific board, you may, instead, 52 disable MEDIA_SUBDRV_AUTOSELECT and manually s 51 disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers 53 required by your board. With that, you can sav 52 required by your board. With that, you can save some RAM. 54 53 55 You can do that by calling make xconfig/qconfi 54 You can do that by calling make xconfig/qconfig/menuconfig and look at 56 the options on those menu options (only enable 55 the options on those menu options (only enabled if 57 ``Autoselect ancillary drivers`` is disabled: 56 ``Autoselect ancillary drivers`` is disabled: 58 57 59 #) ``Device drivers`` => ``Multimedia support` 58 #) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners`` 60 #) ``Device drivers`` => ``Multimedia support` 59 #) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends`` 61 60 62 Then, on each of the above menu, please select 61 Then, on each of the above menu, please select your card-specific 63 frontend and tuner modules. 62 frontend and tuner modules. 64 63 65 64 66 Loading Modules 65 Loading Modules 67 --------------- 66 --------------- 68 67 69 Regular case: If the bttv driver detects a bt8 68 Regular case: If the bttv driver detects a bt8xx-based DVB card, all 70 frontend and backend modules will be loaded au 69 frontend and backend modules will be loaded automatically. 71 70 72 Exceptions are: 71 Exceptions are: 73 72 74 - Old TV cards without EEPROMs, sharing a comm 73 - Old TV cards without EEPROMs, sharing a common PCI subsystem ID; 75 - Old TwinHan DST cards or clones with or with 74 - Old TwinHan DST cards or clones with or without CA slot and not 76 containing an Eeprom. 75 containing an Eeprom. 77 76 78 In the following cases overriding the PCI type 77 In the following cases overriding the PCI type detection for bttv and 79 for dvb-bt8xx drivers by passing modprobe para 78 for dvb-bt8xx drivers by passing modprobe parameters may be necessary. 80 79 81 Running TwinHan and Clones 80 Running TwinHan and Clones 82 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 81 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 82 84 As shown at Documentation/admin-guide/media/bt !! 83 As shown at :doc:`bttv-cardlist`, TwinHan and 85 clones use ``card=113`` modprobe parameter. So 84 clones use ``card=113`` modprobe parameter. So, in order to properly 86 detect it for devices without EEPROM, you shou 85 detect it for devices without EEPROM, you should use:: 87 86 88 $ modprobe bttv card=113 87 $ modprobe bttv card=113 89 $ modprobe dst 88 $ modprobe dst 90 89 91 Useful parameters for verbosity level and debu 90 Useful parameters for verbosity level and debugging the dst module:: 92 91 93 verbose=0: messages are d 92 verbose=0: messages are disabled 94 1: only error mes 93 1: only error messages are displayed 95 2: notifications 94 2: notifications are displayed 96 3: other useful m 95 3: other useful messages are displayed 97 4: debug setting 96 4: debug setting 98 dst_addons=0: card is a free 97 dst_addons=0: card is a free to air (FTA) card only 99 0x20: card has a conditional 98 0x20: card has a conditional access slot for scrambled channels 100 dst_algo=0: (default) Soft 99 dst_algo=0: (default) Software tuning algorithm 101 1: Hardware tunin 100 1: Hardware tuning algorithm 102 101 103 102 104 The autodetected values are determined by the 103 The autodetected values are determined by the cards' "response string". 105 104 106 In your logs see f. ex.: dst_get_device_id: Re 105 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI]. 107 106 108 For bug reports please send in a complete log 107 For bug reports please send in a complete log with verbose=4 activated. 109 Please also see Documentation/admin-guide/medi !! 108 Please also see :doc:`ci`. 110 109 111 Running multiple cards 110 Running multiple cards 112 ~~~~~~~~~~~~~~~~~~~~~~ 111 ~~~~~~~~~~~~~~~~~~~~~~ 113 112 114 See Documentation/admin-guide/media/bttv-cardl !! 113 See :doc:`bttv-cardlist` for a complete list of 115 Card ID. Some examples: 114 Card ID. Some examples: 116 115 117 =========================== === 116 =========================== === 118 Brand name ID 117 Brand name ID 119 =========================== === 118 =========================== === 120 Pinnacle PCTV Sat 94 119 Pinnacle PCTV Sat 94 121 Nebula Electronics Digi TV 104 120 Nebula Electronics Digi TV 104 122 pcHDTV HD-2000 TV 112 121 pcHDTV HD-2000 TV 112 123 Twinhan DST and clones 113 122 Twinhan DST and clones 113 124 Avermedia AverTV DVB-T 77: 123 123 Avermedia AverTV DVB-T 77: 123 125 Avermedia AverTV DVB-T 761 124 124 Avermedia AverTV DVB-T 761 124 126 DViCO FusionHDTV DVB-T Lite 128 125 DViCO FusionHDTV DVB-T Lite 128 127 DViCO FusionHDTV 5 Lite 135 126 DViCO FusionHDTV 5 Lite 135 128 =========================== === 127 =========================== === 129 128 130 .. note:: 129 .. note:: 131 130 132 When you have multiple cards, the order of 131 When you have multiple cards, the order of the card ID should 133 match the order where they're detected by t 132 match the order where they're detected by the system. Please notice 134 that removing/inserting other PCI cards may 133 that removing/inserting other PCI cards may change the detection 135 order. 134 order. 136 135 137 Example:: 136 Example:: 138 137 139 $ modprobe bttv card=113 card=135 138 $ modprobe bttv card=113 card=135 140 139 141 In case of further problems please subscribe a 140 In case of further problems please subscribe and send questions to 142 the mailing list: linux-media@vger.kernel.org. 141 the mailing list: linux-media@vger.kernel.org. 143 142 144 Probing the cards with broken PCI subsystem ID 143 Probing the cards with broken PCI subsystem ID 145 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 144 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 145 147 There are some TwinHan cards whose EEPROM has 146 There are some TwinHan cards whose EEPROM has become corrupted for some 148 reason. The cards do not have a correct PCI su 147 reason. The cards do not have a correct PCI subsystem ID. 149 Still, it is possible to force probing the car 148 Still, it is possible to force probing the cards with:: 150 149 151 $ echo 109e 0878 $subvendor $subdevice 150 $ echo 109e 0878 $subvendor $subdevice > \ 152 /sys/bus/pci/drivers/bt878/new 151 /sys/bus/pci/drivers/bt878/new_id 153 152 154 The two numbers there are:: 153 The two numbers there are:: 155 154 156 109e: PCI_VENDOR_ID_BROOKTREE 155 109e: PCI_VENDOR_ID_BROOKTREE 157 0878: PCI_DEVICE_ID_BROOKTREE_878 156 0878: PCI_DEVICE_ID_BROOKTREE_878
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.