| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- .. SPDX-License-Identifier: GPL-2.0
- ==================================
- How to get the bt8xx cards working
- ==================================
- Authors:
- Richard Walker,
- Jamie Honan,
- Michael Hunold,
- Manu Abraham,
- Uwe Bugla,
- Michael Krufky
- General information
- -------------------
- This class of cards has a bt878a as the PCI interface, and require the bttv
- driver for accessing the i2c bus and the gpio pins of the bt8xx chipset.
- Please see Documentation/admin-guide/media/bttv-cardlist.rst for a complete
- list of Cards based on the Conexant Bt8xx PCI bridge supported by the
- Linux Kernel.
- In order to be able to compile the kernel, some config options should be
- enabled::
- ./scripts/config -e PCI
- ./scripts/config -e INPUT
- ./scripts/config -m I2C
- ./scripts/config -m MEDIA_SUPPORT
- ./scripts/config -e MEDIA_PCI_SUPPORT
- ./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
- ./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
- ./scripts/config -e MEDIA_RADIO_SUPPORT
- ./scripts/config -e RC_CORE
- ./scripts/config -m VIDEO_BT848
- ./scripts/config -m DVB_BT8XX
- If you want to automatically support all possible variants of the Bt8xx
- cards, you should also do::
- ./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
- .. note::
- 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.
- If your goal is to just support an specific board, you may, instead,
- disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
- required by your board. With that, you can save some RAM.
- You can do that by calling make xconfig/qconfig/menuconfig and look at
- the options on those menu options (only enabled if
- ``Autoselect ancillary drivers`` is disabled:
- #) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
- #) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
- Then, on each of the above menu, please select your card-specific
- frontend and tuner modules.
- Loading Modules
- ---------------
- Regular case: If the bttv driver detects a bt8xx-based DVB card, all
- frontend and backend modules will be loaded automatically.
- Exceptions are:
- - Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
- - Old TwinHan DST cards or clones with or without CA slot and not
- containing an Eeprom.
- In the following cases overriding the PCI type detection for bttv and
- for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
- Running TwinHan and Clones
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- As shown at Documentation/admin-guide/media/bttv-cardlist.rst, TwinHan and
- clones use ``card=113`` modprobe parameter. So, in order to properly
- detect it for devices without EEPROM, you should use::
- $ modprobe bttv card=113
- $ modprobe dst
- Useful parameters for verbosity level and debugging the dst module::
- verbose=0: messages are disabled
- 1: only error messages are displayed
- 2: notifications are displayed
- 3: other useful messages are displayed
- 4: debug setting
- dst_addons=0: card is a free to air (FTA) card only
- 0x20: card has a conditional access slot for scrambled channels
- dst_algo=0: (default) Software tuning algorithm
- 1: Hardware tuning algorithm
- The autodetected values are determined by the cards' "response string".
- In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
- For bug reports please send in a complete log with verbose=4 activated.
- Please also see Documentation/admin-guide/media/ci.rst.
- Running multiple cards
- ~~~~~~~~~~~~~~~~~~~~~~
- See Documentation/admin-guide/media/bttv-cardlist.rst for a complete list of
- Card ID. Some examples:
- =========================== ===
- Brand name ID
- =========================== ===
- Pinnacle PCTV Sat 94
- Nebula Electronics Digi TV 104
- pcHDTV HD-2000 TV 112
- Twinhan DST and clones 113
- Avermedia AverTV DVB-T 77: 123
- Avermedia AverTV DVB-T 761 124
- DViCO FusionHDTV DVB-T Lite 128
- DViCO FusionHDTV 5 Lite 135
- =========================== ===
- .. note::
- When you have multiple cards, the order of the card ID should
- match the order where they're detected by the system. Please notice
- that removing/inserting other PCI cards may change the detection
- order.
- Example::
- $ modprobe bttv card=113 card=135
- In case of further problems please subscribe and send questions to
- the mailing list: linux-media@vger.kernel.org.
- Probing the cards with broken PCI subsystem ID
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- There are some TwinHan cards whose EEPROM has become corrupted for some
- reason. The cards do not have a correct PCI subsystem ID.
- Still, it is possible to force probing the cards with::
- $ echo 109e 0878 $subvendor $subdevice > \
- /sys/bus/pci/drivers/bt878/new_id
- The two numbers there are::
- 109e: PCI_VENDOR_ID_BROOKTREE
- 0878: PCI_DEVICE_ID_BROOKTREE_878
|