.. SPDX-License-Identifier: GPL-2.0

Hardware supported by the linuxtv.org DVB drivers
=================================================

.. note::

   This documentation is outdated. Please check at the DVB wiki
   at https://linuxtv.org/wiki for more updated info.

   Please look at
   https://linuxtv.org/wiki/index.php/Hardware_Device_Information
   for an updated list of supported cards.

Generally, the DVB hardware manufacturers frequently change the
frontends (i.e. tuner / demodulator units) used, usually without
changing the product name, revision number or specs. Some cards
are also available in versions with different frontends for
DVB-S/DVB-C/DVB-T. Thus the frontend drivers are listed separately.

.. note::

  #) There is no guarantee that every frontend driver works
     out of the box with every card, because of different wiring.

  #) The demodulator chips can be used with a variety of
     tuner/PLL chips, and not all combinations are supported. Often
     the demodulator and tuner/PLL chip are inside a metal box for
     shielding, and the whole metal box has its own part number.


- Frontends drivers:

  - dvb_dummy_fe: for testing...

  DVB-S:
   - ves1x93		: Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993)
   - cx24110		: Conexant HM1221/HM1811 (cx24110 or cx24106 demod, cx24108 PLL)
   - grundig_29504-491	: Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL
   - mt312		: Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLLi, Technisat Sky2Pc with bios Rev. 2.3
   - stv0299		: Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL),
			  LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL),
			  Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB, Technisat Sky2Pc with bios Rev. 2.6

  DVB-C:
   - ves1820		: various (ves1820 demodulator, sp5659c or spXXXX PLL)
   - at76c651		: Atmel AT76c651(B) with DAT7021 PLL

  DVB-T:
   - alps_tdlb7		: Alps TDLB7 (sp8870 demodulator, sp5659 PLL)
   - alps_tdmb7		: Alps TDMB7 (cx22700 demodulator)
   - grundig_29504-401	: Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL
   - tda1004x		: Philips tda10045h (td1344 or tdm1316l PLL)
   - nxt6000 		: Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL), Comtech DVBT-6k07 (SP5730 PLL), (NxtWave Communications NXT6000 demodulator)
   - sp887x		: Microtune 7202D
   - dib3000mb	: DiBcom 3000-MB demodulator

  DVB-S/C/T:
   - dst		: TwinHan DST Frontend

  ATSC:
   - nxt200x		: Nxtwave NXT2002 & NXT2004
   - or51211		: or51211 based (pcHDTV HD2000 card)
   - or51132		: or51132 based (pcHDTV HD3000 card)
   - bcm3510		: Broadcom BCM3510
   - lgdt330x		: LG Electronics DT3302 & DT3303


- Cards based on the Phillips saa7146 multimedia PCI bridge chip:

  - TI AV7110 based cards (i.e. with hardware MPEG decoder):
    - Siemens/Technotrend/Hauppauge PCI DVB card revision 1.1, 1.3, 1.5, 1.6, 2.1 (aka Hauppauge Nexus)
  - "budget" cards (i.e. without hardware MPEG decoder):
    - Technotrend Budget / Hauppauge WinTV-Nova PCI Cards
    - SATELCO Multimedia PCI
    - KNC1 DVB-S, Typhoon DVB-S, Terratec Cinergy 1200 DVB-S (no CI support)
    - Typhoon DVB-S budget
    - Fujitsu-Siemens Activy DVB-S budget card

- Cards based on the B2C2 Inc. FlexCopII/IIb/III:

  - Technisat SkyStar2 PCI DVB card revision 2.3, 2.6B, 2.6C

- Cards based on the Conexant Bt8xx PCI bridge:

  - Pinnacle PCTV Sat DVB
  - Nebula Electronics DigiTV
  - TwinHan DST
  - Avermedia DVB-T
  - ChainTech digitop DST-1000 DVB-S
  - pcHDTV HD-2000 TV
  - DViCO FusionHDTV DVB-T Lite
  - DViCO FusionHDTV5 Lite

- Technotrend / Hauppauge DVB USB devices:

  - Nova USB
  - DEC 2000-T, 3000-S, 2540-T

- DiBcom DVB-T USB based devices:

  - Twinhan VisionPlus VisionDTV USB-Ter DVB-T Device
  - HAMA DVB-T USB device
  - CTS Portable (Chinese Television System)
  - KWorld V-Stream XPERT DTV DVB-T USB
  - JetWay DTV DVB-T USB
  - ADSTech Instant TV DVB-T USB
  - Ultima Electronic/Artec T1 USB TVBOX (AN2135 and AN2235)
  - Compro Videomate DVB-U2000 - DVB-T USB
  - Grandtec USB DVB-T
  - Avermedia AverTV DVBT USB
  - DiBcom USB DVB-T reference device (non-public)
  - Yakumo DVB-T mobile USB2.0
  - DiBcom USB2.0 DVB-T reference device (non-public)

- Experimental support for the analog module of the Siemens DVB-C PCI card

- Cards based on the Conexant cx2388x PCI bridge:

  - ADS Tech Instant TV DVB-T PCI
  - ATI HDTV Wonder
  - digitalnow DNTV Live! DVB-T
  - DViCO FusionHDTV DVB-T1
  - DViCO FusionHDTV DVB-T Plus
  - DViCO FusionHDTV3 Gold-Q
  - DViCO FusionHDTV3 Gold-T
  - DViCO FusionHDTV5 Gold
  - Hauppauge Nova-T DVB-T
  - KWorld/VStream XPert DVB-T
  - pcHDTV HD3000 HDTV
  - TerraTec Cinergy 1400 DVB-T
  - WinFast DTV1000-T

- Cards based on the Phillips saa7134 PCI bridge:

  - Medion 7134
  - Pinnacle PCTV 300i DVB-T + PAL
  - LifeView FlyDVB-T DUO
  - Typhoon DVB-T Duo Digital/Analog Cardbus
  - Philips TOUGH DVB-T reference design
  - Philips EUROPA V3 reference design
  - Compro Videomate DVB-T300
  - Compro Videomate DVB-T200
  - AVerMedia AVerTVHD MCE A180
  - KWorld PC150-U ATSC Hybrid

