cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bt8xx.rst (4908B)


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