bt8xx.rst 4.8 KB

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