mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 07:24:39 +08:00
716448642d
On several parts of the document, it mentions "PCI ID", when it is actually referring to the subsystem's part of the PCI ID. Change the language to let it be clear. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
157 lines
4.7 KiB
ReStructuredText
157 lines
4.7 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 :doc:`bttv-cardlist` 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 :doc:`bttv-cardlist`, 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 :doc:`ci`.
|
|
|
|
Running multiple cards
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
See :doc:`bttv-cardlist` 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
|