mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 10:01:56 +00:00
6ef43d273e
The :doc:`foo` tag is auto-generated via automarkup.py. So, use the filename at the sources, instead of :doc:`foo`. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
158 lines
4.8 KiB
ReStructuredText
158 lines
4.8 KiB
ReStructuredText
.. 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
|