mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
media updates for v5.8-rc1
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAl7XUmwACgkQCF8+vY7k 4RU4zg//fT32wiVAPHCCp+pDZVnWNeipXE1gnpqghd/qZXfzBPiLEC9sPS74VVkA jf1hhR33VZpKAKTPg/b074qhRZBywEOdHZnT/0CEE1oNB61shVOnyDYzLGSq95cO 6V55ovbi5IOkrg0QEJbHpG5YHzt+pq5XeWOkqGNsHwla7N7iMGMVYfHepVVDWPnZ 0wGYFF9cAJP+X/uxqkZLDVMA/K1I+QKh6vrj/qx53/eRt8VID3+i8ig3guk4PlUq 7RLw5w/CywtNaGE5zaz7T3i2eoED71JHOTXi6RxdP1z8IDvELZ9mT95GQ+enlwqt AS6Ju1sV40wviHMv5prJWQjJkrrtYH3S907lIjwBpQLNGbh2+5crCd/6CwumkGgv 1cCZ1dVmXpCe++9mU9AXmSkjsjGPStNcmHMOpc1Pwn9jUV3LQOOSDp8+RYdt1WHU Iw9cyM8NOpz5Mv/B1/ZPQ1gPb9lr1gE09XyUekxtAI/nl4nNHGWO8QDuX7Odfrv9 8nfo14lk/p6XCTA8dsWJCgI5B1fgnqD4frHKWO9Uctppc/KBW41c8JpQUjBNlG/T MhtlGwYMVgSQxpQ6wK018JUAFoWkn1Sr0zMKRayqCnMjMLHsaMwE6kq+LgmRBqbB ersKV/9ZLYqCU1d6PhEVG6xUs6GsWdLcyhALlmHsddPSdpFXdf8= =KNAo -----END PGP SIGNATURE----- Merge tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - Media documentation is now split into admin-guide, driver-api and userspace-api books (a longstanding request from Jon); - The media Kconfig was reorganized, in order to make easier to select drivers and their dependencies; - The testing drivers now has a separate directory; - added a new driver for Rockchip Video Decoder IP; - The atomisp staging driver was resurrected. It is meant to work with 4 generations of cameras on Atom-based laptops, tablets and cell phones. So, it seems worth investing time to cleanup this driver and making it in good shape. - Added some V4L2 core ancillary routines to help with h264 codecs; - Added an ov2740 image sensor driver; - The si2157 gained support for Analog TV, which, in turn, added support for some cx231xx and cx23885 boards to also support analog standards; - Added some V4L2 controls (V4L2_CID_CAMERA_ORIENTATION and V4L2_CID_CAMERA_SENSOR_ROTATION) to help identifying where the camera is located at the device; - VIDIOC_ENUM_FMT was extended to support MC-centric devices; - Lots of drivers improvements and cleanups. * tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (503 commits) media: Documentation: media: Refer to mbus format documentation from CSI-2 docs media: s5k5baf: Replace zero-length array with flexible-array media: i2c: imx219: Drop <linux/clk-provider.h> and <linux/clkdev.h> media: i2c: Add ov2740 image sensor driver media: ov8856: Implement sensor module revision identification media: ov8856: Add devicetree support media: dt-bindings: ov8856: Document YAML bindings media: dvb-usb: Add Cinergy S2 PCIe Dual Port support media: dvbdev: Fix tuner->demod media controller link media: dt-bindings: phy: phy-rockchip-dphy-rx0: move rockchip dphy rx0 bindings out of staging media: staging: dt-bindings: phy-rockchip-dphy-rx0: remove non-used reg property media: atomisp: unify the version for isp2401 a0 and b0 versions media: atomisp: update TODO with the current data media: atomisp: adjust some code at sh_css that could be broken media: atomisp: don't produce errs for ignored IRQs media: atomisp: print IRQ when debugging media: atomisp: isp_mmu: don't use kmem_cache media: atomisp: add a notice about possible leak resources media: atomisp: disable the dynamic and reserved pools media: atomisp: turn on camera before setting it ...
This commit is contained in:
commit
a98f670e41
@ -37,4 +37,4 @@ when changes are made.
|
||||
|
||||
The following CEC error injection implementations exist:
|
||||
|
||||
- Documentation/media/uapi/cec/cec-pin-error-inj.rst
|
||||
- Documentation/userspace-api/media/cec/cec-pin-error-inj.rst
|
||||
|
@ -55,15 +55,15 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
|
||||
|
||||
# $2 sphinx builder e.g. "html"
|
||||
# $3 name of the build subfolder / e.g. "media", used as:
|
||||
# $3 name of the build subfolder / e.g. "userspace-api/media", used as:
|
||||
# * dest folder relative to $(BUILDDIR) and
|
||||
# * cache folder relative to $(BUILDDIR)/.doctrees
|
||||
# $4 dest subfolder e.g. "man" for man pages at media/man
|
||||
# $4 dest subfolder e.g. "man" for man pages at userspace-api/media/man
|
||||
# $5 reST source folder relative to $(srctree)/$(src),
|
||||
# e.g. "media" for the linux-tv book-set at ./Documentation/media
|
||||
# e.g. "userspace-api/media" for the linux-tv book-set at ./Documentation/userspace-api/media
|
||||
|
||||
quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
||||
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
|
||||
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
|
||||
$(PYTHON) $(srctree)/scripts/jobserver-exec \
|
||||
@ -124,7 +124,7 @@ refcheckdocs:
|
||||
|
||||
cleandocs:
|
||||
$(Q)rm -rf $(BUILDDIR)
|
||||
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media clean
|
||||
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media clean
|
||||
|
||||
dochelp:
|
||||
@echo ' Linux kernel internal documentation in different formats from ReST:'
|
||||
|
@ -93,6 +93,7 @@ configure specific aspects of kernel behavior to your liking.
|
||||
lockup-watchdogs
|
||||
LSM/index
|
||||
md
|
||||
media/index
|
||||
mm/index
|
||||
module-signing
|
||||
mono
|
||||
|
@ -458,7 +458,7 @@
|
||||
bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
|
||||
bttv.radio= Most important insmod options are available as
|
||||
kernel args too.
|
||||
bttv.pll= See Documentation/media/v4l-drivers/bttv.rst
|
||||
bttv.pll= See Documentation/admin-guide/media/bttv.rst
|
||||
bttv.tuner=
|
||||
|
||||
bulk_remove=off [PPC] This parameter disables the use of the pSeries
|
||||
@ -2746,7 +2746,7 @@
|
||||
See Documentation/admin-guide/pm/sleep-states.rst.
|
||||
|
||||
meye.*= [HW] Set MotionEye Camera parameters
|
||||
See Documentation/media/v4l-drivers/meye.rst.
|
||||
See Documentation/admin-guide/media/meye.rst.
|
||||
|
||||
mfgpt_irq= [IA-32] Specify the IRQ to use for the
|
||||
Multi-Function General Purpose Timers on AMD Geode
|
||||
|
94
Documentation/admin-guide/media/avermedia.rst
Normal file
94
Documentation/admin-guide/media/avermedia.rst
Normal file
@ -0,0 +1,94 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================
|
||||
Avermedia DVB-T on BT878 Release Notes
|
||||
======================================
|
||||
|
||||
February 14th 2006
|
||||
|
||||
.. note::
|
||||
|
||||
Several other Avermedia devices are supported. For a more
|
||||
broader and updated content about that, please check:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/AVerMedia
|
||||
|
||||
The Avermedia DVB-T
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:
|
||||
|
||||
* RF Tuner Input
|
||||
* Composite Video Input (RCA Jack)
|
||||
* SVIDEO Input (Mini-DIN)
|
||||
|
||||
The RF Tuner Input is the input to the tuner module of the
|
||||
card. The Tuner is otherwise known as the "Frontend" . The
|
||||
Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
|
||||
post to the linux-dvb mailing list ascertained that the
|
||||
Microtune 7202D is supported by the sp887x driver which is
|
||||
found in the dvb-hw CVS module.
|
||||
|
||||
The DVB-T card is based around the BT878 chip which is a very
|
||||
common multimedia bridge and often found on Analogue TV cards.
|
||||
There is no on-board MPEG2 decoder, which means that all MPEG2
|
||||
decoding must be done in software, or if you have one, on an
|
||||
MPEG2 hardware decoding card or chipset.
|
||||
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At this stage, it has not been able to ascertain the
|
||||
functionality of the remaining device nodes in respect of the
|
||||
Avermedia DVBT. However, full functionality in respect of
|
||||
tuning, receiving and supplying the MPEG2 data stream is
|
||||
possible with the currently available versions of the driver.
|
||||
It may be possible that additional functionality is available
|
||||
from the card (i.e. viewing the additional analogue inputs
|
||||
that the card presents), but this has not been tested yet. If
|
||||
I get around to this, I'll update the document with whatever I
|
||||
find.
|
||||
|
||||
To power up the card, load the following modules in the
|
||||
following order:
|
||||
|
||||
* modprobe bttv (normally loaded automatically)
|
||||
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
|
||||
|
||||
Insertion of these modules into the running kernel will
|
||||
activate the appropriate DVB device nodes. It is then possible
|
||||
to start accessing the card with utilities such as scan, tzap,
|
||||
dvbstream etc.
|
||||
|
||||
The frontend module sp887x.o, requires an external firmware.
|
||||
Please use the command "get_dvb_firmware sp887x" to download
|
||||
it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
|
||||
(depending on configuration of firmware hotplug).
|
||||
|
||||
Known Limitations
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present I can say with confidence that the frontend tunes
|
||||
via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
|
||||
via /dev/dvb/adapter{x}/dvr0. I have not tested the
|
||||
functionality of any other part of the card yet. I will do so
|
||||
over time and update this document.
|
||||
|
||||
There are some limitations in the i2c layer due to a returned
|
||||
error message inconsistency. Although this generates errors in
|
||||
dmesg and the system logs, it does not appear to affect the
|
||||
ability of the frontend to function correctly.
|
||||
|
||||
Further Update
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
dvbstream and VideoLAN Client on windows works a treat with
|
||||
DVB, in fact this is currently serving as my main way of
|
||||
viewing DVB-T at the moment. Additionally, VLC is happily
|
||||
decoding HDTV signals, although the PC is dropping the odd
|
||||
frame here and there - I assume due to processing capability -
|
||||
as all the decoding is being done under windows in software.
|
||||
|
||||
Many thanks to Nigel Pearson for the updates to this document
|
||||
since the recent revision of the driver.
|
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
@ -0,0 +1,156 @@
|
||||
.. 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
|
@ -12,7 +12,7 @@ BTTV cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- *** UNKNOWN/GENERIC ***
|
@ -1,48 +1,64 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===============
|
||||
The bttv driver
|
||||
===============
|
||||
|
||||
Release notes for bttv
|
||||
----------------------
|
||||
|
||||
You'll need at least these config options for bttv:
|
||||
You'll need at least these config options for bttv::
|
||||
|
||||
.. code-block:: none
|
||||
./scripts/config -e PCI
|
||||
./scripts/config -m I2C
|
||||
./scripts/config -m INPUT
|
||||
./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
|
||||
|
||||
CONFIG_I2C=m
|
||||
CONFIG_I2C_ALGOBIT=m
|
||||
CONFIG_VIDEO_DEV=m
|
||||
If your board has digital TV, you'll also need::
|
||||
|
||||
The latest bttv version is available from http://bytesex.org/bttv/
|
||||
./scripts/config -m DVB_BT8XX
|
||||
|
||||
In this case, please see :doc:`bt8xx` for additional notes.
|
||||
|
||||
Make bttv work with your card
|
||||
-----------------------------
|
||||
|
||||
Just try "modprobe bttv" and see if that works.
|
||||
If you have bttv compiled and installed, just booting the Kernel
|
||||
should be enough for it to try probing it. However, depending
|
||||
on the model, the Kernel may require additional information about
|
||||
the hardware, as the device may not be able to provide such info
|
||||
directly to the Kernel.
|
||||
|
||||
If it doesn't bttv likely could not autodetect your card and needs some
|
||||
insmod options. The most important insmod option for bttv is "card=n"
|
||||
to select the correct card type. If you get video but no sound you've
|
||||
very likely specified the wrong (or no) card type. A list of supported
|
||||
cards is in CARDLIST.bttv
|
||||
cards is in :doc:`bttv-cardlist`.
|
||||
|
||||
If bttv takes very long to load (happens sometimes with the cheap
|
||||
cards which have no tuner), try adding this to your modules.conf:
|
||||
|
||||
.. code-block:: none
|
||||
cards which have no tuner), try adding this to your modules configuration
|
||||
file (usually, it is either ``/etc/modules.conf`` or some file at
|
||||
``/etc/modules-load.d/``, but the actual place depends on your
|
||||
distribution)::
|
||||
|
||||
options i2c-algo-bit bit_test=1
|
||||
|
||||
For the WinTV/PVR you need one firmware file from the driver CD:
|
||||
hcwamc.rbf. The file is in the pvr45xxx.exe archive (self-extracting
|
||||
zip file, unzip can unpack it). Put it into the /etc/pvr directory or
|
||||
use the firm_altera=<path> insmod option to point the driver to the
|
||||
location of the file.
|
||||
Some cards may require an extra firmware file to work. For example,
|
||||
for the WinTV/PVR you need one firmware file from its driver CD,
|
||||
called: ``hcwamc.rbf``. It is inside a self-extracting zip file
|
||||
called ``pvr45xxx.exe``. Just placing it at the ``/etc/firmware``
|
||||
directory should be enough for it to be autoload during the driver's
|
||||
probing mode (e. g. when the Kernel boots or when the driver is
|
||||
manually loaded via ``modprobe`` command).
|
||||
|
||||
If your card isn't listed in CARDLIST.bttv or if you have trouble making
|
||||
audio work, you should read the Sound-FAQ.
|
||||
If your card isn't listed in :doc:`bttv-cardlist` or if you have
|
||||
trouble making audio work, please read :ref:`still_doesnt_work`.
|
||||
|
||||
|
||||
Autodetecting cards
|
||||
@ -61,16 +77,19 @@ the Subsystem ID in the second line, looks like this:
|
||||
only bt878-based cards can have a subsystem ID (which does not mean
|
||||
that every card really has one). bt848 cards can't have a Subsystem
|
||||
ID and therefore can't be autodetected. There is a list with the ID's
|
||||
in bttv-cards.c (in case you are intrested or want to mail patches
|
||||
with updates).
|
||||
at :doc:`bttv-cardlist` (in case you are intrested or want to mail
|
||||
patches with updates).
|
||||
|
||||
|
||||
.. _still_doesnt_work:
|
||||
|
||||
Still doesn't work?
|
||||
-------------------
|
||||
|
||||
I do NOT have a lab with 30+ different grabber boards and a
|
||||
PAL/NTSC/SECAM test signal generator at home, so I often can't
|
||||
reproduce your problems. This makes debugging very difficult for me.
|
||||
|
||||
If you have some knowledge and spare time, please try to fix this
|
||||
yourself (patches very welcome of course...) You know: The linux
|
||||
slogan is "Do it yourself".
|
||||
@ -92,102 +111,103 @@ at least the country you are living in).
|
||||
Modprobe options
|
||||
----------------
|
||||
|
||||
Note: "modinfo <module>" prints various information about a kernel
|
||||
module, among them a complete and up-to-date list of insmod options.
|
||||
This list tends to be outdated because it is updated manually ...
|
||||
.. note::
|
||||
|
||||
==========================================================================
|
||||
|
||||
bttv.o
|
||||
The following argument list can be outdated, as we might add more
|
||||
options if ever needed. In case of doubt, please check with
|
||||
``modinfo <module>``.
|
||||
|
||||
.. code-block:: none
|
||||
This command prints various information about a kernel
|
||||
module, among them a complete and up-to-date list of insmod options.
|
||||
|
||||
the bt848/878 (grabber chip) driver
|
||||
|
||||
insmod args:
|
||||
card=n card type, see CARDLIST for a list.
|
||||
tuner=n tuner type, see CARDLIST for a list.
|
||||
radio=0/1 card supports radio
|
||||
pll=0/1/2 pll settings
|
||||
0: don't use PLL
|
||||
1: 28 MHz crystal installed
|
||||
2: 35 MHz crystal installed
|
||||
|
||||
triton1=0/1 for Triton1 (+others) compatibility
|
||||
vsfx=0/1 yet another chipset bug compatibility bit
|
||||
see README.quirks for details on these two.
|
||||
bttv
|
||||
The bt848/878 (grabber chip) driver
|
||||
|
||||
bigendian=n Set the endianness of the gfx framebuffer.
|
||||
Default is native endian.
|
||||
fieldnr=0/1 Count fields. Some TV descrambling software
|
||||
needs this, for others it only generates
|
||||
50 useless IRQs/sec. default is 0 (off).
|
||||
autoload=0/1 autoload helper modules (tuner, audio).
|
||||
default is 1 (on).
|
||||
bttv_verbose=0/1/2 verbose level (at insmod time, while
|
||||
looking at the hardware). default is 1.
|
||||
bttv_debug=0/1 debug messages (for capture).
|
||||
default is 0 (off).
|
||||
irq_debug=0/1 irq handler debug messages.
|
||||
default is 0 (off).
|
||||
gbuffers=2-32 number of capture buffers for mmap'ed capture.
|
||||
default is 4.
|
||||
gbufsize= size of capture buffers. default and
|
||||
maximum value is 0x208000 (~2MB)
|
||||
no_overlay=0 Enable overlay on broken hardware. There
|
||||
are some chipsets (SIS for example) which
|
||||
are known to have problems with the PCI DMA
|
||||
push used by bttv. bttv will disable overlay
|
||||
by default on this hardware to avoid crashes.
|
||||
With this insmod option you can override this.
|
||||
no_overlay=1 Disable overlay. It should be used by broken
|
||||
hardware that doesn't support PCI2PCI direct
|
||||
transfers.
|
||||
automute=0/1 Automatically mutes the sound if there is
|
||||
no TV signal, on by default. You might try
|
||||
to disable this if you have bad input signal
|
||||
quality which leading to unwanted sound
|
||||
dropouts.
|
||||
chroma_agc=0/1 AGC of chroma signal, off by default.
|
||||
adc_crush=0/1 Luminance ADC crush, on by default.
|
||||
i2c_udelay= Allow reduce I2C speed. Default is 5 usecs
|
||||
(meaning 66,67 Kbps). The default is the
|
||||
maximum supported speed by kernel bitbang
|
||||
algorithm. You may use lower numbers, if I2C
|
||||
messages are lost (16 is known to work on
|
||||
all supported cards).
|
||||
insmod args::
|
||||
|
||||
bttv_gpio=0/1
|
||||
gpiomask=
|
||||
audioall=
|
||||
audiomux=
|
||||
See Sound-FAQ for a detailed description.
|
||||
card=n card type, see CARDLIST for a list.
|
||||
tuner=n tuner type, see CARDLIST for a list.
|
||||
radio=0/1 card supports radio
|
||||
pll=0/1/2 pll settings
|
||||
|
||||
0: don't use PLL
|
||||
1: 28 MHz crystal installed
|
||||
2: 35 MHz crystal installed
|
||||
|
||||
triton1=0/1 for Triton1 (+others) compatibility
|
||||
vsfx=0/1 yet another chipset bug compatibility bit
|
||||
see README.quirks for details on these two.
|
||||
|
||||
bigendian=n Set the endianness of the gfx framebuffer.
|
||||
Default is native endian.
|
||||
fieldnr=0/1 Count fields. Some TV descrambling software
|
||||
needs this, for others it only generates
|
||||
50 useless IRQs/sec. default is 0 (off).
|
||||
autoload=0/1 autoload helper modules (tuner, audio).
|
||||
default is 1 (on).
|
||||
bttv_verbose=0/1/2 verbose level (at insmod time, while
|
||||
looking at the hardware). default is 1.
|
||||
bttv_debug=0/1 debug messages (for capture).
|
||||
default is 0 (off).
|
||||
irq_debug=0/1 irq handler debug messages.
|
||||
default is 0 (off).
|
||||
gbuffers=2-32 number of capture buffers for mmap'ed capture.
|
||||
default is 4.
|
||||
gbufsize= size of capture buffers. default and
|
||||
maximum value is 0x208000 (~2MB)
|
||||
no_overlay=0 Enable overlay on broken hardware. There
|
||||
are some chipsets (SIS for example) which
|
||||
are known to have problems with the PCI DMA
|
||||
push used by bttv. bttv will disable overlay
|
||||
by default on this hardware to avoid crashes.
|
||||
With this insmod option you can override this.
|
||||
no_overlay=1 Disable overlay. It should be used by broken
|
||||
hardware that doesn't support PCI2PCI direct
|
||||
transfers.
|
||||
automute=0/1 Automatically mutes the sound if there is
|
||||
no TV signal, on by default. You might try
|
||||
to disable this if you have bad input signal
|
||||
quality which leading to unwanted sound
|
||||
dropouts.
|
||||
chroma_agc=0/1 AGC of chroma signal, off by default.
|
||||
adc_crush=0/1 Luminance ADC crush, on by default.
|
||||
i2c_udelay= Allow reduce I2C speed. Default is 5 usecs
|
||||
(meaning 66,67 Kbps). The default is the
|
||||
maximum supported speed by kernel bitbang
|
||||
algorithm. You may use lower numbers, if I2C
|
||||
messages are lost (16 is known to work on
|
||||
all supported cards).
|
||||
|
||||
bttv_gpio=0/1
|
||||
gpiomask=
|
||||
audioall=
|
||||
audiomux=
|
||||
See Sound-FAQ for a detailed description.
|
||||
|
||||
remap, card, radio and pll accept up to four comma-separated arguments
|
||||
(for multiple boards).
|
||||
|
||||
tuner.o
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
tuner
|
||||
The tuner driver. You need this unless you want to use only
|
||||
with a camera or external tuner ...
|
||||
with a camera or the board doesn't provide analog TV tuning.
|
||||
|
||||
insmod args::
|
||||
|
||||
insmod args:
|
||||
debug=1 print some debug info to the syslog
|
||||
type=n type of the tuner chip. n as follows:
|
||||
see CARDLIST for a complete list.
|
||||
pal=[bdgil] select PAL variant (used for some tuners
|
||||
only, important for the audio carrier).
|
||||
|
||||
tvaudio.o
|
||||
tvaudio
|
||||
Provide a single driver for all simple i2c audio control
|
||||
chips (tda/tea*).
|
||||
|
||||
.. code-block:: none
|
||||
insmod args::
|
||||
|
||||
new, experimental module which is supported to provide a single
|
||||
driver for all simple i2c audio control chips (tda/tea*).
|
||||
|
||||
insmod args:
|
||||
tda8425 = 1 enable/disable the support for the
|
||||
tda9840 = 1 various chips.
|
||||
tda9850 = 1 The tea6300 can't be autodetected and is
|
||||
@ -200,45 +220,12 @@ tvaudio.o
|
||||
the wrong one.
|
||||
debug = 1 print debug messages
|
||||
|
||||
insmod args for tda9874a:
|
||||
tda9874a_SIF=1/2 select sound IF input pin (1 or 2)
|
||||
(default is pin 1)
|
||||
tda9874a_AMSEL=0/1 auto-mute select for NICAM (default=0)
|
||||
Please read note 3 below!
|
||||
tda9874a_STD=n select TV sound standard (0..8):
|
||||
0 - A2, B/G
|
||||
1 - A2, M (Korea)
|
||||
2 - A2, D/K (1)
|
||||
3 - A2, D/K (2)
|
||||
4 - A2, D/K (3)
|
||||
5 - NICAM, I
|
||||
6 - NICAM, B/G
|
||||
7 - NICAM, D/K (default)
|
||||
8 - NICAM, L
|
||||
|
||||
Note 1: tda9874a supports both tda9874h (old) and tda9874a (new) chips.
|
||||
Note 2: tda9874h/a and tda9875 (which is supported separately by
|
||||
tda9875.o) use the same i2c address so both modules should not be
|
||||
used at the same time.
|
||||
Note 3: Using tda9874a_AMSEL option depends on your TV card design!
|
||||
AMSEL=0: auto-mute will switch between NICAM sound
|
||||
and the sound on 1st carrier (i.e. FM mono or AM).
|
||||
AMSEL=1: auto-mute will switch between NICAM sound
|
||||
and the analog mono input (MONOIN pin).
|
||||
If tda9874a decoder on your card has MONOIN pin not connected, then
|
||||
use only tda9874_AMSEL=0 or don't specify this option at all.
|
||||
For example:
|
||||
card=65 (FlyVideo 2000S) - set AMSEL=1 or AMSEL=0
|
||||
card=72 (Prolink PV-BT878P rev.9B) - set AMSEL=0 only
|
||||
|
||||
msp3400.o
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
msp3400
|
||||
The driver for the msp34xx sound processor chips. If you have a
|
||||
stereo card, you probably want to insmod this one.
|
||||
|
||||
insmod args:
|
||||
insmod args::
|
||||
|
||||
debug=1/2 print some debug info to the syslog,
|
||||
2 is more verbose.
|
||||
simple=1 Use the "short programming" method. Newer
|
||||
@ -252,40 +239,6 @@ msp3400.o
|
||||
should improve things for french people, the
|
||||
carrier autoscan seems to work with FM only...
|
||||
|
||||
tea6300.o - OBSOLETE (use tvaudio instead)
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
The driver for the tea6300 fader chip. If you have a stereo
|
||||
card and the msp3400.o doesn't work, you might want to try this
|
||||
one. This chip is seen on most STB TV/FM cards (usually from
|
||||
Gateway OEM sold surplus on auction sites).
|
||||
|
||||
insmod args:
|
||||
debug=1 print some debug info to the syslog.
|
||||
|
||||
tda8425.o - OBSOLETE (use tvaudio instead)
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
The driver for the tda8425 fader chip. This driver used to be
|
||||
part of bttv.c, so if your sound used to work but does not
|
||||
anymore, try loading this module.
|
||||
|
||||
insmod args:
|
||||
debug=1 print some debug info to the syslog.
|
||||
|
||||
tda985x.o - OBSOLETE (use tvaudio instead)
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
The driver for the tda9850/55 audio chips.
|
||||
|
||||
insmod args:
|
||||
debug=1 print some debug info to the syslog.
|
||||
chip=9850/9855 set the chip type.
|
||||
|
||||
|
||||
If the box freezes hard with bttv
|
||||
---------------------------------
|
||||
|
||||
@ -306,15 +259,15 @@ bug. It is very helpful if you can tell where exactly it broke
|
||||
With a hard freeze you probably doesn't find anything in the logfiles.
|
||||
The only way to capture any kernel messages is to hook up a serial
|
||||
console and let some terminal application log the messages. /me uses
|
||||
screen. See Documentation/admin-guide/serial-console.rst for details on setting
|
||||
screen. See :doc:`/admin-guide/serial-console` for details on setting
|
||||
up a serial console.
|
||||
|
||||
Read Documentation/admin-guide/bug-hunting.rst to learn how to get any useful
|
||||
Read :doc:`/admin-guide/bug-hunting` to learn how to get any useful
|
||||
information out of a register+stack dump printed by the kernel on
|
||||
protection faults (so-called "kernel oops").
|
||||
|
||||
If you run into some kind of deadlock, you can try to dump a call trace
|
||||
for each process using sysrq-t (see Documentation/admin-guide/sysrq.rst).
|
||||
for each process using sysrq-t (see :doc:`/admin-guide/sysrq`).
|
||||
This way it is possible to figure where *exactly* some process in "D"
|
||||
state is stuck.
|
||||
|
||||
@ -438,134 +391,12 @@ parking, thus lowering arbitration performance. The Bt879 drivers must
|
||||
query for these non-compliant devices, and set the EN_VSFX bit only if
|
||||
required.
|
||||
|
||||
bttv and sound mini howto
|
||||
-------------------------
|
||||
|
||||
There are a lot of different bt848/849/878/879 based boards available.
|
||||
Making video work often is not a big deal, because this is handled
|
||||
completely by the bt8xx chip, which is common on all boards. But
|
||||
sound is handled in slightly different ways on each board.
|
||||
|
||||
To handle the grabber boards correctly, there is a array tvcards[] in
|
||||
bttv-cards.c, which holds the information required for each board.
|
||||
Sound will work only, if the correct entry is used (for video it often
|
||||
makes no difference). The bttv driver prints a line to the kernel
|
||||
log, telling which card type is used. Like this one:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
bttv0: model: BT848(Hauppauge old) [autodetected]
|
||||
|
||||
You should verify this is correct. If it isn't, you have to pass the
|
||||
correct board type as insmod argument, "insmod bttv card=2" for
|
||||
example. The file CARDLIST has a list of valid arguments for card.
|
||||
If your card isn't listed there, you might check the source code for
|
||||
new entries which are not listed yet. If there isn't one for your
|
||||
card, you can check if one of the existing entries does work for you
|
||||
(just trial and error...).
|
||||
|
||||
Some boards have an extra processor for sound to do stereo decoding
|
||||
and other nice features. The msp34xx chips are used by Hauppauge for
|
||||
example. If your board has one, you might have to load a helper
|
||||
module like msp3400.o to make sound work. If there isn't one for the
|
||||
chip used on your board: Bad luck. Start writing a new one. Well,
|
||||
you might want to check the video4linux mailing list archive first...
|
||||
|
||||
Of course you need a correctly installed soundcard unless you have the
|
||||
speakers connected directly to the grabber board. Hint: check the
|
||||
mixer settings too. ALSA for example has everything muted by default.
|
||||
|
||||
|
||||
How sound works in detail
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Still doesn't work? Looks like some driver hacking is required.
|
||||
Below is a do-it-yourself description for you.
|
||||
|
||||
The bt8xx chips have 32 general purpose pins, and registers to control
|
||||
these pins. One register is the output enable register
|
||||
(BT848_GPIO_OUT_EN), it says which pins are actively driven by the
|
||||
bt848 chip. Another one is the data register (BT848_GPIO_DATA), where
|
||||
you can get/set the status if these pins. They can be used for input
|
||||
and output.
|
||||
|
||||
Most grabber board vendors use these pins to control an external chip
|
||||
which does the sound routing. But every board is a little different.
|
||||
These pins are also used by some companies to drive remote control
|
||||
receiver chips. Some boards use the i2c bus instead of the gpio pins
|
||||
to connect the mux chip.
|
||||
|
||||
As mentioned above, there is a array which holds the required
|
||||
information for each known board. You basically have to create a new
|
||||
line for your board. The important fields are these two:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
struct tvcard
|
||||
{
|
||||
[ ... ]
|
||||
u32 gpiomask;
|
||||
u32 audiomux[6]; /* Tuner, Radio, external, internal, mute, stereo */
|
||||
};
|
||||
|
||||
gpiomask specifies which pins are used to control the audio mux chip.
|
||||
The corresponding bits in the output enable register
|
||||
(BT848_GPIO_OUT_EN) will be set as these pins must be driven by the
|
||||
bt848 chip.
|
||||
|
||||
The audiomux\[\] array holds the data values for the different inputs
|
||||
(i.e. which pins must be high/low for tuner/mute/...). This will be
|
||||
written to the data register (BT848_GPIO_DATA) to switch the audio
|
||||
mux.
|
||||
|
||||
|
||||
What you have to do is figure out the correct values for gpiomask and
|
||||
the audiomux array. If you have Windows and the drivers four your
|
||||
card installed, you might to check out if you can read these registers
|
||||
values used by the windows driver. A tool to do this is available
|
||||
from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil, but it
|
||||
doesn't work with bt878 boards according to some reports I received.
|
||||
Another one with bt878 support is available from
|
||||
http://btwincap.sourceforge.net/Files/btspy2.00.zip
|
||||
|
||||
You might also dig around in the \*.ini files of the Windows applications.
|
||||
You can have a look at the board to see which of the gpio pins are
|
||||
connected at all and then start trial-and-error ...
|
||||
|
||||
|
||||
Starting with release 0.7.41 bttv has a number of insmod options to
|
||||
make the gpio debugging easier:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
bttv_gpio=0/1 enable/disable gpio debug messages
|
||||
gpiomask=n set the gpiomask value
|
||||
audiomux=i,j,... set the values of the audiomux array
|
||||
audioall=a set the values of the audiomux array (one
|
||||
value for all array elements, useful to check
|
||||
out which effect the particular value has).
|
||||
|
||||
The messages printed with bttv_gpio=1 look like this:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
bttv0: gpio: en=00000027, out=00000024 in=00ffffd8 [audio: off]
|
||||
|
||||
en = output _en_able register (BT848_GPIO_OUT_EN)
|
||||
out = _out_put bits of the data register (BT848_GPIO_DATA),
|
||||
i.e. BT848_GPIO_DATA & BT848_GPIO_OUT_EN
|
||||
in = _in_put bits of the data register,
|
||||
i.e. BT848_GPIO_DATA & ~BT848_GPIO_OUT_EN
|
||||
|
||||
|
||||
|
||||
Other elements of the tvcards array
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you are trying to make a new card work you might find it useful to
|
||||
know what the other elements in the tvcards array are good for:
|
||||
|
||||
.. code-block:: none
|
||||
know what the other elements in the tvcards array are good for::
|
||||
|
||||
video_inputs - # of video inputs the card has
|
||||
audio_inputs - historical cruft, not used any more.
|
||||
@ -798,7 +629,9 @@ Typhoon TV card series:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
These can be CPH, Flyvideo, Pixelview or KNC1 series.
|
||||
|
||||
Typhoon is the brand of Anubis.
|
||||
|
||||
Model 50680 got re-used, some model no. had different contents over time.
|
||||
|
||||
Models:
|
||||
@ -950,12 +783,13 @@ is wrong. If it doesn't work, send me email.
|
||||
on their server are the full data-sheets, but don't ask how I found it.
|
||||
|
||||
To use the driver I use the following options, the tuner and pll settings might
|
||||
be different in your country
|
||||
be different in your country. You can force it via modprobe parameters.
|
||||
For example::
|
||||
|
||||
insmod videodev
|
||||
insmod i2c scan=1 i2c_debug=0 verbose=0
|
||||
insmod tuner type=1 debug=0
|
||||
insmod bttv pll=1 radio=1 card=17
|
||||
modprobe bttv tuner=1 pll=28 radio=1 card=17
|
||||
|
||||
Sets tuner type 1 (Philips PAL_I), PLL with a 28 MHz crystal, enables
|
||||
FM radio and selects bttv card ID 17 (Leadtek WinView 601).
|
||||
|
||||
|
||||
KNC One
|
||||
@ -974,15 +808,16 @@ KNC One
|
||||
Provideo
|
||||
~~~~~~~~
|
||||
|
||||
- PV951 or PV-951 (also are sold as:
|
||||
- PV951 or PV-951, now named PV-951T
|
||||
(also are sold as:
|
||||
Boeder TV-FM Video Capture Card,
|
||||
Titanmedia Supervision TV-2400,
|
||||
Provideo PV951 TF,
|
||||
3DeMon PV951,
|
||||
MediaForte TV-Vision PV951,
|
||||
Yoko PV951,
|
||||
Vivanco Tuner Card PCI Art.-Nr.: 68404,
|
||||
) now named PV-951T
|
||||
Vivanco Tuner Card PCI Art.-Nr.: 68404
|
||||
)
|
||||
|
||||
- Surveillance Series:
|
||||
|
357
Documentation/admin-guide/media/building.rst
Normal file
357
Documentation/admin-guide/media/building.rst
Normal file
@ -0,0 +1,357 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===================================
|
||||
Building support for a media device
|
||||
===================================
|
||||
|
||||
The first step is to download the Kernel's source code, either via a
|
||||
distribution-specific source file or via the Kernel's main git tree\ [1]_.
|
||||
|
||||
Please notice, however, that, if:
|
||||
|
||||
- you're a braveheart and want to experiment with new stuff;
|
||||
- if you want to report a bug;
|
||||
- if you're developing new patches
|
||||
|
||||
you should use the main media development tree ``master`` branch:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
In this case, you may find some useful information at the
|
||||
`LinuxTv wiki pages <https://linuxtv.org/wiki>`_:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
|
||||
|
||||
.. [1] The upstream Linux Kernel development tree is located at
|
||||
|
||||
https://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/
|
||||
|
||||
Configuring the Linux Kernel
|
||||
============================
|
||||
|
||||
You can access a menu of Kernel building options with::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, select all desired options and exit it, saving the configuration.
|
||||
|
||||
The changed configuration will be at the ``.config`` file. It would
|
||||
look like::
|
||||
|
||||
...
|
||||
# CONFIG_RC_CORE is not set
|
||||
# CONFIG_CEC_CORE is not set
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
...
|
||||
|
||||
The media subsystem is controlled by those menu configuration options::
|
||||
|
||||
Device Drivers --->
|
||||
<M> Remote Controller support --->
|
||||
[ ] HDMI CEC RC integration
|
||||
[ ] Enable CEC error injection support
|
||||
[*] HDMI CEC drivers --->
|
||||
<*> Multimedia support --->
|
||||
|
||||
The ``Remote Controller support`` option enables the core support for
|
||||
remote controllers\ [2]_.
|
||||
|
||||
The ``HDMI CEC RC integration`` option enables integration of HDMI CEC
|
||||
with Linux, allowing to receive data via HDMI CEC as if it were produced
|
||||
by a remote controller directly connected to the machine.
|
||||
|
||||
The ``HDMI CEC drivers`` option allow selecting platform and USB drivers
|
||||
that receives and/or transmits CEC codes via HDMI interfaces\ [3]_.
|
||||
|
||||
The last option (``Multimedia support``) enables support for cameras,
|
||||
audio/video grabbers and TV.
|
||||
|
||||
The media subsystem support can either be built together with the main
|
||||
Kernel or as a module. For most use cases, it is preferred to have it
|
||||
built as modules.
|
||||
|
||||
.. note::
|
||||
|
||||
Instead of using a menu, the Kernel provides a script with allows
|
||||
enabling configuration options directly. To enable media support
|
||||
and remote controller support using Kernel modules, you could use::
|
||||
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -m MEDIA_SUPPORT
|
||||
|
||||
.. [2] ``Remote Controller support`` should also be enabled if you
|
||||
want to use some TV card drivers that may depend on the remote
|
||||
controller core support.
|
||||
|
||||
.. [3] Please notice that the DRM subsystem also have drivers for GPUs
|
||||
that use the media HDMI CEC support.
|
||||
|
||||
Those GPU-specific drivers are selected via the ``Graphics support``
|
||||
menu, under ``Device Drivers``.
|
||||
|
||||
When a GPU driver supports supports HDMI CEC, it will automatically
|
||||
enable the CEC core support at the media subsystem.
|
||||
|
||||
Media dependencies
|
||||
------------------
|
||||
|
||||
It should be noticed that enabling the above from a clean config is
|
||||
usually not enough. The media subsystem depends on several other Linux
|
||||
core support in order to work.
|
||||
|
||||
For example, most media devices use a serial communication bus in
|
||||
order to talk with some peripherals. Such bus is called I²C
|
||||
(Inter-Integrated Circuit). In order to be able to build support
|
||||
for such hardware, the I²C bus support should be enabled, either via
|
||||
menu or with::
|
||||
|
||||
./scripts/config -m I2C
|
||||
|
||||
Another example: the remote controller core requires support for
|
||||
input devices, with can be enabled with::
|
||||
|
||||
./scripts/config -m INPUT
|
||||
|
||||
Other core functionality may also be needed (like PCI and/or USB support),
|
||||
depending on the specific driver(s) you would like to enable.
|
||||
|
||||
Enabling Remote Controller Support
|
||||
----------------------------------
|
||||
|
||||
The remote controller menu allows selecting drivers for specific devices.
|
||||
It's menu looks like this::
|
||||
|
||||
--- Remote Controller support
|
||||
<M> Compile Remote Controller keymap modules
|
||||
[*] LIRC user interface
|
||||
[*] Support for eBPF programs attached to lirc devices
|
||||
[*] Remote controller decoders --->
|
||||
[*] Remote Controller devices --->
|
||||
|
||||
The ``Compile Remote Controller keymap modules`` option creates key maps for
|
||||
several popular remote controllers.
|
||||
|
||||
The ``LIRC user interface`` option adds enhanced functionality when using the
|
||||
``lirc`` program, by enabling an API that allows userspace to receive raw data
|
||||
from remote controllers.
|
||||
|
||||
The ``Support for eBPF programs attached to lirc devices`` option allows
|
||||
the usage of special programs (called eBPF) that would allow aplications
|
||||
to add extra remote controller decoding functionality to the Linux Kernel.
|
||||
|
||||
The ``Remote controller decoders`` option allows selecting the
|
||||
protocols that will be recognized by the Linux Kernel. Except if you
|
||||
want to disable some specific decoder, it is suggested to keep all
|
||||
sub-options enabled.
|
||||
|
||||
The ``Remote Controller devices`` allows you to select the drivers
|
||||
that would be needed to support your device.
|
||||
|
||||
The same configuration can also be set via the ``script/config``
|
||||
script. So, for instance, in order to support the ITE remote controller
|
||||
driver (found on Intel NUCs and on some ASUS x86 desktops), you could do::
|
||||
|
||||
$ scripts/config -e INPUT
|
||||
$ scripts/config -e ACPI
|
||||
$ scripts/config -e MODULES
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -e RC_DEVICES
|
||||
$ scripts/config -e RC_DECODERS
|
||||
$ scripts/config -m IR_RC5_DECODER
|
||||
$ scripts/config -m IR_ITE_CIR
|
||||
|
||||
Enabling HDMI CEC Support
|
||||
-------------------------
|
||||
|
||||
The HDMI CEC support is set automatically when a driver requires it. So,
|
||||
all you need to do is to enable support either for a graphics card
|
||||
that needs it or by one of the existing HDMI drivers.
|
||||
|
||||
The HDMI-specific drivers are available at the ``HDMI CEC drivers``
|
||||
menu\ [4]_::
|
||||
|
||||
--- HDMI CEC drivers
|
||||
< > ChromeOS EC CEC driver
|
||||
< > Amlogic Meson AO CEC driver
|
||||
< > Amlogic Meson G12A AO CEC driver
|
||||
< > Generic GPIO-based CEC driver
|
||||
< > Samsung S5P CEC driver
|
||||
< > STMicroelectronics STiH4xx HDMI CEC driver
|
||||
< > STMicroelectronics STM32 HDMI CEC driver
|
||||
< > Tegra HDMI CEC driver
|
||||
< > SECO Boards HDMI CEC driver
|
||||
[ ] SECO Boards IR RC5 support
|
||||
< > Pulse Eight HDMI CEC
|
||||
< > RainShadow Tech HDMI CEC
|
||||
|
||||
.. [4] The above contents is just an example. The actual options for
|
||||
HDMI devices depends on the system's architecture and may vary
|
||||
on new Kernels.
|
||||
|
||||
Enabling Media Support
|
||||
----------------------
|
||||
|
||||
The Media menu has a lot more options than the remote controller menu.
|
||||
Once selected, you should see the following options::
|
||||
|
||||
--- Media support
|
||||
[ ] Filter media drivers
|
||||
[*] Autoselect ancillary drivers
|
||||
Media device types --->
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
Media drivers --->
|
||||
Media ancillary drivers --->
|
||||
|
||||
Except if you know exactly what you're doing, or if you want to build
|
||||
a driver for a SoC platform, it is strongly recommended to keep the
|
||||
``Autoselect ancillary drivers`` option turned on, as it will auto-select
|
||||
the needed I²C ancillary drivers.
|
||||
|
||||
There are now two ways to select media device drivers, as described
|
||||
below.
|
||||
|
||||
``Filter media drivers`` menu
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This menu is meant to easy setup for PC and Laptop hardware. It works
|
||||
by letting the user to specify what kind of media drivers are desired,
|
||||
with those options::
|
||||
|
||||
[ ] Cameras and video grabbers
|
||||
[ ] Analog TV
|
||||
[ ] Digital TV
|
||||
[ ] AM/FM radio receivers/transmitters
|
||||
[ ] Software defined radio
|
||||
[ ] Platform-specific devices
|
||||
[ ] Test drivers
|
||||
|
||||
So, if you want to add support to a camera or video grabber only,
|
||||
select just the first option. Multiple options are allowed.
|
||||
|
||||
Once the options on this menu are selected, the building system will
|
||||
auto-select the needed core drivers in order to support the selected
|
||||
functionality.
|
||||
|
||||
.. note::
|
||||
|
||||
Most TV cards are hybrid: they support both Analog TV and Digital TV.
|
||||
|
||||
If you have an hybrid card, you may need to enable both ``Analog TV``
|
||||
and ``Digital TV`` at the menu.
|
||||
|
||||
When using this option, the defaults for the the media support core
|
||||
functionality are usually good enough to provide the basic functionality
|
||||
for the driver. Yet, you could manually enable some desired extra (optional)
|
||||
functionality using the settings under each of the following
|
||||
``Media support`` sub-menus::
|
||||
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
|
||||
Once you select the desired filters, the drivers that matches the filtering
|
||||
criteria will be available at the ``Media support->Media drivers`` sub-menu.
|
||||
|
||||
``Media Core Support`` menu without filtering
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you disable the ``Filter media drivers`` menu, all drivers available
|
||||
for your system whose dependencies are met should be shown at the
|
||||
``Media drivers`` menu.
|
||||
|
||||
Please notice, however, that you should first ensure that the
|
||||
``Media Core Support`` menu has all the core functionality your drivers
|
||||
would need, as otherwise the corresponding device drivers won't be shown.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
In order to enable modular support for one of the boards listed on
|
||||
:doc:`this table <cx231xx-cardlist>`, with modular media core modules, the
|
||||
``.config`` file should contain those lines::
|
||||
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_RC_CORE=m
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_VIDEO_CX231XX=y
|
||||
CONFIG_VIDEO_CX231XX_DVB=y
|
||||
|
||||
Building and installing a new Kernel
|
||||
====================================
|
||||
|
||||
Once the ``.config`` file has everything needed, all it takes to build
|
||||
is to run the ``make`` command::
|
||||
|
||||
$ make
|
||||
|
||||
And then install the new Kernel and its modules::
|
||||
|
||||
$ sudo make modules_install
|
||||
$ sudo make install
|
||||
|
||||
Building just the new media drivers and core
|
||||
============================================
|
||||
|
||||
Running a new development Kernel from the development tree is usually risky,
|
||||
because it may have experimental changes that may have bugs. So, there are
|
||||
some ways to build just the new drivers, using alternative trees.
|
||||
|
||||
There is the `Linux Kernel backports project
|
||||
<https://backports.wiki.kernel.org/index.php/Main_Page>`_, with contains
|
||||
newer drivers meant to be compiled against stable Kernels.
|
||||
|
||||
The LinuxTV developers, with are responsible for maintaining the media
|
||||
subsystem also maintains a backport tree, with just the media drivers
|
||||
daily updated from the newest kernel. Such tree is available at:
|
||||
|
||||
https://git.linuxtv.org/media_build.git/
|
||||
|
||||
It should be noticed that, while it should be relatively safe to use the
|
||||
``media_build`` tree for testing purposes, there are not warranties that
|
||||
it would work (or even build) on a random Kernel. This tree is maintained
|
||||
using a "best-efforts" principle, as time permits us to fix issues there.
|
||||
|
||||
If you notice anything wrong on it, feel free to submit patches at the
|
||||
Linux media subsystem's mailing list: media@vger.kernel.org. Please
|
||||
add ``[PATCH media-build]`` at the e-mail's subject if you submit a new
|
||||
patch for the media-build.
|
||||
|
||||
Before using it, you should run::
|
||||
|
||||
$ ./build
|
||||
|
||||
.. note::
|
||||
|
||||
1) you may need to run it twice if the ``media-build`` tree gets
|
||||
updated;
|
||||
2) you may need to do a ``make distclean`` if you had built it
|
||||
in the past for a different Kernel version than the one you're
|
||||
currently using;
|
||||
3) by default, it will use the same config options for media as
|
||||
the ones defined on the Kernel you're running.
|
||||
|
||||
In order to select different drivers or different config options,
|
||||
use::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, you can build and install the new drivers::
|
||||
|
||||
$ make && sudo make install
|
||||
|
||||
This will override the previous media drivers that your Kernel were
|
||||
using.
|
29
Documentation/admin-guide/media/cardlist.rst
Normal file
29
Documentation/admin-guide/media/cardlist.rst
Normal file
@ -0,0 +1,29 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Cards List
|
||||
==========
|
||||
|
||||
The media subsystem provide support for lots of PCI and USB drivers, plus
|
||||
platform-specific drivers. It also contains several ancillary I²C drivers.
|
||||
|
||||
The platform-specific drivers are usually present on embedded systems,
|
||||
or are supported by the main board. Usually, setting them is done via
|
||||
OpenFirmware or ACPI.
|
||||
|
||||
The PCI and USB drivers, however, are independent of the system's board,
|
||||
and may be added/removed by the user.
|
||||
|
||||
You may also take a look at
|
||||
https://linuxtv.org/wiki/index.php/Hardware_Device_Information
|
||||
for more details about supported cards.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
usb-cardlist
|
||||
pci-cardlist
|
||||
platform-cardlist
|
||||
radio-cardlist
|
||||
i2c-cardlist
|
||||
misc-cardlist
|
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
@ -0,0 +1,10 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=================================
|
||||
CEC driver-specific documentation
|
||||
=================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
pulse8-cec
|
77
Documentation/admin-guide/media/ci.rst
Normal file
77
Documentation/admin-guide/media/ci.rst
Normal file
@ -0,0 +1,77 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Digital TV Conditional Access Interface
|
||||
=======================================
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This documentation is outdated.
|
||||
|
||||
This document describes the usage of the high level CI API as
|
||||
in accordance to the Linux DVB API. This is a not a documentation for the,
|
||||
existing low level CI API.
|
||||
|
||||
.. note::
|
||||
|
||||
For the Twinhan/Twinhan clones, the dst_ca module handles the CI
|
||||
hardware handling. This module is loaded automatically if a CI
|
||||
(Common Interface, that holds the CAM (Conditional Access Module)
|
||||
is detected.
|
||||
|
||||
ca_zap
|
||||
~~~~~~
|
||||
|
||||
A userspace application, like ``ca_zap`` is required to handle encrypted
|
||||
MPEG-TS streams.
|
||||
|
||||
The ``ca_zap`` userland application is in charge of sending the
|
||||
descrambling related information to the Conditional Access Module (CAM).
|
||||
|
||||
This application requires the following to function properly as of now.
|
||||
|
||||
a) Tune to a valid channel, with szap.
|
||||
|
||||
eg: $ szap -c channels.conf -r "TMC" -x
|
||||
|
||||
b) a channels.conf containing a valid PMT PID
|
||||
|
||||
eg: TMC:11996:h:0:27500:278:512:650:321
|
||||
|
||||
here 278 is a valid PMT PID. the rest of the values are the
|
||||
same ones that szap uses.
|
||||
|
||||
c) after running a szap, you have to run ca_zap, for the
|
||||
descrambler to function,
|
||||
|
||||
eg: $ ca_zap channels.conf "TMC"
|
||||
|
||||
d) Hopefully enjoy your favourite subscribed channel as you do with
|
||||
a FTA card.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently ca_zap, and dst_test, both are meant for demonstration
|
||||
purposes only, they can become full fledged applications if necessary.
|
||||
|
||||
|
||||
Cards that fall in this category
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present the cards that fall in this category are the Twinhan and its
|
||||
clones, these cards are available as VVMER, Tomato, Hercules, Orange and
|
||||
so on.
|
||||
|
||||
CI modules that are supported
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The CI module support is largely dependent upon the firmware on the cards
|
||||
Some cards do support almost all of the available CI modules. There is
|
||||
nothing much that can be done in order to make additional CI modules
|
||||
working with these cards.
|
||||
|
||||
Modules that have been tested by this driver at present are
|
||||
|
||||
(1) Irdeto 1 and 2 from SCM
|
||||
(2) Viaccess from SCM
|
||||
(3) Dragoncam
|
@ -51,7 +51,7 @@ available at compile time.
|
||||
Setup
|
||||
~~~~~
|
||||
|
||||
Use 'modprobe cpia2' to load and 'modprobe -r cpia2' to unload. This
|
||||
Use ``modprobe cpia2`` to load and ``modprobe -r cpia2`` to unload. This
|
||||
may be done automatically by your distribution.
|
||||
|
||||
Driver options
|
||||
@ -79,16 +79,12 @@ Setting the options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you are using modules, edit /etc/modules.conf and add an options
|
||||
line like this:
|
||||
|
||||
.. code-block:: none
|
||||
line like this::
|
||||
|
||||
options cpia2 num_buffers=3 buffer_size=65535
|
||||
|
||||
If the driver is compiled into the kernel, at boot time specify them
|
||||
like this:
|
||||
|
||||
.. code-block:: none
|
||||
like this::
|
||||
|
||||
cpia2.num_buffers=3 cpia2.buffer_size=65535
|
||||
|
||||
@ -147,49 +143,3 @@ We are providing a modified gqcam application to view the output. In
|
||||
order to avoid confusion, here it is called mview. There is also the qx5view
|
||||
program which can also control the lights on the qx5 microscope. MJPEG Tools
|
||||
(http://mjpeg.sourceforge.net) can also be used to record from the camera.
|
||||
|
||||
Notes to developers
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- This is a driver version stripped of the 2.4 back compatibility
|
||||
and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
|
||||
|
||||
Programmer's overview of cpia2 driver
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
|
||||
division of ST Microelectronics). There are two versions. The first is the
|
||||
STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
|
||||
up to CIF, and 15 fps for VGA frames. The STV0676 is an improved version,
|
||||
which can handle up to 30 fps VGA. Both coprocessors can be attached to two
|
||||
CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor. These will
|
||||
be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
|
||||
|
||||
The two chipsets operate almost identically. The core is an 8051 processor,
|
||||
running two different versions of firmware. The 672 runs the VP4 video
|
||||
processor code, the 676 runs VP5. There are a few differences in register
|
||||
mappings for the two chips. In these cases, the symbols defined in the
|
||||
header files are marked with VP4 or VP5 as part of the symbol name.
|
||||
|
||||
The cameras appear externally as three sets of registers. Setting register
|
||||
values is the only way to control the camera. Some settings are
|
||||
interdependant, such as the sequence required to power up the camera. I will
|
||||
try to make note of all of these cases.
|
||||
|
||||
The register sets are called blocks. Block 0 is the system block. This
|
||||
section is always powered on when the camera is plugged in. It contains
|
||||
registers that control housekeeping functions such as powering up the video
|
||||
processor. The video processor is the VP block. These registers control
|
||||
how the video from the sensor is processed. Examples are timing registers,
|
||||
user mode (vga, qvga), scaling, cropping, framerates, and so on. The last
|
||||
block is the video compressor (VC). The video stream sent from the camera is
|
||||
compressed as Motion JPEG (JPEGA). The VC controls all of the compression
|
||||
parameters. Looking at the file cpia2_registers.h, you can get a full view
|
||||
of these registers and the possible values for most of them.
|
||||
|
||||
One or more registers can be set or read by sending a usb control message to
|
||||
the camera. There are three modes for this. Block mode requests a number
|
||||
of contiguous registers. Random mode reads or writes random registers with
|
||||
a tuple structure containing address/value pairs. The repeat mode is only
|
||||
used by VP4 to load a firmware patch. It contains a starting address and
|
||||
a sequence of bytes to be written into a gpio port.
|
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
@ -0,0 +1,17 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
CX18 cards list
|
||||
===============
|
||||
|
||||
Those cards are supported by cx18 driver:
|
||||
|
||||
- Hauppauge HVR-1600 (ESMT memory)
|
||||
- Hauppauge HVR-1600 (Samsung memory)
|
||||
- Compro VideoMate H900
|
||||
- Yuan MPC718 MiniPCI DVB-T/Analog
|
||||
- Conexant Raptor PAL/SECAM
|
||||
- Toshiba Qosmio DVB-T/Analog
|
||||
- Leadtek WinFast PVR2100
|
||||
- Leadtek WinFast DVR3100
|
||||
- GoTView PCI DVD3 Hybrid
|
||||
- Hauppauge HVR-1600 (s5h1411/tda18271)
|
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
@ -0,0 +1,99 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
cx231xx cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{10.0cm}|p{6.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 12 19
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- USB IDs
|
||||
* - 0
|
||||
- Unknown CX231xx video grabber
|
||||
- 0572:5A3C
|
||||
* - 1
|
||||
- Conexant Hybrid TV - CARRAERA
|
||||
- 0572:58A2
|
||||
* - 2
|
||||
- Conexant Hybrid TV - SHELBY
|
||||
- 0572:58A1
|
||||
* - 3
|
||||
- Conexant Hybrid TV - RDE253S
|
||||
- 0572:58A4
|
||||
* - 4
|
||||
- Conexant Hybrid TV - RDU253S
|
||||
- 0572:58A5
|
||||
* - 5
|
||||
- Conexant VIDEO GRABBER
|
||||
- 0572:58A6, 07ca:c039
|
||||
* - 6
|
||||
- Conexant Hybrid TV - rde 250
|
||||
- 0572:589E
|
||||
* - 7
|
||||
- Conexant Hybrid TV - RDU 250
|
||||
- 0572:58A0
|
||||
* - 8
|
||||
- Hauppauge EXETER
|
||||
- 2040:b120, 2040:b140
|
||||
* - 9
|
||||
- Hauppauge USB Live 2
|
||||
- 2040:c200
|
||||
* - 10
|
||||
- Pixelview PlayTV USB Hybrid
|
||||
- 4000:4001
|
||||
* - 11
|
||||
- Pixelview Xcapture USB
|
||||
- 1D19:6109, 4000:4001
|
||||
* - 12
|
||||
- Kworld UB430 USB Hybrid
|
||||
- 1b80:e424
|
||||
* - 13
|
||||
- Iconbit Analog Stick U100 FM
|
||||
- 1f4d:0237
|
||||
* - 14
|
||||
- Hauppauge WinTV USB2 FM (PAL)
|
||||
- 2040:b110
|
||||
* - 15
|
||||
- Hauppauge WinTV USB2 FM (NTSC)
|
||||
- 2040:b111
|
||||
* - 16
|
||||
- Elgato Video Capture V2
|
||||
- 0fd9:0037
|
||||
* - 17
|
||||
- Geniatech OTG102
|
||||
- 1f4d:0102
|
||||
* - 18
|
||||
- Kworld UB445 USB Hybrid
|
||||
- 1b80:e421
|
||||
* - 19
|
||||
- Hauppauge WinTV 930C-HD (1113xx) / HVR-900H (111xxx) / PCTV QuatroStick 521e
|
||||
- 2040:b130, 2040:b138, 2013:0259
|
||||
* - 20
|
||||
- Hauppauge WinTV 930C-HD (1114xx) / HVR-901H (1114xx) / PCTV QuatroStick 522e
|
||||
- 2040:b131, 2040:b139, 2013:025e
|
||||
* - 21
|
||||
- Hauppauge WinTV-HVR-955Q (111401)
|
||||
- 2040:b123, 2040:b124
|
||||
* - 22
|
||||
- Terratec Grabby
|
||||
- 1f4d:0102
|
||||
* - 23
|
||||
- Evromedia USB Full Hybrid Full HD
|
||||
- 1b80:d3b2
|
||||
* - 24
|
||||
- Astrometa T2hybrid
|
||||
- 15f4:0135
|
||||
* - 25
|
||||
- The Imaging Source DFG/USB2pro
|
||||
- 199e:8002
|
||||
* - 26
|
||||
- Hauppauge WinTV-HVR-935C
|
||||
- 2040:b151
|
||||
* - 27
|
||||
- Hauppauge WinTV-HVR-975
|
||||
- 2040:b150
|
@ -12,7 +12,7 @@ cx23885 cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
@ -261,3 +261,7 @@ cx23885 cards list
|
||||
* - 61
|
||||
- Hauppauge WinTV-QuadHD-ATSC(885)
|
||||
-
|
||||
|
||||
* - 62
|
||||
- AVerMedia CE310B
|
||||
- 1461:3100
|
@ -12,7 +12,7 @@ CX88 cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
@ -377,3 +377,7 @@ CX88 cards list
|
||||
* - 90
|
||||
- Leadtek TV2000 XP Global (XC4100)
|
||||
- 107d:6f43
|
||||
|
||||
* - 91
|
||||
- NotOnlyTV LV3H
|
||||
-
|
58
Documentation/admin-guide/media/cx88.rst
Normal file
58
Documentation/admin-guide/media/cx88.rst
Normal file
@ -0,0 +1,58 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cx88 driver
|
||||
===============
|
||||
|
||||
Author: Gerd Hoffmann
|
||||
|
||||
This is a v4l2 device driver for the cx2388x chip.
|
||||
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
video
|
||||
- Works.
|
||||
- Overlay isn't supported.
|
||||
|
||||
audio
|
||||
- Works. The TV standard detection is made by the driver, as the
|
||||
hardware has bugs to auto-detect.
|
||||
- audio data dma (i.e. recording without loopback cable to the
|
||||
sound card) is supported via cx88-alsa.
|
||||
|
||||
vbi
|
||||
- Works.
|
||||
|
||||
|
||||
How to add support for new cards
|
||||
--------------------------------
|
||||
|
||||
The driver needs some config info for the TV cards. This stuff is in
|
||||
cx88-cards.c. If the driver doesn't work well you likely need a new
|
||||
entry for your card in that file. Check the kernel log (using dmesg)
|
||||
to see whenever the driver knows your card or not. There is a line
|
||||
like this one:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \
|
||||
34xxx models [card=1,autodetected]
|
||||
|
||||
If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to
|
||||
the driver. What to do then?
|
||||
|
||||
1) Try upgrading to the latest snapshot, maybe it has been added
|
||||
meanwhile.
|
||||
2) You can try to create a new entry yourself, have a look at
|
||||
cx88-cards.c. If that worked, mail me your changes as unified
|
||||
diff ("diff -u").
|
||||
3) Or you can mail me the config information. We need at least the
|
||||
following information to add the card:
|
||||
|
||||
- the PCI Subsystem ID ("0070:3400" from the line above,
|
||||
"lspci -v" output is fine too).
|
||||
- the tuner type used by the card. You can try to find one by
|
||||
trial-and-error using the tuner=<n> insmod option. If you
|
||||
know which one the card has you can also have a look at the
|
||||
list in CARDLIST.tuner
|
@ -3,38 +3,18 @@
|
||||
The VPBE V4L2 driver design
|
||||
===========================
|
||||
|
||||
File partitioning
|
||||
-----------------
|
||||
|
||||
V4L2 display device driver
|
||||
drivers/media/platform/davinci/vpbe_display.c
|
||||
drivers/media/platform/davinci/vpbe_display.h
|
||||
|
||||
VPBE display controller
|
||||
drivers/media/platform/davinci/vpbe.c
|
||||
drivers/media/platform/davinci/vpbe.h
|
||||
|
||||
VPBE venc sub device driver
|
||||
drivers/media/platform/davinci/vpbe_venc.c
|
||||
drivers/media/platform/davinci/vpbe_venc.h
|
||||
drivers/media/platform/davinci/vpbe_venc_regs.h
|
||||
|
||||
VPBE osd driver
|
||||
drivers/media/platform/davinci/vpbe_osd.c
|
||||
drivers/media/platform/davinci/vpbe_osd.h
|
||||
drivers/media/platform/davinci/vpbe_osd_regs.h
|
||||
|
||||
Functional partitioning
|
||||
-----------------------
|
||||
|
||||
Consists of the following (in the same order as the list under file
|
||||
partitioning):
|
||||
Consists of the following:
|
||||
|
||||
1. V4L2 display driver
|
||||
|
||||
Implements creation of video2 and video3 device nodes and
|
||||
provides v4l2 device interface to manage VID0 and VID1 layers.
|
||||
|
||||
2. Display controller
|
||||
|
||||
Loads up VENC, OSD and external encoders such as ths8200. It provides
|
||||
a set of API calls to V4L2 drivers to set the output/standards
|
||||
in the VENC or external sub devices. It also provides
|
||||
@ -54,6 +34,7 @@ partitioning):
|
||||
encoders is not present, and would be a part of the next patch series.
|
||||
|
||||
3. VENC subdevice module
|
||||
|
||||
Responsible for setting outputs provided through internal DACs and also
|
||||
setting timings at LCD controller port when external encoders are connected
|
||||
at the port or LCD panel timings required. When external encoder/LCD panel
|
||||
@ -72,6 +53,7 @@ partitioning):
|
||||
patch series.
|
||||
|
||||
4. OSD module
|
||||
|
||||
OSD module implements all OSD layer management and hardware specific
|
||||
features. The VPBE module interacts with the OSD for enabling and
|
||||
disabling appropriate features of the OSD.
|
||||
@ -81,17 +63,3 @@ Current status
|
||||
|
||||
A fully functional working version of the V4L2 driver is available. This
|
||||
driver has been tested with NTSC and PAL standards and buffer streaming.
|
||||
|
||||
To be done
|
||||
----------
|
||||
|
||||
vpbe display controller
|
||||
- Add support for external encoders.
|
||||
- add support for selecting external encoder as default at probe time.
|
||||
|
||||
vpbe venc sub device
|
||||
- add timings for supporting ths8200
|
||||
- add support for LogicPD LCD.
|
||||
|
||||
FB drivers
|
||||
- Add support for fbdev drivers.- Ready and part of subsequent patches.
|
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
========================================
|
||||
Digital TV driver-specific documentation
|
||||
========================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
avermedia
|
||||
bt8xx
|
||||
lmedm04
|
||||
opera-firmware
|
||||
technisat
|
||||
ttusb-dec
|
||||
zr364xx
|
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-a800 cards list
|
||||
=======================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVB-T USB 2.0 (A800)
|
||||
- 07ca:a800, 07ca:a801
|
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9005 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Afatech DVB-T USB1.1 stick
|
||||
- 15a4:9020
|
||||
* - Ansonic DVB-T USB1.1 stick
|
||||
- 10b9:6000
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0055
|
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
@ -0,0 +1,80 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9015 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A309
|
||||
- 07ca:a309
|
||||
* - AVerMedia AVerTV DVB-T Volar X
|
||||
- 07ca:a815
|
||||
* - Afatech AF9015 reference design
|
||||
- 15a4:9015, 15a4:9016
|
||||
* - AverMedia AVerTV Red HD+ (A850T)
|
||||
- 07ca:850b
|
||||
* - AverMedia AVerTV Volar Black HD (A850)
|
||||
- 07ca:850a
|
||||
* - AverMedia AVerTV Volar GPS 805 (A805)
|
||||
- 07ca:a805
|
||||
* - AverMedia AVerTV Volar M (A815Mac)
|
||||
- 07ca:815a
|
||||
* - Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
|
||||
- 1b80:e397
|
||||
* - DigitalNow TinyTwin
|
||||
- 13d3:3226
|
||||
* - DigitalNow TinyTwin v2
|
||||
- 1b80:e402
|
||||
* - DigitalNow TinyTwin v3
|
||||
- 1f4d:9016
|
||||
* - Fujitsu-Siemens Slim Mobile USB DVB-T
|
||||
- 07ca:8150
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:4012
|
||||
* - KWorld Digital MC-810
|
||||
- 1b80:c810
|
||||
* - KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
|
||||
- 1b80:c161
|
||||
* - KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)
|
||||
- 1b80:c160
|
||||
* - KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
|
||||
- 1b80:e399, 1b80:e400
|
||||
* - KWorld USB DVB-T Stick Mobile (UB383-T)
|
||||
- 1b80:e383
|
||||
* - KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
|
||||
- 1b80:e396, 1b80:e39b, 1b80:e395, 1b80:e39a
|
||||
* - Leadtek WinFast DTV Dongle Gold
|
||||
- 0413:6029
|
||||
* - Leadtek WinFast DTV2000DS
|
||||
- 0413:6a04
|
||||
* - MSI DIGIVOX Duo
|
||||
- 1462:8801
|
||||
* - MSI Digi VOX mini III
|
||||
- 1462:8807
|
||||
* - Pinnacle PCTV 71e
|
||||
- 2304:022b
|
||||
* - Sveon STV20 Tuner USB DVB-T HDTV
|
||||
- 1b80:e39d
|
||||
* - Sveon STV22 Dual USB DVB-T Tuner HDTV
|
||||
- 1b80:e401
|
||||
* - Telestar Starstick 2
|
||||
- 10b9:8000
|
||||
* - TerraTec Cinergy T Stick Dual RC
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy T Stick RC
|
||||
- 0ccd:0097
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0069
|
||||
* - TrekStor DVB-T USB Stick
|
||||
- 15a4:901b
|
||||
* - TwinHan AzureWave AD-TU700(704J)
|
||||
- 13d3:3237
|
||||
* - Xtensions XD-380
|
||||
- 1ae7:0381
|
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
@ -0,0 +1,74 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9035 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTV Volar HD/PRO (A835)
|
||||
- 07ca:a835, 07ca:b835
|
||||
* - AVerMedia HD Volar (A867)
|
||||
- 07ca:1867, 07ca:a867, 07ca:0337
|
||||
* - AVerMedia TD310 DVB-T2
|
||||
- 07ca:1871
|
||||
* - AVerMedia Twinstar (A825)
|
||||
- 07ca:0825
|
||||
* - Afatech AF9035 reference design
|
||||
- 15a4:9035, 15a4:1000, 15a4:1001, 15a4:1002, 15a4:1003
|
||||
* - Asus U3100Mini Plus
|
||||
- 0b05:1779
|
||||
* - Avermedia A835B(1835)
|
||||
- 07ca:1835
|
||||
* - Avermedia A835B(2835)
|
||||
- 07ca:2835
|
||||
* - Avermedia A835B(3835)
|
||||
- 07ca:3835
|
||||
* - Avermedia A835B(4835)
|
||||
- 07ca:4835
|
||||
* - Avermedia AverTV Volar HD 2 (TD110)
|
||||
- 07ca:a110
|
||||
* - Avermedia H335
|
||||
- 07ca:0335
|
||||
* - Digital Dual TV Receiver CTVDIGDUAL_V2
|
||||
- 1b80:e410
|
||||
* - EVOLVEO XtraTV stick
|
||||
- 1f4d:a115
|
||||
* - Hauppauge WinTV-MiniStick 2
|
||||
- 2040:f900
|
||||
* - ITE 9135 Generic
|
||||
- 048d:9135
|
||||
* - ITE 9135(9005) Generic
|
||||
- 048d:9005
|
||||
* - ITE 9135(9006) Generic
|
||||
- 048d:9006
|
||||
* - ITE 9303 Generic
|
||||
- 048d:9306
|
||||
* - Kworld UB499-2T T09
|
||||
- 1b80:e409
|
||||
* - Leadtek WinFast DTV Dongle Dual
|
||||
- 0413:6a05
|
||||
* - Logilink VG0022A
|
||||
- 1d19:0100
|
||||
* - PCTV AndroiDTV (78e)
|
||||
- 2013:025a
|
||||
* - PCTV microStick (79e)
|
||||
- 2013:0262
|
||||
* - Sveon STV22 Dual DVB-T HDTV
|
||||
- 1b80:e411
|
||||
* - TerraTec Cinergy T Stick
|
||||
- 0ccd:0093
|
||||
* - TerraTec Cinergy T Stick (rev. 2)
|
||||
- 0ccd:00aa
|
||||
* - TerraTec Cinergy T Stick Dual RC (rev. 2)
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy TC2 Stick
|
||||
- 0ccd:10b2
|
||||
* - TerraTec T1
|
||||
- 0ccd:10ae
|
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-anysee cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Anysee
|
||||
- 04b4:861f, 1c73:861f
|
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-au6610 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Sigmatek DVB-110
|
||||
- 058f:6610
|
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6007 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Azurewave 6007
|
||||
- 13d3:0ccd
|
||||
* - Technisat CableStar Combo HD CI
|
||||
- 14f7:0003
|
||||
* - Terratec H7
|
||||
- 0ccd:10b4, 0ccd:10a3
|
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
@ -0,0 +1,24 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6027 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AZUREWAVE DVB-S/S2 USB2.0 (AZ6027)
|
||||
- 13d3:3275
|
||||
* - Elgato EyeTV Sat
|
||||
- 0fd9:002a, 0fd9:0025, 0fd9:0036
|
||||
* - TERRATEC S7
|
||||
- 0ccd:10a4
|
||||
* - TERRATEC S7 MKII
|
||||
- 0ccd:10ac
|
||||
* - Technisat SkyStar USB 2 HD CI
|
||||
- 14f7:0001, 14f7:0002
|
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ce6230 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A310 USB 2.0 DVB-T tuner
|
||||
- 07ca:a310
|
||||
* - Intel CE9500 reference design
|
||||
- 8086:9500
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cinergyT2 cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TerraTec/qanu USB2.0 Highspeed DVB-T Receiver
|
||||
- 0ccd:0x0038
|
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
@ -0,0 +1,40 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cxusb cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTVHD Volar (A868R)
|
||||
-
|
||||
* - Conexant DMB-TH Stick
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual USB
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T NANO2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (LGZ201)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (TH7579)
|
||||
-
|
||||
* - DViCO FusionHDTV5 USB Gold
|
||||
-
|
||||
* - DigitalNow DVB-T Dual USB
|
||||
-
|
||||
* - Medion MD95700 (MDUSBTV-HYBRID)
|
||||
-
|
||||
* - Mygica D689 DMB-TH
|
||||
-
|
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
@ -0,0 +1,162 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dib0700 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema U3000 Mini DVBT Tuner
|
||||
- 0b05:171f
|
||||
* - ASUS My Cinema U3100 Mini DVBT Tuner
|
||||
- 0b05:173f
|
||||
* - AVerMedia AVerTV DVB-T Express
|
||||
- 07ca:b568
|
||||
* - AVerMedia AVerTV DVB-T Volar
|
||||
- 07ca:a807, 07ca:b808
|
||||
* - Artec T14BR DVB-T
|
||||
- 05d8:810f
|
||||
* - Asus My Cinema-U3000Hybrid
|
||||
- 0b05:1736
|
||||
* - Compro Videomate U500
|
||||
- 185b:1e78, 185b:1e80
|
||||
* - DiBcom NIM7090 reference design
|
||||
- 10b8:1bb2
|
||||
* - DiBcom NIM8096MD reference design
|
||||
- 10b8:1fa8
|
||||
* - DiBcom NIM9090MD reference design
|
||||
- 10b8:2384
|
||||
* - DiBcom STK7070P reference design
|
||||
- 10b8:1ebc
|
||||
* - DiBcom STK7070PD reference design
|
||||
- 10b8:1ebe
|
||||
* - DiBcom STK7700D reference design
|
||||
- 10b8:1ef0
|
||||
* - DiBcom STK7700P reference design
|
||||
- 10b8:1e14, 10b8:1e78
|
||||
* - DiBcom STK7770P reference design
|
||||
- 10b8:1e80
|
||||
* - DiBcom STK807xP reference design
|
||||
- 10b8:1f90
|
||||
* - DiBcom STK807xPVR reference design
|
||||
- 10b8:1f98
|
||||
* - DiBcom STK8096-PVR reference design
|
||||
- 2013:1faa, 10b8:1faa
|
||||
* - DiBcom STK8096GP reference design
|
||||
- 10b8:1fa0
|
||||
* - DiBcom STK9090M reference design
|
||||
- 10b8:2383
|
||||
* - DiBcom TFE7090PVR reference design
|
||||
- 10b8:1bb4
|
||||
* - DiBcom TFE7790P reference design
|
||||
- 10b8:1e6e
|
||||
* - DiBcom TFE8096P reference design
|
||||
- 10b8:1f9C
|
||||
* - Elgato EyeTV DTT
|
||||
- 0fd9:0021
|
||||
* - Elgato EyeTV DTT rev. 2
|
||||
- 0fd9:003f
|
||||
* - Elgato EyeTV Diversity
|
||||
- 0fd9:0011
|
||||
* - Elgato EyeTV Dtt Dlx PD378S
|
||||
- 0fd9:0020
|
||||
* - EvolutePC TVWay+
|
||||
- 1e59:0002
|
||||
* - Gigabyte U7000
|
||||
- 1044:7001
|
||||
* - Gigabyte U8000-RH
|
||||
- 1044:7002
|
||||
* - Hama DVB=T Hybrid USB Stick
|
||||
- 147f:2758
|
||||
* - Hauppauge ATSC MiniCard (B200)
|
||||
- 2040:b200
|
||||
* - Hauppauge ATSC MiniCard (B210)
|
||||
- 2040:b210
|
||||
* - Hauppauge Nova-T 500 Dual DVB-T
|
||||
- 2040:9941, 2040:9950
|
||||
* - Hauppauge Nova-T MyTV.t
|
||||
- 2040:7080
|
||||
* - Hauppauge Nova-T Stick
|
||||
- 2040:7050, 2040:7060, 2040:7070
|
||||
* - Hauppauge Nova-TD Stick (52009)
|
||||
- 2040:5200
|
||||
* - Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity
|
||||
- 2040:9580
|
||||
* - Hauppauge Nova-TD-500 (84xxx)
|
||||
- 2040:8400
|
||||
* - Leadtek WinFast DTV Dongle H
|
||||
- 0413:60f6
|
||||
* - Leadtek Winfast DTV Dongle (STK7700P based)
|
||||
- 0413:6f00, 0413:6f01
|
||||
* - Medion CTX1921 DVB-T USB
|
||||
- 1660:1921
|
||||
* - Microsoft Xbox One Digital TV Tuner
|
||||
- 045e:02d5
|
||||
* - PCTV 2002e
|
||||
- 2013:025c
|
||||
* - PCTV 2002e SE
|
||||
- 2013:025d
|
||||
* - Pinnacle Expresscard 320cx
|
||||
- 2304:022e
|
||||
* - Pinnacle PCTV 2000e
|
||||
- 2304:022c
|
||||
* - Pinnacle PCTV 282e
|
||||
- 2013:0248, 2304:0248
|
||||
* - Pinnacle PCTV 340e HD Pro USB Stick
|
||||
- 2304:023d
|
||||
* - Pinnacle PCTV 72e
|
||||
- 2304:0236
|
||||
* - Pinnacle PCTV 73A
|
||||
- 2304:0243
|
||||
* - Pinnacle PCTV 73e
|
||||
- 2304:0237
|
||||
* - Pinnacle PCTV 73e SE
|
||||
- 2013:0245, 2304:0245
|
||||
* - Pinnacle PCTV DVB-T Flash Stick
|
||||
- 2304:0228
|
||||
* - Pinnacle PCTV Dual DVB-T Diversity Stick
|
||||
- 2304:0229
|
||||
* - Pinnacle PCTV HD Pro USB Stick
|
||||
- 2304:023a
|
||||
* - Pinnacle PCTV HD USB Stick
|
||||
- 2304:023b
|
||||
* - Pinnacle PCTV Hybrid Stick Solo
|
||||
- 2304:023e
|
||||
* - Prolink Pixelview SBTVD
|
||||
- 1554:5010
|
||||
* - Sony PlayTV
|
||||
- 1415:0003
|
||||
* - TechniSat AirStar TeleStick 2
|
||||
- 14f7:0004
|
||||
* - Terratec Cinergy DT USB XS Diversity/ T5
|
||||
- 0ccd:0081, 0ccd:10a1
|
||||
* - Terratec Cinergy DT XS Diversity
|
||||
- 0ccd:005a
|
||||
* - Terratec Cinergy HT Express
|
||||
- 0ccd:0060
|
||||
* - Terratec Cinergy HT USB XE
|
||||
- 0ccd:0058
|
||||
* - Terratec Cinergy T Express
|
||||
- 0ccd:0062
|
||||
* - Terratec Cinergy T USB XXS (HD)/ T3
|
||||
- 0ccd:0078, 0ccd:10a0, 0ccd:00ab
|
||||
* - Uniwill STK7700P based (Hama and others)
|
||||
- 1584:6003
|
||||
* - YUAN High-Tech DiBcom STK7700D
|
||||
- 1164:1e8c
|
||||
* - YUAN High-Tech MC770
|
||||
- 1164:0871
|
||||
* - YUAN High-Tech STK7700D
|
||||
- 1164:1efc
|
||||
* - YUAN High-Tech STK7700PH
|
||||
- 1164:1f08
|
||||
* - Yuan EC372S
|
||||
- 1164:1edc
|
||||
* - Yuan PD378S
|
||||
- 1164:2edc
|
@ -0,0 +1,42 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mb cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVBT USB1.1
|
||||
- 14aa:0001, 14aa:0002
|
||||
* - Artec T1 USB1.1 TVBOX with AN2135
|
||||
- 05d8:8105, 05d8:8106
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235
|
||||
- 05d8:8107, 05d8:8108
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)
|
||||
- 0547:2235
|
||||
* - Artec T1 USB2.0
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)
|
||||
- 185b:d000, 145f:010c, 185b:d001
|
||||
* - DiBcom USB1.1 DVB-T reference design (MOD3000)
|
||||
- 10b8:0bb8, 10b8:0bb9
|
||||
* - Grandtec USB1.1 DVB-T
|
||||
- 5032:0fa0, 5032:0bb8, 5032:0fa1, 5032:0bb9
|
||||
* - KWorld V-Stream XPERT DTV - DVB-T USB1.1
|
||||
- eb1a:17de, eb1a:17df
|
||||
* - KWorld Xpert DVB-T USB2.0
|
||||
- eb2a:17de
|
||||
* - KWorld/ADSTech Instant DVB-T USB2.0
|
||||
- 06e1:a333, 06e1:a334
|
||||
* - TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
|
||||
- 13d3:3201, 1822:3201, 13d3:3202, 1822:3202
|
||||
* - Unknown USB1.1 DVB-T device ???? please report the name to the author
|
||||
- 1025:005e, 1025:005f
|
||||
* - VideoWalker DVB-T USB
|
||||
- 0458:701e, 0458:701f
|
@ -0,0 +1,30 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mc cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Artec T1 USB2.0 TVBOX (please check the warm ID)
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Artec T14 - USB2.0 DVB-T
|
||||
- 05d8:810b, 05d8:810c
|
||||
* - DiBcom USB2.0 DVB-T reference design (MOD3000P)
|
||||
- 10b8:0bc6, 10b8:0bc7
|
||||
* - GRAND - USB2.0 DVB-T adapter
|
||||
- 5032:0bc6, 5032:0bc7
|
||||
* - Humax/Coex DVB-T USB Stick 2.0 High Speed
|
||||
- 10b9:5000, 10b9:5001
|
||||
* - LITE-ON USB2.0 DVB-T Tuner
|
||||
- 04ca:f000, 04ca:f001
|
||||
* - Leadtek - USB2.0 Winfast DTV dongle
|
||||
- 0413:6025, 0413:6026
|
||||
* - MSI Digivox Mini SL
|
||||
- eb1a:e360, eb1a:e361
|
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-digitv cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Nebula Electronics uDigiTV DVB-T USB2.0)
|
||||
- 0547:0201
|
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
@ -0,0 +1,22 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtt200u cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - WideView WT-220U PenType Receiver (Miglia)
|
||||
- 18f3:0220
|
||||
* - WideView WT-220U PenType Receiver (Typhoon/Freecom)
|
||||
- 14aa:0222, 14aa:0220, 14aa:0221, 14aa:0225, 14aa:0226
|
||||
* - WideView WT-220U PenType Receiver (based on ZL353)
|
||||
- 14aa:022a, 14aa:022b
|
||||
* - WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)
|
||||
- 14aa:0201, 14aa:0301
|
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtv5100 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AME DTV-5100 USB2.0 DVB-T
|
||||
- 0x06be:0xa232
|
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
@ -0,0 +1,42 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dvbsky cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBSky S960/S860
|
||||
- 0572:6831
|
||||
* - DVBSky S960CI
|
||||
- 0572:960c
|
||||
* - DVBSky T330
|
||||
- 0572:0320
|
||||
* - DVBSky T680CI
|
||||
- 0572:680c
|
||||
* - MyGica Mini DVB-T2 USB Stick T230
|
||||
- 0572:c688
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C
|
||||
- 0572:c689
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C Lite
|
||||
- 0572:c699
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C v2
|
||||
- 0572:c68a
|
||||
* - TechnoTrend TT-connect CT2-4650 CI
|
||||
- 0b48:3012
|
||||
* - TechnoTrend TT-connect CT2-4650 CI v1.1
|
||||
- 0b48:3015
|
||||
* - TechnoTrend TT-connect S2-4650 CI
|
||||
- 0b48:3017
|
||||
* - TechnoTrend TVStick CT2-4400
|
||||
- 0b48:3014
|
||||
* - Terratec Cinergy S2 Rev.4
|
||||
- 0ccd:0105
|
||||
* - Terratec H7 Rev.4
|
||||
- 0ccd:10a5
|
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
@ -0,0 +1,52 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dw2102 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBWorld DVB-C 3101 USB2.0
|
||||
- 04b4:3101
|
||||
* - DVBWorld DVB-S 2101 USB2.0
|
||||
- 04b4:0x2101
|
||||
* - DVBWorld DVB-S 2102 USB2.0
|
||||
- 04b4:2102
|
||||
* - DVBWorld DW2104 USB2.0
|
||||
- 04b4:2104
|
||||
* - GOTVIEW Satellite HD
|
||||
- 0x1FE1:5456
|
||||
* - Geniatech T220 DVB-T/T2 USB2.0
|
||||
- 0x1f4d:0xD220
|
||||
* - SU3000HD DVB-S USB2.0
|
||||
- 0x1f4d:0x3000
|
||||
* - TeVii S482 (tuner 1)
|
||||
- 0x9022:0xd483
|
||||
* - TeVii S482 (tuner 2)
|
||||
- 0x9022:0xd484
|
||||
* - TeVii S630 USB
|
||||
- 0x9022:d630
|
||||
* - TeVii S650 USB2.0
|
||||
- 0x9022:d650
|
||||
* - TeVii S662
|
||||
- 0x9022:d662
|
||||
* - TechnoTrend TT-connect S2-4600
|
||||
- 0b48:3011
|
||||
* - TerraTec Cinergy S USB
|
||||
- 0ccd:0064
|
||||
* - Terratec Cinergy S2 USB BOX
|
||||
- 0ccd:0x0105
|
||||
* - Terratec Cinergy S2 USB HD
|
||||
- 0ccd:00a8
|
||||
* - Terratec Cinergy S2 USB HD Rev.2
|
||||
- 0ccd:00b0
|
||||
* - Terratec Cinergy S2 USB HD Rev.3
|
||||
- 0ccd:0102
|
||||
* - X3M TV SPC1400HD PCI
|
||||
- 0x1f4d:0x3100
|
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ec168 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - E3C EC168 reference design
|
||||
- 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001, 18b4:1002
|
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gl861 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - 774 Friio White ISDB-T USB2.0
|
||||
- 7a69:0001
|
||||
* - A-LINK DTU DVB-T USB2.0
|
||||
- 05e3:f170
|
||||
* - MSI Mega Sky 55801 DVB-T USB2.0
|
||||
- 0db0:5581
|
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
@ -0,0 +1,22 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gp8psk cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Genpix 8PSK-to-USB2 Rev.1 DVB-S receiver
|
||||
- 09c0:0200, 09c0:0201
|
||||
* - Genpix 8PSK-to-USB2 Rev.2 DVB-S receiver
|
||||
- 09c0:0202
|
||||
* - Genpix SkyWalker-1 DVB-S receiver
|
||||
- 09c0:0203
|
||||
* - Genpix SkyWalker-2 DVB-S receiver
|
||||
- 09c0:0206
|
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-lmedm04 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DM04_LME2510C_DVB-S
|
||||
- 3344:1120
|
||||
* - DM04_LME2510C_DVB-S RS2000
|
||||
- 3344:22f0
|
||||
* - DM04_LME2510_DVB-S
|
||||
- 3344:1122
|
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
@ -0,0 +1,26 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-m920x cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DTV-DVB UDTT7049
|
||||
- 13d3:3219
|
||||
* - Dposh DVB-T USB2.0
|
||||
- 1498:9206, 1498:a090
|
||||
* - LifeView TV Walker Twin DVB-T USB2.0
|
||||
- 10fd:0514, 10fd:0513
|
||||
* - MSI DIGI VOX mini II DVB-T USB2.0
|
||||
- 10fd:1513
|
||||
* - MSI Mega Sky 580 DVB-T USB2.0
|
||||
- 0db0:5580
|
||||
* - Pinnacle PCTV 310e
|
||||
- 13d3:3211
|
@ -0,0 +1,36 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-mxl111sf cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - HCW 117xxx
|
||||
- 2040:b702
|
||||
* - HCW 126xxx
|
||||
- 2040:c602, 2040:c60a
|
||||
* - Hauppauge 117xxx ATSC+
|
||||
- 2040:b700, 2040:b703, 2040:b753, 2040:b763, 2040:b757, 2040:b767
|
||||
* - Hauppauge 117xxx DVBT
|
||||
- 2040:b704, 2040:b764
|
||||
* - Hauppauge 126xxx
|
||||
- 2040:c612, 2040:c61a
|
||||
* - Hauppauge 126xxx ATSC
|
||||
- 2040:c601, 2040:c609, 2040:b701
|
||||
* - Hauppauge 126xxx ATSC+
|
||||
- 2040:c600, 2040:c603, 2040:c60b, 2040:c653, 2040:c65b
|
||||
* - Hauppauge 126xxx DVBT
|
||||
- 2040:c604, 2040:c60c
|
||||
* - Hauppauge 138xxx DVBT
|
||||
- 2040:d854, 2040:d864, 2040:d8d4, 2040:d8e4
|
||||
* - Hauppauge Mercury
|
||||
- 2040:d853, 2040:d863, 2040:d8d3, 2040:d8e3, 2040:d8ff
|
||||
* - Hauppauge WinTV-Aero-M
|
||||
- 2040:c613, 2040:c61b
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-nova-t-usb2 cards list
|
||||
==============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge WinTV-NOVA-T usb2
|
||||
- 2040:9300, 2040:9301
|
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-opera1 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Opera1 DVB-S USB2.0
|
||||
- 04b4:2830, 695c:3829
|
@ -0,0 +1,20 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-pctv452e cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - PCTV HDTV USB
|
||||
- 2304:021f
|
||||
* - Technotrend TT Connect S2-3600
|
||||
- 0b48:3007
|
||||
* - Technotrend TT Connect S2-3650-CI
|
||||
- 0b48:300a
|
@ -0,0 +1,80 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-rtl28xxu cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema-U3100Mini Plus V2
|
||||
- 1b80:d3a8
|
||||
* - Astrometa DVB-T2
|
||||
- 15f4:0131
|
||||
* - Compro VideoMate U620F
|
||||
- 185b:0620
|
||||
* - Compro VideoMate U650F
|
||||
- 185b:0650
|
||||
* - Crypto ReDi PC 50 A
|
||||
- 1f4d:a803
|
||||
* - Dexatek DK DVB-T Dongle
|
||||
- 1d19:1101
|
||||
* - Dexatek DK mini DVB-T Dongle
|
||||
- 1d19:1102
|
||||
* - DigitalNow Quad DVB-T Receiver
|
||||
- 0413:6680
|
||||
* - Freecom USB2.0 DVB-T
|
||||
- 14aa:0160, 14aa:0161
|
||||
* - G-Tek Electronics Group Lifeview LV5TDLX DVB-T
|
||||
- 1f4d:b803
|
||||
* - GIGABYTE U7300
|
||||
- 1b80:d393
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:707f
|
||||
* - GoTView MasterHD 3
|
||||
- 5654:ca42
|
||||
* - Leadtek WinFast DTV Dongle mini
|
||||
- 0413:6a03
|
||||
* - Leadtek WinFast DTV2000DS Plus
|
||||
- 0413:6f12
|
||||
* - Leadtek Winfast DTV Dongle Mini D
|
||||
- 0413:6f0f
|
||||
* - MSI DIGIVOX Micro HD
|
||||
- 1d19:1104
|
||||
* - MaxMedia HU394-T
|
||||
- 1b80:d394
|
||||
* - PROlectrix DV107669
|
||||
- 1f4d:d803
|
||||
* - Peak DVB-T USB
|
||||
- 1b80:d395
|
||||
* - Realtek RTL2831U reference design
|
||||
- 0bda:2831
|
||||
* - Realtek RTL2832U reference design
|
||||
- 0bda:2832, 0bda:2838
|
||||
* - Sveon STV20
|
||||
- 1b80:d39d
|
||||
* - Sveon STV21
|
||||
- 1b80:d3b0
|
||||
* - Sveon STV27
|
||||
- 1b80:d3af
|
||||
* - TURBO-X Pure TV Tuner DTT-2000
|
||||
- 1b80:d3a4
|
||||
* - TerraTec Cinergy T Stick Black
|
||||
- 0ccd:00a9
|
||||
* - TerraTec Cinergy T Stick RC (Rev. 3)
|
||||
- 0ccd:00d3
|
||||
* - TerraTec Cinergy T Stick+
|
||||
- 0ccd:00d7
|
||||
* - TerraTec NOXON DAB Stick
|
||||
- 0ccd:00b3
|
||||
* - TerraTec NOXON DAB Stick (rev 2)
|
||||
- 0ccd:00e0
|
||||
* - TerraTec NOXON DAB Stick (rev 3)
|
||||
- 0ccd:00b4
|
||||
* - Trekstor DVB-T Stick Terres 2.0
|
||||
- 1f4d:C803
|
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-technisat-usb2 cards list
|
||||
=================================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Technisat SkyStar USB HD (DVB-S/S2)
|
||||
- 14f7:0500
|
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
@ -0,0 +1,24 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ttusb2 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Pinnacle 400e DVB-S USB2.0
|
||||
- 2304:020f
|
||||
* - Pinnacle 450e DVB-S USB2.0
|
||||
- 2304:0222
|
||||
* - Technotrend TT-connect CT-3650
|
||||
- 0b48:300d
|
||||
* - Technotrend TT-connect S-2400
|
||||
- 0b48:3006
|
||||
* - Technotrend TT-connect S-2400 (8kB EEPROM)
|
||||
- 0b48:3009
|
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-umt-010 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hanftek UMT-010 DVB-T USB2.0
|
||||
- 15f4:0001, 15f4:0015
|
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp702x cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TwinhanDTV StarBox DVB-S USB2.0 (VP7021)
|
||||
- 13d3:3207
|
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
@ -0,0 +1,18 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp7045 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DigitalNow TinyUSB 2 DVB-t Receiver
|
||||
- 13d3:3223, 13d3:3224
|
||||
* - Twinhan USB2.0 DVB-T receiver (TwinhanDTV Alpha/MagicBox II)
|
||||
- 13d3:3205, 13d3:3206
|
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-zd1301 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ZyDAS ZD1301 reference design
|
||||
- 0ace:13a1
|
12
Documentation/admin-guide/media/dvb.rst
Normal file
12
Documentation/admin-guide/media/dvb.rst
Normal file
@ -0,0 +1,12 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Digital TV
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
|
||||
dvb_intro
|
||||
ci
|
||||
faq
|
||||
dvb_references
|
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
@ -0,0 +1,616 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==============================
|
||||
Using the Digital TV Framework
|
||||
==============================
|
||||
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
One significant difference between Digital TV and Analogue TV that the
|
||||
unwary (like myself) should consider is that, although the component
|
||||
structure of DVB-T cards are substantially similar to Analogue TV cards,
|
||||
they function in substantially different ways.
|
||||
|
||||
The purpose of an Analogue TV is to receive and display an Analogue
|
||||
Television signal. An Analogue TV signal (otherwise known as composite
|
||||
video) is an analogue encoding of a sequence of image frames (25 frames
|
||||
per second in Europe) rasterised using an interlacing technique.
|
||||
Interlacing takes two fields to represent one frame. Therefore, an
|
||||
Analogue TV card for a PC has the following purpose:
|
||||
|
||||
* Tune the receiver to receive a broadcast signal
|
||||
* demodulate the broadcast signal
|
||||
* demultiplex the analogue video signal and analogue audio
|
||||
signal.
|
||||
|
||||
.. note::
|
||||
|
||||
some countries employ a digital audio signal
|
||||
embedded within the modulated composite analogue signal -
|
||||
using NICAM signaling.)
|
||||
|
||||
* digitize the analogue video signal and make the resulting datastream
|
||||
available to the data bus.
|
||||
|
||||
The digital datastream from an Analogue TV card is generated by
|
||||
circuitry on the card and is often presented uncompressed. For a PAL TV
|
||||
signal encoded at a resolution of 768x576 24-bit color pixels over 25
|
||||
frames per second - a fair amount of data is generated and must be
|
||||
processed by the PC before it can be displayed on the video monitor
|
||||
screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which
|
||||
permit the raw digital data stream to be presented to the PC in an
|
||||
encoded and compressed form - similar to the form that is used in
|
||||
Digital TV.
|
||||
|
||||
The purpose of a simple budget digital TV card (DVB-T,C or S) is to
|
||||
simply:
|
||||
|
||||
* Tune the received to receive a broadcast signal. * Extract the encoded
|
||||
digital datastream from the broadcast signal.
|
||||
* Make the encoded digital datastream (MPEG2) available to the data bus.
|
||||
|
||||
The significant difference between the two is that the tuner on the
|
||||
analogue TV card spits out an Analogue signal, whereas the tuner on the
|
||||
digital TV card spits out a compressed encoded digital datastream. As
|
||||
the signal is already digitised, it is trivial to pass this datastream
|
||||
to the PC databus with minimal additional processing and then extract
|
||||
the digital video and audio datastreams passing them to the appropriate
|
||||
software or hardware for decoding and viewing.
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Device Driver API for DVB under Linux will the following
|
||||
device nodes via the devfs filesystem:
|
||||
|
||||
* /dev/dvb/adapter0/demux0
|
||||
* /dev/dvb/adapter0/dvr0
|
||||
* /dev/dvb/adapter0/frontend0
|
||||
|
||||
The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2
|
||||
Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used
|
||||
to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is
|
||||
used to control what programs will be received.
|
||||
|
||||
Depending on the card's feature set, the Device Driver API could also
|
||||
expose other device nodes:
|
||||
|
||||
* /dev/dvb/adapter0/ca0
|
||||
* /dev/dvb/adapter0/audio0
|
||||
* /dev/dvb/adapter0/net0
|
||||
* /dev/dvb/adapter0/osd0
|
||||
* /dev/dvb/adapter0/video0
|
||||
|
||||
The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The
|
||||
other device nodes are found only on devices that use the av7110
|
||||
driver, with is now obsoleted, together with the extra API whose such
|
||||
devices use.
|
||||
|
||||
Receiving a digital TV channel
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This section attempts to explain how it works and how this affects the
|
||||
configuration of a Digital TV card.
|
||||
|
||||
On this example, we're considering tuning into DVB-T channels in
|
||||
Australia, at the Melbourne region.
|
||||
|
||||
The frequencies broadcast by Mount Dandenong transmitters are,
|
||||
currently:
|
||||
|
||||
Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
|
||||
|
||||
=========== ===========
|
||||
Broadcaster Frequency
|
||||
=========== ===========
|
||||
Seven 177.500 Mhz
|
||||
SBS 184.500 Mhz
|
||||
Nine 191.625 Mhz
|
||||
Ten 219.500 Mhz
|
||||
ABC 226.500 Mhz
|
||||
Channel 31 557.625 Mhz
|
||||
=========== ===========
|
||||
|
||||
The digital TV Scan utilities (like dvbv5-scan) have use a set of
|
||||
compiled-in defaults for various countries and regions. Those are
|
||||
currently provided as a separate package, called dtv-scan-tables. It's
|
||||
git tree is located at LinuxTV.org:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/
|
||||
|
||||
If none of the tables there suit, you can specify a data file on the
|
||||
command line which contains the transponder frequencies. Here is a
|
||||
sample file for the above channel transponders, in the old "channel"
|
||||
format::
|
||||
|
||||
# Data file for DVB scan program
|
||||
#
|
||||
# C Frequency SymbolRate FEC QAM
|
||||
# S Frequency Polarisation SymbolRate FEC
|
||||
# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
|
||||
|
||||
T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE
|
||||
T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE
|
||||
|
||||
Nowadays, we prefer to use a newer format, with is more verbose and easier
|
||||
to understand. With the new format, the "Seven" channel transponder's
|
||||
data is represented by::
|
||||
|
||||
[Seven]
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = AUTO
|
||||
CODE_RATE_LP = AUTO
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
INVERSION = AUTO
|
||||
|
||||
For an updated version of the complete table, please see:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne
|
||||
|
||||
When the Digital TV scanning utility runs, it will output a file
|
||||
containing the information for all the audio and video programs that
|
||||
exists into each channel's transponders which the card's frontend can
|
||||
lock onto. (i.e. any whose signal is strong enough at your antenna).
|
||||
|
||||
Here's the output of the dvbv5 tools from a channel scan took from
|
||||
Melburne::
|
||||
|
||||
[ABC HDTV]
|
||||
SERVICE_ID = 560
|
||||
VIDEO_PID = 2307
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV Melbourne]
|
||||
SERVICE_ID = 561
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 2]
|
||||
SERVICE_ID = 562
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 3]
|
||||
SERVICE_ID = 563
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 4]
|
||||
SERVICE_ID = 564
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC DiG Radio]
|
||||
SERVICE_ID = 566
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 2311
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1585
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 1]
|
||||
SERVICE_ID = 1586
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 2]
|
||||
SERVICE_ID = 1587
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 3]
|
||||
SERVICE_ID = 1588
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1589
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 4]
|
||||
SERVICE_ID = 1590
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1591
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN HD]
|
||||
SERVICE_ID = 1592
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1593
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital]
|
||||
SERVICE_ID = 1072
|
||||
VIDEO_PID = 513
|
||||
AUDIO_PID = 660
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital HD]
|
||||
SERVICE_ID = 1073
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Guide]
|
||||
SERVICE_ID = 1074
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 670
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital]
|
||||
SERVICE_ID = 1328
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 1]
|
||||
SERVICE_ID = 1329
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 2]
|
||||
SERVICE_ID = 1330
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 3]
|
||||
SERVICE_ID = 1331
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 HD Digital]
|
||||
SERVICE_ID = 1332
|
||||
VIDEO_PID = 833
|
||||
AUDIO_PID = 834
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Program Guide]
|
||||
SERVICE_ID = 1334
|
||||
VIDEO_PID = 865
|
||||
AUDIO_PID = 866
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS HD]
|
||||
SERVICE_ID = 784
|
||||
VIDEO_PID = 102
|
||||
AUDIO_PID = 103
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 1]
|
||||
SERVICE_ID = 785
|
||||
VIDEO_PID = 161
|
||||
AUDIO_PID = 81
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 2]
|
||||
SERVICE_ID = 786
|
||||
VIDEO_PID = 162
|
||||
AUDIO_PID = 83
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS EPG]
|
||||
SERVICE_ID = 787
|
||||
VIDEO_PID = 163
|
||||
AUDIO_PID = 85
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 1]
|
||||
SERVICE_ID = 798
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 201
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 2]
|
||||
SERVICE_ID = 799
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 202
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
@ -0,0 +1,29 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
The main development site and GIT repository for Digital TV
|
||||
drivers is https://linuxtv.org.
|
||||
|
||||
The DVB mailing list linux-dvb is hosted at vger. Please see
|
||||
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
||||
|
||||
There are also some other old lists hosted at:
|
||||
https://linuxtv.org/lists.php. If you're insterested on that for historic
|
||||
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
||||
|
||||
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
||||
There, you'll find lots of information, from both development and usage
|
||||
of media boards. Please check it before asking newbie questions on the
|
||||
mailing list or IRC channels.
|
||||
|
||||
The API documentation is documented at the Kernel tree. You can find it
|
||||
in both html and pdf formats, together with other useful documentation at:
|
||||
|
||||
- https://linuxtv.org/docs.php.
|
||||
|
||||
You may also find useful material at https://linuxtv.org/downloads/.
|
||||
|
||||
In order to get the needed firmware for some drivers to work, there's
|
||||
a script at the kernel tree, at scripts/get_dvb_firmware.
|
@ -393,7 +393,7 @@ EM28xx cards list
|
||||
* - 94
|
||||
- PCTV tripleStick (292e)
|
||||
- em28178
|
||||
- 2013:025f, 2013:0264, 2040:0264, 2040:8264, 2040:8268, 2040:8268
|
||||
- 2013:025f, 2013:0264, 2040:0264, 2040:8264, 2040:8268
|
||||
* - 95
|
||||
- Leadtek VC100
|
||||
- em2861
|
||||
@ -426,3 +426,11 @@ EM28xx cards list
|
||||
- :ZOLID HYBRID TV STICK
|
||||
- em2882
|
||||
-
|
||||
* - 103
|
||||
- Magix USB Videowandler-2
|
||||
- em2861
|
||||
- 1b80:e349
|
||||
* - 104
|
||||
- PCTV DVB-S2 Stick (461e v2)
|
||||
- em28178
|
||||
- 2013:0461, 2013:0259
|
216
Documentation/admin-guide/media/faq.rst
Normal file
216
Documentation/admin-guide/media/faq.rst
Normal file
@ -0,0 +1,216 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
FAQ
|
||||
===
|
||||
|
||||
.. note::
|
||||
|
||||
1. With Digital TV, a single physical channel may have different
|
||||
contents inside it. The specs call each one as a *service*.
|
||||
This is what a TV user would call "channel". So, in order to
|
||||
avoid confusion, we're calling *transponders* as the physical
|
||||
channel on this FAQ, and *services* for the logical channel.
|
||||
2. The LinuxTV community maintains some Wiki pages with contain
|
||||
a lot of information related to the media subsystem. If you
|
||||
don't find an answer for your needs here, it is likely that
|
||||
you'll be able to get something useful there. It is hosted
|
||||
at:
|
||||
|
||||
https://www.linuxtv.org/wiki/
|
||||
|
||||
Some very frequently asked questions about Linux Digital TV support
|
||||
|
||||
1. The signal seems to die a few seconds after tuning.
|
||||
|
||||
It's not a bug, it's a feature. Because the frontends have
|
||||
significant power requirements (and hence get very hot), they
|
||||
are powered down if they are unused (i.e. if the frontend device
|
||||
is closed). The ``dvb-core`` module parameter ``dvb_shutdown_timeout``
|
||||
allow you to change the timeout (default 5 seconds). Setting the
|
||||
timeout to 0 disables the timeout feature.
|
||||
|
||||
2. How can I watch TV?
|
||||
|
||||
Together with the Linux Kernel, the Digital TV developers support
|
||||
some simple utilities which are mainly intended for testing
|
||||
and to demonstrate how the DVB API works. This is called DVB v5
|
||||
tools and are grouped together with the ``v4l-utils`` git repository:
|
||||
|
||||
https://git.linuxtv.org/v4l-utils.git/
|
||||
|
||||
You can find more information at the LinuxTV wiki:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/DVBv5_Tools
|
||||
|
||||
The first step is to get a list of services that are transmitted.
|
||||
|
||||
This is done by using several existing tools. You can use
|
||||
for example the ``dvbv5-scan`` tool. You can find more information
|
||||
about it at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/Dvbv5-scan
|
||||
|
||||
There are some other applications like ``w_scan`` [#]_ that do a
|
||||
blind scan, trying hard to find all possible channels, but
|
||||
those consumes a large amount of time to run.
|
||||
|
||||
.. [#] https://www.linuxtv.org/wiki/index.php/W_scan
|
||||
|
||||
Also, some applications like ``kaffeine`` have their own code
|
||||
to scan for services. So, you don't need to use an external
|
||||
application to obtain such list.
|
||||
|
||||
Most of such tools need a file containing a list of channel
|
||||
transponders available on your area. So, LinuxTV developers
|
||||
maintain tables of Digital TV channel transponders, receiving
|
||||
patches from the community to keep them updated.
|
||||
|
||||
This list is hosted at:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git
|
||||
|
||||
And packaged on several distributions.
|
||||
|
||||
Kaffeine has some blind scan support for some terrestrial standards.
|
||||
It also relies on DTV scan tables, although it contains a copy
|
||||
of it internally (and, if requested by the user, it will download
|
||||
newer versions of it).
|
||||
|
||||
If you are lucky you can just use one of the supplied channel
|
||||
transponders. If not, you may need to seek for such info at
|
||||
the Internet and create a new file. There are several sites with
|
||||
contains physical channel lists. For cable and satellite, usually
|
||||
knowing how to tune into a single channel is enough for the
|
||||
scanning tool to identify the other channels. On some places,
|
||||
this could also work for terrestrial transmissions.
|
||||
|
||||
Once you have a transponders list, you need to generate a services
|
||||
list with a tool like ``dvbv5-scan``.
|
||||
|
||||
Almost all modern Digital TV cards don't have built-in hardware
|
||||
MPEG-decoders. So, it is up to the application to get a MPEG-TS
|
||||
stream provided by the board, split it into audio, video and other
|
||||
data and decode.
|
||||
|
||||
3. Which Digital TV applications exist?
|
||||
|
||||
Several media player applications are capable of tuning into
|
||||
digital TV channels, including Kaffeine, Vlc, mplayer and MythTV.
|
||||
|
||||
Kaffeine aims to be very user-friendly, and it is maintained
|
||||
by one of the Kernel driver developers.
|
||||
|
||||
A comprehensive list of those and other apps can be found at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/TV_Related_Software
|
||||
|
||||
Some of the most popular ones are linked below:
|
||||
|
||||
https://kde.org/applications/multimedia/org.kde.kaffeine
|
||||
KDE media player, focused on Digital TV support
|
||||
|
||||
https://www.linuxtv.org/vdrwiki/index.php/Main_Page
|
||||
Klaus Schmidinger's Video Disk Recorder
|
||||
|
||||
https://linuxtv.org/downloads and https://git.linuxtv.org/
|
||||
Digital TV and other media-related applications and
|
||||
Kernel drivers. The ``v4l-utils`` package there contains
|
||||
several swiss knife tools for using with Digital TV.
|
||||
|
||||
http://sourceforge.net/projects/dvbtools/
|
||||
Dave Chapman's dvbtools package, including
|
||||
dvbstream and dvbtune
|
||||
|
||||
http://www.dbox2.info/
|
||||
LinuxDVB on the dBox2
|
||||
|
||||
http://www.tuxbox.org/
|
||||
the TuxBox CVS many interesting DVB applications and the dBox2
|
||||
DVB source
|
||||
|
||||
http://www.nenie.org/misc/mpsys/
|
||||
MPSYS: a MPEG2 system library and tools
|
||||
|
||||
https://www.videolan.org/vlc/index.pt.html
|
||||
Vlc
|
||||
|
||||
http://mplayerhq.hu/
|
||||
MPlayer
|
||||
|
||||
http://xine.sourceforge.net/ and http://xinehq.de/
|
||||
Xine
|
||||
|
||||
http://www.mythtv.org/
|
||||
MythTV - analog TV and digital TV PVR
|
||||
|
||||
http://dvbsnoop.sourceforge.net/
|
||||
DVB sniffer program to monitor, analyze, debug, dump
|
||||
or view dvb/mpeg/dsm-cc/mhp stream information (TS,
|
||||
PES, SECTION)
|
||||
|
||||
4. Can't get a signal tuned correctly
|
||||
|
||||
That could be due to a lot of problems. On my personal experience,
|
||||
usually TV cards need stronger signals than TV sets, and are more
|
||||
sensitive to noise. So, perhaps you just need a better antenna or
|
||||
cabling. Yet, it could also be some hardware or driver issue.
|
||||
|
||||
For example, if you are using a Technotrend/Hauppauge DVB-C card
|
||||
*without* analog module, you might have to use module parameter
|
||||
adac=-1 (dvb-ttpci.o).
|
||||
|
||||
Please see the FAQ page at linuxtv.org, as it could contain some
|
||||
valuable information:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/FAQ_%26_Troubleshooting
|
||||
|
||||
If that doesn't work, check at the linux-media ML archives, to
|
||||
see if someone else had a similar problem with your hardware
|
||||
and/or digital TV service provider:
|
||||
|
||||
https://lore.kernel.org/linux-media/
|
||||
|
||||
If none of this works, you can try sending an e-mail to the
|
||||
linux-media ML and see if someone else could shed some light.
|
||||
The e-mail is linux-media AT vger.kernel.org.
|
||||
|
||||
5. The dvb_net device doesn't give me any packets at all
|
||||
|
||||
Run ``tcpdump`` on the ``dvb0_0`` interface. This sets the interface
|
||||
into promiscuous mode so it accepts any packets from the PID
|
||||
you have configured with the ``dvbnet`` utility. Check if there
|
||||
are any packets with the IP addr and MAC addr you have
|
||||
configured with ``ifconfig`` or with ``ip addr``.
|
||||
|
||||
If ``tcpdump`` doesn't give you any output, check the statistics
|
||||
which ``ifconfig`` or ``netstat -ni`` outputs. (Note: If the MAC
|
||||
address is wrong, ``dvb_net`` won't get any input; thus you have to
|
||||
run ``tcpdump`` before checking the statistics.) If there are no
|
||||
packets at all then maybe the PID is wrong. If there are error packets,
|
||||
then either the PID is wrong or the stream does not conform to
|
||||
the MPE standard (EN 301 192, http://www.etsi.org/). You can
|
||||
use e.g. ``dvbsnoop`` for debugging.
|
||||
|
||||
6. The ``dvb_net`` device doesn't give me any multicast packets
|
||||
|
||||
Check your routes if they include the multicast address range.
|
||||
Additionally make sure that "source validation by reversed path
|
||||
lookup" is disabled::
|
||||
|
||||
$ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
|
||||
|
||||
7. What are all those modules that need to be loaded?
|
||||
|
||||
In order to make it more flexible and support different hardware
|
||||
combinations, the media subsystem is written on a modular way.
|
||||
|
||||
So, besides the Digital TV hardware module for the main chipset,
|
||||
it also needs to load a frontend driver, plus the Digital TV
|
||||
core. If the board also has remote controller, it will also
|
||||
need the remote controller core and the remote controller tables.
|
||||
The same happens if the board has support for analog TV: the
|
||||
core support for video4linux need to be loaded.
|
||||
|
||||
The actual module names are Linux-kernel version specific, as,
|
||||
from time to time, things change, in order to make the media
|
||||
support more flexible.
|
@ -38,26 +38,6 @@ Not currently supported
|
||||
- LCD writeback input
|
||||
- per frame clock gating (mem-to-mem)
|
||||
|
||||
Files partitioning
|
||||
------------------
|
||||
|
||||
- media device driver
|
||||
drivers/media/platform/exynos4-is/media-dev.[ch]
|
||||
|
||||
- camera capture video device driver
|
||||
drivers/media/platform/exynos4-is/fimc-capture.c
|
||||
|
||||
- MIPI-CSI2 receiver subdev
|
||||
drivers/media/platform/exynos4-is/mipi-csis.[ch]
|
||||
|
||||
- video post-processor (mem-to-mem)
|
||||
drivers/media/platform/exynos4-is/fimc-core.c
|
||||
|
||||
- common files
|
||||
drivers/media/platform/exynos4-is/fimc-core.h
|
||||
drivers/media/platform/exynos4-is/fimc-reg.h
|
||||
drivers/media/platform/exynos4-is/regs-fimc.h
|
||||
|
||||
User space interfaces
|
||||
---------------------
|
||||
|
||||
@ -74,6 +54,7 @@ connections of the MIPI-CSIS device(s) to the FIMC entities.
|
||||
The media device interface allows to configure the SoC for capturing image
|
||||
data from the sensor through more than one FIMC instance (e.g. for simultaneous
|
||||
viewfinder and still capture setup).
|
||||
|
||||
Reconfiguration is done by enabling/disabling media links created by the driver
|
||||
during initialization. The internal device topology can be easily discovered
|
||||
through media entity and links enumeration.
|
||||
@ -116,6 +97,7 @@ sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
|
||||
When we configure these devices through sub-device API at user space, the
|
||||
configuration flow must be from left to right, and the video node is
|
||||
configured as last one.
|
||||
|
||||
When we don't use sub-device user space API the whole configuration of all
|
||||
devices belonging to the pipeline is done at the video node driver.
|
||||
The sysfs entry allows to instruct the capture node driver not to configure
|
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
@ -0,0 +1,226 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
================
|
||||
Frontend drivers
|
||||
================
|
||||
|
||||
.. 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.
|
||||
|
||||
|
||||
Common Interface (EN50221) controller drivers
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cxd2099 Sony CXD2099AR Common Interface driver
|
||||
sp2 CIMaX SP2
|
||||
============== =========================================================
|
||||
|
||||
ATSC (North American/Korean Terrestrial/Cable DTV) frontends
|
||||
============================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
au8522_dig Auvitek AU8522 based DTV demod
|
||||
au8522_decoder Auvitek AU8522 based ATV demod
|
||||
bcm3510 Broadcom BCM3510
|
||||
lg2160 LG Electronics LG216x based
|
||||
lgdt3305 LG Electronics LGDT3304 and LGDT3305 based
|
||||
lgdt3306a LG Electronics LGDT3306A based
|
||||
lgdt330x LG Electronics LGDT3302/LGDT3303 based
|
||||
nxt200x NxtWave Communications NXT2002/NXT2004 based
|
||||
or51132 Oren OR51132 based
|
||||
or51211 Oren OR51211 based
|
||||
s5h1409 Samsung S5H1409 based
|
||||
s5h1411 Samsung S5H1411 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-C (cable) frontends
|
||||
=======================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
stv0297 ST STV0297 based
|
||||
tda10021 Philips TDA10021 based
|
||||
tda10023 Philips TDA10023 based
|
||||
ves1820 VLSI VES1820 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-S (satellite) frontends
|
||||
===========================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cx24110 Conexant CX24110 based
|
||||
cx24116 Conexant CX24116 based
|
||||
cx24117 Conexant CX24117 based
|
||||
cx24120 Conexant CX24120 based
|
||||
cx24123 Conexant CX24123 based
|
||||
ds3000 Montage Tehnology DS3000 based
|
||||
mb86a16 Fujitsu MB86A16 based
|
||||
mt312 Zarlink VP310/MT312/ZL10313 based
|
||||
s5h1420 Samsung S5H1420 based
|
||||
si21xx Silicon Labs SI21XX based
|
||||
stb6000 ST STB6000 silicon tuner
|
||||
stv0288 ST STV0288 based
|
||||
stv0299 ST STV0299 based
|
||||
stv0900 ST STV0900 based
|
||||
stv6110 ST STV6110 silicon tuner
|
||||
tda10071 NXP TDA10071
|
||||
tda10086 Philips TDA10086 based
|
||||
tda8083 Philips TDA8083 based
|
||||
tda8261 Philips TDA8261 based
|
||||
tda826x Philips TDA826X silicon tuner
|
||||
ts2020 Montage Tehnology TS2020 based tuners
|
||||
tua6100 Infineon TUA6100 PLL
|
||||
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
||||
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
||||
ves1x93 VLSI VES1893 or VES1993 based
|
||||
zl10036 Zarlink ZL10036 silicon tuner
|
||||
zl10039 Zarlink ZL10039 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
DVB-T (terrestrial) frontends
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
af9013 Afatech AF9013 demodulator
|
||||
cx22700 Conexant CX22700 based
|
||||
cx22702 Conexant cx22702 demodulator (OFDM)
|
||||
cxd2820r Sony CXD2820R
|
||||
cxd2841er Sony CXD2841ER
|
||||
cxd2880 Sony CXD2880 DVB-T2/T tuner + demodulator
|
||||
dib3000mb DiBcom 3000M-B
|
||||
dib3000mc DiBcom 3000P/M-C
|
||||
dib7000m DiBcom 7000MA/MB/PA/PB/MC
|
||||
dib7000p DiBcom 7000PC
|
||||
dib9000 DiBcom 9000
|
||||
drxd Micronas DRXD driver
|
||||
ec100 E3C EC100
|
||||
l64781 LSI L64781
|
||||
mt352 Zarlink MT352 based
|
||||
nxt6000 NxtWave Communications NXT6000 based
|
||||
rtl2830 Realtek RTL2830 DVB-T
|
||||
rtl2832 Realtek RTL2832 DVB-T
|
||||
rtl2832_sdr Realtek RTL2832 SDR
|
||||
s5h1432 Samsung s5h1432 demodulator (OFDM)
|
||||
si2168 Silicon Labs Si2168
|
||||
sp8870 Spase sp8870 based
|
||||
sp887x Spase sp887x based
|
||||
stv0367 ST STV0367 based
|
||||
tda10048 Philips TDA10048HN based
|
||||
tda1004x Philips TDA10045H/TDA10046H based
|
||||
zd1301_demod ZyDAS ZD1301
|
||||
zl10353 Zarlink ZL10353 based
|
||||
============== =========================================================
|
||||
|
||||
Digital terrestrial only tuners/PLL
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb-pll Generic I2C PLL based tuners
|
||||
dib0070 DiBcom DiB0070 silicon base-band tuner
|
||||
dib0090 DiBcom DiB0090 silicon base-band tuner
|
||||
============== =========================================================
|
||||
|
||||
ISDB-S (satellite) & ISDB-T (terrestrial) frontends
|
||||
===================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
mn88443x Socionext MN88443x
|
||||
tc90522 Toshiba TC90522
|
||||
============== =========================================================
|
||||
|
||||
ISDB-T (terrestrial) frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dib8000 DiBcom 8000MB/MC
|
||||
mb86a20s Fujitsu mb86a20s
|
||||
s921 Sharp S921 frontend
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (cable + terrestrial) frontends
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
drxk Micronas DRXK based
|
||||
mn88472 Panasonic MN88472
|
||||
mn88473 Panasonic MN88473
|
||||
si2165 Silicon Labs si2165 based
|
||||
tda18271c2dd NXP TDA18271C2 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (satellite) frontends
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
m88ds3103 Montage Technology M88DS3103
|
||||
mxl5xx MaxLinear MxL5xx based tuner-demodulators
|
||||
stb0899 STB0899 based
|
||||
stb6100 STB6100 based tuners
|
||||
stv090x STV0900/STV0903(A/B) based
|
||||
stv0910 STV0910 based
|
||||
stv6110x STV6110/(A) based tuners
|
||||
stv6111 STV6111 based tuners
|
||||
============== =========================================================
|
||||
|
||||
SEC control devices for DVB-S
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
a8293 Allegro A8293
|
||||
af9033 Afatech AF9033 DVB-T demodulator
|
||||
ascot2e Sony Ascot2E tuner
|
||||
atbm8830 AltoBeam ATBM8830/8831 DMB-TH demodulator
|
||||
drx39xyj Micronas DRX-J demodulator
|
||||
helene Sony HELENE Sat/Ter tuner (CXD2858ER)
|
||||
horus3a Sony Horus3A tuner
|
||||
isl6405 ISL6405 SEC controller
|
||||
isl6421 ISL6421 SEC controller
|
||||
isl6423 ISL6423 SEC controller
|
||||
ix2505v Sharp IX2505V silicon tuner
|
||||
lgs8gl5 Silicon Legend LGS-8GL5 demodulator (OFDM)
|
||||
lgs8gxx Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator
|
||||
lnbh25 LNBH25 SEC controller
|
||||
lnbh29 LNBH29 SEC controller
|
||||
lnbp21 LNBP21/LNBH24 SEC controllers
|
||||
lnbp22 LNBP22 SEC controllers
|
||||
m88rs2000 M88RS2000 DVB-S demodulator and tuner
|
||||
tda665x TDA665x tuner
|
||||
============== =========================================================
|
||||
|
||||
Tools to develop new frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb_dummy_fe Dummy frontend driver
|
||||
============== =========================================================
|
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
@ -0,0 +1,290 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
I²C drivers
|
||||
===========
|
||||
|
||||
The I²C (Inter-Integrated Circuit) bus is a three-wires bus used internally
|
||||
at the media cards for communication between different chips. While the bus
|
||||
is not visible to the Linux Kernel, drivers need to send and receive
|
||||
commands via the bus. The Linux Kernel driver abstraction has support to
|
||||
implement different drivers for each component inside an I²C bus, as if
|
||||
the bus were visible to the main system board.
|
||||
|
||||
One of the problems with I²C devices is that sometimes the same device may
|
||||
work with different I²C hardware. This is common, for example, on devices
|
||||
that comes with a tuner for North America market, and another one for
|
||||
Europe. Some drivers have a ``tuner=`` modprobe parameter to allow using a
|
||||
different tuner number in order to address such issue.
|
||||
|
||||
The current supported of I²C drivers (not including staging drivers) are
|
||||
listed below.
|
||||
|
||||
Audio decoders, processors and mixers
|
||||
-------------------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cs3308 Cirrus Logic CS3308 audio ADC
|
||||
cs5345 Cirrus Logic CS5345 audio ADC
|
||||
cs53l32a Cirrus Logic CS53L32A audio ADC
|
||||
msp3400 Micronas MSP34xx audio decoders
|
||||
sony-btf-mpx Sony BTF's internal MPX
|
||||
tda1997x NXP TDA1997x HDMI receiver
|
||||
tda7432 Philips TDA7432 audio processor
|
||||
tda9840 Philips TDA9840 audio processor
|
||||
tea6415c Philips TEA6415C audio processor
|
||||
tea6420 Philips TEA6420 audio processor
|
||||
tlv320aic23b Texas Instruments TLV320AIC23B audio codec
|
||||
tvaudio Simple audio decoder chips
|
||||
uda1342 Philips UDA1342 audio codec
|
||||
vp27smpx Panasonic VP27's internal MPX
|
||||
wm8739 Wolfson Microelectronics WM8739 stereo audio ADC
|
||||
wm8775 Wolfson Microelectronics WM8775 audio ADC with input mixer
|
||||
============ ==========================================================
|
||||
|
||||
Audio/Video compression chips
|
||||
-----------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6752hs Philips SAA6752HS MPEG-2 Audio/Video Encoder
|
||||
============ ==========================================================
|
||||
|
||||
Camera sensor devices
|
||||
---------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
et8ek8 ET8EK8 camera sensor
|
||||
hi556 Hynix Hi-556 sensor
|
||||
imx214 Sony IMX214 sensor
|
||||
imx219 Sony IMX219 sensor
|
||||
imx258 Sony IMX258 sensor
|
||||
imx274 Sony IMX274 sensor
|
||||
imx290 Sony IMX290 sensor
|
||||
imx319 Sony IMX319 sensor
|
||||
imx355 Sony IMX355 sensor
|
||||
m5mols Fujitsu M-5MOLS 8MP sensor
|
||||
mt9m001 mt9m001
|
||||
mt9m032 MT9M032 camera sensor
|
||||
mt9m111 mt9m111, mt9m112 and mt9m131
|
||||
mt9p031 Aptina MT9P031
|
||||
mt9t001 Aptina MT9T001
|
||||
mt9t112 Aptina MT9T111/MT9T112
|
||||
mt9v011 Micron mt9v011 sensor
|
||||
mt9v032 Micron MT9V032 sensor
|
||||
mt9v111 Aptina MT9V111 sensor
|
||||
noon010pc30 Siliconfile NOON010PC30 sensor
|
||||
ov13858 OmniVision OV13858 sensor
|
||||
ov2640 OmniVision OV2640 sensor
|
||||
ov2659 OmniVision OV2659 sensor
|
||||
ov2680 OmniVision OV2680 sensor
|
||||
ov2685 OmniVision OV2685 sensor
|
||||
ov5640 OmniVision OV5640 sensor
|
||||
ov5645 OmniVision OV5645 sensor
|
||||
ov5647 OmniVision OV5647 sensor
|
||||
ov5670 OmniVision OV5670 sensor
|
||||
ov5675 OmniVision OV5675 sensor
|
||||
ov5695 OmniVision OV5695 sensor
|
||||
ov6650 OmniVision OV6650 sensor
|
||||
ov7251 OmniVision OV7251 sensor
|
||||
ov7640 OmniVision OV7640 sensor
|
||||
ov7670 OmniVision OV7670 sensor
|
||||
ov772x OmniVision OV772x sensor
|
||||
ov7740 OmniVision OV7740 sensor
|
||||
ov8856 OmniVision OV8856 sensor
|
||||
ov9640 OmniVision OV9640 sensor
|
||||
ov9650 OmniVision OV9650/OV9652 sensor
|
||||
rj54n1cb0c Sharp RJ54N1CB0C sensor
|
||||
s5c73m3 Samsung S5C73M3 sensor
|
||||
s5k4ecgx Samsung S5K4ECGX sensor
|
||||
s5k5baf Samsung S5K5BAF sensor
|
||||
s5k6a3 Samsung S5K6A3 sensor
|
||||
s5k6aa Samsung S5K6AAFX sensor
|
||||
smiapp SMIA++/SMIA sensor
|
||||
sr030pc30 Siliconfile SR030PC30 sensor
|
||||
vs6624 ST VS6624 sensor
|
||||
============ ==========================================================
|
||||
|
||||
Flash devices
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adp1653 ADP1653 flash
|
||||
lm3560 LM3560 dual flash driver
|
||||
lm3646 LM3646 dual flash driver
|
||||
============ ==========================================================
|
||||
|
||||
IR I2C driver
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ir-kbd-i2c I2C module for IR
|
||||
============ ==========================================================
|
||||
|
||||
Lens drivers
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad5820 AD5820 lens voice coil
|
||||
ak7375 AK7375 lens voice coil
|
||||
dw9714 DW9714 lens voice coil
|
||||
dw9807-vcm DW9807 lens voice coil
|
||||
============ ==========================================================
|
||||
|
||||
Miscellaneous helper chips
|
||||
--------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
video-i2c I2C transport video
|
||||
m52790 Mitsubishi M52790 A/V switch
|
||||
st-mipid02 STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge
|
||||
ths7303 THS7303/53 Video Amplifier
|
||||
============ ==========================================================
|
||||
|
||||
RDS decoders
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6588 SAA6588 Radio Chip RDS decoder
|
||||
============ ==========================================================
|
||||
|
||||
SDR tuner chips
|
||||
---------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
max2175 Maxim 2175 RF to Bits tuner
|
||||
============ ==========================================================
|
||||
|
||||
Video and audio decoders
|
||||
------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cx25840 Conexant CX2584x audio/video decoders
|
||||
saa717x Philips SAA7171/3/4 audio/video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video decoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adv7180 Analog Devices ADV7180 decoder
|
||||
adv7183 Analog Devices ADV7183 decoder
|
||||
adv748x Analog Devices ADV748x decoder
|
||||
adv7604 Analog Devices ADV7604 decoder
|
||||
adv7842 Analog Devices ADV7842 decoder
|
||||
bt819 BT819A VideoStream decoder
|
||||
bt856 BT856 VideoStream decoder
|
||||
bt866 BT866 VideoStream decoder
|
||||
ks0127 KS0127 video decoder
|
||||
ml86v7667 OKI ML86V7667 video decoder
|
||||
saa7110 Philips SAA7110 video decoder
|
||||
saa7115 Philips SAA7111/3/4/5 video decoders
|
||||
tc358743 Toshiba TC358743 decoder
|
||||
tvp514x Texas Instruments TVP514x video decoder
|
||||
tvp5150 Texas Instruments TVP5150 video decoder
|
||||
tvp7002 Texas Instruments TVP7002 video decoder
|
||||
tw2804 Techwell TW2804 multiple video decoder
|
||||
tw9903 Techwell TW9903 video decoder
|
||||
tw9906 Techwell TW9906 video decoder
|
||||
tw9910 Techwell TW9910 video decoder
|
||||
vpx3220 vpx3220a, vpx3216b & vpx3214c video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video encoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad9389b Analog Devices AD9389B encoder
|
||||
adv7170 Analog Devices ADV7170 video encoder
|
||||
adv7175 Analog Devices ADV7175 video encoder
|
||||
adv7343 ADV7343 video encoder
|
||||
adv7393 ADV7393 video encoder
|
||||
adv7511-v4l2 Analog Devices ADV7511 encoder
|
||||
ak881x AK8813/AK8814 video encoders
|
||||
saa7127 Philips SAA7127/9 digital video encoders
|
||||
saa7185 Philips SAA7185 video encoder
|
||||
ths8200 Texas Instruments THS8200 video encoder
|
||||
============ ==========================================================
|
||||
|
||||
Video improvement chips
|
||||
-----------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
upd64031a NEC Electronics uPD64031A Ghost Reduction
|
||||
upd64083 NEC Electronics uPD64083 3-Dimensional Y/C separation
|
||||
============ ==========================================================
|
||||
|
||||
Tuner drivers
|
||||
-------------
|
||||
|
||||
============ ==================================================
|
||||
Driver Name
|
||||
============ ==================================================
|
||||
e4000 Elonics E4000 silicon tuner
|
||||
fc0011 Fitipower FC0011 silicon tuner
|
||||
fc0012 Fitipower FC0012 silicon tuner
|
||||
fc0013 Fitipower FC0013 silicon tuner
|
||||
fc2580 FCI FC2580 silicon tuner
|
||||
it913x ITE Tech IT913x silicon tuner
|
||||
m88rs6000t Montage M88RS6000 internal tuner
|
||||
max2165 Maxim MAX2165 silicon tuner
|
||||
mc44s803 Freescale MC44S803 Low Power CMOS Broadband tuners
|
||||
msi001 Mirics MSi001
|
||||
mt2060 Microtune MT2060 silicon IF tuner
|
||||
mt2063 Microtune MT2063 silicon IF tuner
|
||||
mt20xx Microtune 2032 / 2050 tuners
|
||||
mt2131 Microtune MT2131 silicon tuner
|
||||
mt2266 Microtune MT2266 silicon tuner
|
||||
mxl301rf MaxLinear MxL301RF tuner
|
||||
mxl5005s MaxLinear MSL5005S silicon tuner
|
||||
mxl5007t MaxLinear MxL5007T silicon tuner
|
||||
qm1d1b0004 Sharp QM1D1B0004 tuner
|
||||
qm1d1c0042 Sharp QM1D1C0042 tuner
|
||||
qt1010 Quantek QT1010 silicon tuner
|
||||
r820t Rafael Micro R820T silicon tuner
|
||||
si2157 Silicon Labs Si2157 silicon tuner
|
||||
tuner-types Simple tuner support
|
||||
tda18212 NXP TDA18212 silicon tuner
|
||||
tda18218 NXP TDA18218 silicon tuner
|
||||
tda18250 NXP TDA18250 silicon tuner
|
||||
tda18271 NXP TDA18271 silicon tuner
|
||||
tda827x Philips TDA827X silicon tuner
|
||||
tda8290 TDA 8290/8295 + 8275(a)/18271 tuner combo
|
||||
tda9887 TDA 9885/6/7 analog IF demodulator
|
||||
tea5761 TEA 5761 radio tuner
|
||||
tea5767 TEA 5767 radio tuner
|
||||
tua9001 Infineon TUA9001 silicon tuner
|
||||
tuner-xc2028 XCeive xc2028/xc3028 tuners
|
||||
xc4000 Xceive XC4000 silicon tuner
|
||||
xc5000 Xceive XC5000 silicon tuner
|
||||
============ ==================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
tuner-cardlist
|
||||
frontend-cardlist
|
@ -102,6 +102,35 @@ Some of the features of this driver include:
|
||||
problems with the ADV718x video decoders.
|
||||
|
||||
|
||||
Topology
|
||||
--------
|
||||
|
||||
The following shows the media topologies for the i.MX6Q SabreSD and
|
||||
i.MX6Q SabreAuto. Refer to these diagrams in the entity descriptions
|
||||
in the next section.
|
||||
|
||||
The i.MX5/6 topologies can differ upstream from the IPUv3 CSI video
|
||||
multiplexers, but the internal IPUv3 topology downstream from there
|
||||
is common to all i.MX5/6 platforms. For example, the SabreSD, with the
|
||||
MIPI CSI-2 OV5640 sensor, requires the i.MX6 MIPI CSI-2 receiver. But
|
||||
the SabreAuto has only the ADV7180 decoder on a parallel bt.656 bus, and
|
||||
therefore does not require the MIPI CSI-2 receiver, so it is missing in
|
||||
its graph.
|
||||
|
||||
.. _imx6q_topology_graph:
|
||||
|
||||
.. kernel-figure:: imx6q-sabresd.dot
|
||||
:alt: Diagram of the i.MX6Q SabreSD media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreSD
|
||||
|
||||
.. kernel-figure:: imx6q-sabreauto.dot
|
||||
:alt: Diagram of the i.MX6Q SabreAuto media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreAuto
|
||||
|
||||
Entities
|
||||
--------
|
||||
|
||||
@ -191,14 +220,7 @@ or unqualified interlaced). The capture interface will enforce the same
|
||||
field order as the source pad field order (interlaced-bt if source pad
|
||||
is seq-bt, interlaced-tb if source pad is seq-tb).
|
||||
|
||||
This subdev can generate the following event when enabling the second
|
||||
IDMAC source pad:
|
||||
|
||||
- V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR
|
||||
|
||||
The user application can subscribe to this event from the ipuX_csiY
|
||||
subdev node. This event is generated by the Frame Interval Monitor
|
||||
(see below for more on the FIM).
|
||||
For events produced by ipuX_csiY, see ref:`imx_api_ipuX_csiY`.
|
||||
|
||||
Cropping in ipuX_csiY
|
||||
---------------------
|
||||
@ -247,84 +269,7 @@ rate by half at the IDMAC output source pad:
|
||||
Frame Interval Monitor in ipuX_csiY
|
||||
-----------------------------------
|
||||
|
||||
The adv718x decoders can occasionally send corrupt fields during
|
||||
NTSC/PAL signal re-sync (too little or too many video lines). When
|
||||
this happens, the IPU triggers a mechanism to re-establish vertical
|
||||
sync by adding 1 dummy line every frame, which causes a rolling effect
|
||||
from image to image, and can last a long time before a stable image is
|
||||
recovered. Or sometimes the mechanism doesn't work at all, causing a
|
||||
permanent split image (one frame contains lines from two consecutive
|
||||
captured images).
|
||||
|
||||
From experiment it was found that during image rolling, the frame
|
||||
intervals (elapsed time between two EOF's) drop below the nominal
|
||||
value for the current standard, by about one frame time (60 usec),
|
||||
and remain at that value until rolling stops.
|
||||
|
||||
While the reason for this observation isn't known (the IPU dummy
|
||||
line mechanism should show an increase in the intervals by 1 line
|
||||
time every frame, not a fixed value), we can use it to detect the
|
||||
corrupt fields using a frame interval monitor. If the FIM detects a
|
||||
bad frame interval, the ipuX_csiY subdev will send the event
|
||||
V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with
|
||||
the FIM event notification on the ipuX_csiY subdev device node.
|
||||
Userland can issue a streaming restart when this event is received
|
||||
to correct the rolling/split image.
|
||||
|
||||
The ipuX_csiY subdev includes custom controls to tweak some dials for
|
||||
FIM. If one of these controls is changed during streaming, the FIM will
|
||||
be reset and will continue at the new settings.
|
||||
|
||||
- V4L2_CID_IMX_FIM_ENABLE
|
||||
|
||||
Enable/disable the FIM.
|
||||
|
||||
- V4L2_CID_IMX_FIM_NUM
|
||||
|
||||
How many frame interval measurements to average before comparing against
|
||||
the nominal frame interval reported by the sensor. This can reduce noise
|
||||
caused by interrupt latency.
|
||||
|
||||
- V4L2_CID_IMX_FIM_TOLERANCE_MIN
|
||||
|
||||
If the averaged intervals fall outside nominal by this amount, in
|
||||
microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.
|
||||
|
||||
- V4L2_CID_IMX_FIM_TOLERANCE_MAX
|
||||
|
||||
If any intervals are higher than this value, those samples are
|
||||
discarded and do not enter into the average. This can be used to
|
||||
discard really high interval errors that might be due to interrupt
|
||||
latency from high system load.
|
||||
|
||||
- V4L2_CID_IMX_FIM_NUM_SKIP
|
||||
|
||||
How many frames to skip after a FIM reset or stream restart before
|
||||
FIM begins to average intervals.
|
||||
|
||||
- V4L2_CID_IMX_FIM_ICAP_CHANNEL
|
||||
- V4L2_CID_IMX_FIM_ICAP_EDGE
|
||||
|
||||
These controls will configure an input capture channel as the method
|
||||
for measuring frame intervals. This is superior to the default method
|
||||
of measuring frame intervals via EOF interrupt, since it is not subject
|
||||
to uncertainty errors introduced by interrupt latency.
|
||||
|
||||
Input capture requires hardware support. A VSYNC signal must be routed
|
||||
to one of the i.MX6 input capture channel pads.
|
||||
|
||||
V4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture
|
||||
channel to use. This must be 0 or 1.
|
||||
|
||||
V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger
|
||||
input capture events. By default the input capture method is disabled
|
||||
with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING,
|
||||
IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture,
|
||||
triggered on the given signal edge(s).
|
||||
|
||||
When input capture is disabled, frame intervals will be measured via
|
||||
EOF interrupt.
|
||||
|
||||
See ref:`imx_api_FIM`.
|
||||
|
||||
ipuX_vdic
|
||||
---------
|
||||
@ -461,8 +406,8 @@ The following are specific usage notes for the Sabre* reference
|
||||
boards:
|
||||
|
||||
|
||||
SabreLite with OV5642 and OV5640
|
||||
--------------------------------
|
||||
i.MX6Q SabreLite with OV5642 and OV5640
|
||||
---------------------------------------
|
||||
|
||||
This platform requires the OmniVision OV5642 module with a parallel
|
||||
camera interface, and the OV5640 module with a MIPI CSI-2
|
||||
@ -631,44 +576,108 @@ used to select any supported YUV pixelformat on /dev/video2.
|
||||
This platform accepts Composite Video analog inputs to the ADV7180 on
|
||||
Ain1 (connector J42).
|
||||
|
||||
SabreSD with MIPI CSI-2 OV5640
|
||||
------------------------------
|
||||
i.MX6Q SabreSD with MIPI CSI-2 OV5640
|
||||
-------------------------------------
|
||||
|
||||
Similarly to SabreLite, the SabreSD supports a parallel interface
|
||||
OV5642 module on IPU1 CSI0, and a MIPI CSI-2 OV5640 module. The OV5642
|
||||
connects to i2c bus 1 and the OV5640 to i2c bus 2.
|
||||
Similarly to i.MX6Q SabreLite, the i.MX6Q SabreSD supports a parallel
|
||||
interface OV5642 module on IPU1 CSI0, and a MIPI CSI-2 OV5640
|
||||
module. The OV5642 connects to i2c bus 1 and the OV5640 to i2c bus 2.
|
||||
|
||||
The device tree for SabreSD includes OF graphs for both the parallel
|
||||
OV5642 and the MIPI CSI-2 OV5640, but as of this writing only the MIPI
|
||||
CSI-2 OV5640 has been tested, so the OV5642 node is currently disabled.
|
||||
The OV5640 module connects to MIPI connector J5 (sorry I don't have the
|
||||
compatible module part number or URL).
|
||||
The OV5640 module connects to MIPI connector J5. The NXP part number
|
||||
for the OV5640 module that connects to the SabreSD board is H120729.
|
||||
|
||||
The following example configures a direct conversion pipeline to capture
|
||||
from the OV5640, transmitting on MIPI CSI-2 virtual channel 1. $sensorfmt
|
||||
can be any format supported by the OV5640. $sensordim is the frame
|
||||
dimension part of $sensorfmt (minus the mbus pixel code). $outputfmt can
|
||||
be any format supported by the ipu1_ic_prpenc entity at its output pad:
|
||||
The following example configures unprocessed video capture pipeline to
|
||||
capture from the OV5640, transmitting on MIPI CSI-2 virtual channel 0:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':2 -> 'ipu1_csi1':0[1]"
|
||||
media-ctl -l "'ipu1_csi1':1 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':0 [fmt:AYUV32/640x480]"
|
||||
|
||||
Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
|
||||
tool can be used to select any supported pixelformat on the capture
|
||||
device node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_csi0 capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_csi0 capture"
|
||||
/dev/video0
|
||||
|
||||
/dev/video0 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video0
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video0 ! kmssink
|
||||
|
||||
The following example configures a direct conversion pipeline to capture
|
||||
from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
|
||||
shows colorspace conversion and scaling at IC output.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:$sensorfmt field:none]"
|
||||
media-ctl -V "'imx6-mipi-csi2':2 [fmt:$sensorfmt field:none]"
|
||||
media-ctl -V "'ipu1_csi1':1 [fmt:AYUV32/$sensordim field:none]"
|
||||
media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/$sensordim field:none]"
|
||||
media-ctl -V "'ipu1_ic_prpenc':1 [fmt:$outputfmt field:none]"
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
|
||||
# Set a format at the capture interface
|
||||
v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
|
||||
|
||||
Streaming can then begin on "ipu1_ic_prpenc capture" node. The v4l2-ctl
|
||||
tool can be used to select any supported YUV or RGB pixelformat on the
|
||||
capture device node.
|
||||
Streaming can then begin on "ipu1_ic_prpenc capture" node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_ic_prpenc capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_ic_prpenc capture"
|
||||
/dev/video1
|
||||
|
||||
|
||||
/dev/video1 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video1
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink
|
||||
|
||||
Known Issues
|
||||
------------
|
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
@ -0,0 +1,51 @@
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev12 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n00000001:port0 [style=dashed]
|
||||
n0000007d [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007d:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000081 [label="{{} | adv7180 3-0021\n/dev/v4l-subdev14 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000081:port0 -> n00000079:port1 [style=dashed]
|
||||
}
|
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
@ -0,0 +1,56 @@
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0} | imx6-mipi-csi2\n/dev/v4l-subdev12 | {<port1> 1 | <port2> 2 | <port3> 3 | <port4> 4}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n0000002f:port0 [style=dashed]
|
||||
n00000079:port3 -> n0000003d:port0 [style=dashed]
|
||||
n00000079:port1 -> n0000007f:port0 [style=dashed]
|
||||
n00000079:port4 -> n00000083:port0 [style=dashed]
|
||||
n0000007f [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007f:port2 -> n00000001:port0 [style=dashed]
|
||||
n00000083 [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev14 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000083:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000087 [label="{{} | ov5640 1-003c\n/dev/v4l-subdev15 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000087:port0 -> n00000079:port0 [style=dashed]
|
||||
}
|
61
Documentation/admin-guide/media/index.rst
Normal file
61
Documentation/admin-guide/media/index.rst
Normal file
@ -0,0 +1,61 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
====================================
|
||||
Media subsystem admin and user guide
|
||||
====================================
|
||||
|
||||
This section contains usage information about media subsystem and
|
||||
its supported drivers.
|
||||
|
||||
Please see:
|
||||
|
||||
- :doc:`/userspace-api/media/index`
|
||||
for the userspace APIs used on media devices.
|
||||
|
||||
- :doc:`/driver-api/media/index`
|
||||
for driver development information and Kernel APIs used by
|
||||
media devices;
|
||||
|
||||
The media subsystem
|
||||
===================
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. class:: toc-title
|
||||
|
||||
Table of Contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
|
||||
intro
|
||||
building
|
||||
|
||||
remote-controller
|
||||
|
||||
dvb
|
||||
|
||||
cardlist
|
||||
|
||||
v4l-drivers
|
||||
dvb-drivers
|
||||
cec-drivers
|
||||
|
||||
**Copyright** |copy| 1999-2020 : LinuxTV Developers
|
||||
|
||||
::
|
||||
|
||||
This documentation is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
For more details see the file COPYING in the source distribution of Linux.
|
27
Documentation/admin-guide/media/intro.rst
Normal file
27
Documentation/admin-guide/media/intro.rst
Normal file
@ -0,0 +1,27 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
The media subsystem consists on Linux support for several different types
|
||||
of devices:
|
||||
|
||||
- Audio and video grabbers;
|
||||
- PC and Laptop Cameras;
|
||||
- Complex cameras found on Embedded hardware;
|
||||
- Analog and digital TV;
|
||||
- HDMI Customer Electronics Control (CEC);
|
||||
- Multi-touch input devices;
|
||||
- Remote Controllers;
|
||||
- Media encoders and decoders.
|
||||
|
||||
Due to the diversity of devices, the subsystem provides several different
|
||||
APIs:
|
||||
|
||||
- Remote Controller API;
|
||||
- HDMI CEC API;
|
||||
- Video4Linux API;
|
||||
- Media controller API;
|
||||
- Video4Linux Request API (experimental);
|
||||
- Digital TV API (also known as DVB API).
|
@ -231,12 +231,32 @@ Configuring the Intel IPU3
|
||||
The IPU3 ImgU pipelines can be configured using the Media Controller, defined at
|
||||
:ref:`media_controller`.
|
||||
|
||||
Firmware binary selection
|
||||
-------------------------
|
||||
Running mode and firmware binary selection
|
||||
------------------------------------------
|
||||
|
||||
ImgU works based on firmware, currently the ImgU firmware support run 2 pipes in
|
||||
time-sharing with single input frame data. Each pipe can run at certain mode -
|
||||
"VIDEO" or "STILL", "VIDEO" mode is commonly used for video frames capture, and
|
||||
"STILL" is used for still frame capture. However, you can also select "VIDEO" to
|
||||
capture still frames if you want to capture images with less system load and
|
||||
power. For "STILL" mode, ImgU will try to use smaller BDS factor and output
|
||||
larger bayer frame for further YUV processing than "VIDEO" mode to get high
|
||||
quality images. Besides, "STILL" mode need XNR3 to do noise reduction, hence
|
||||
"STILL" mode will need more power and memory bandwidth than "VIDEO" mode. TNR
|
||||
will be enabled in "VIDEO" mode and bypassed by "STILL" mode. ImgU is running at
|
||||
“VIDEO” mode by default, the user can use v4l2 control V4L2_CID_INTEL_IPU3_MODE
|
||||
(currently defined in drivers/staging/media/ipu3/include/intel-ipu3.h) to query
|
||||
and set the running mode. For user, there is no difference for buffer queueing
|
||||
between the "VIDEO" and "STILL" mode, mandatory input and main output node
|
||||
should be enabled and buffers need be queued, the statistics and the view-finder
|
||||
queues are optional.
|
||||
|
||||
The firmware binary will be selected according to current running mode, such log
|
||||
"using binary if_to_osys_striped " or "using binary if_to_osys_primary_striped"
|
||||
could be observed if you enable the ImgU dynamic debug, the binary
|
||||
if_to_osys_striped is selected for "VIDEO" and the binary
|
||||
"if_to_osys_primary_striped" is selected for "STILL".
|
||||
|
||||
The firmware binary is selected using the V4L2_CID_INTEL_IPU3_MODE, currently
|
||||
defined in drivers/staging/media/ipu3/include/intel-ipu3.h . "VIDEO" and "STILL"
|
||||
modes are available.
|
||||
|
||||
Processing the image in raw Bayer format
|
||||
----------------------------------------
|
||||
@ -363,6 +383,19 @@ v4l2n --pipe=4 --load=/tmp/frame-#.bin --open=/dev/video4
|
||||
--output=/tmp/frames.3A --fmt=type:META_CAPTURE,?
|
||||
--reqbufs=count:1,type:META_CAPTURE --pipe=1,2,3,4 --stream=5
|
||||
|
||||
You can also use yavta [#f2]_ command to do same thing as above:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.out-f NV12 /dev/video5 & \
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.vf -f NV12 /dev/video6 & \
|
||||
yavta --data-prefix -Bmeta-capture -c10 -n5 -I \
|
||||
--file=frame-#.3a /dev/video7 & \
|
||||
yavta --data-prefix -Boutput-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=/tmp/frame-in.cio2 -f IPU3_SGRBG10 /dev/video4
|
||||
|
||||
where /dev/video4, /dev/video5, /dev/video6 and /dev/video7 devices point to
|
||||
input, output, viewfinder and 3A statistics video nodes respectively.
|
||||
|
||||
@ -429,16 +462,16 @@ set of parameters as input. The major stages of pipelines are shown here:
|
||||
o [label="Total Color Correction"]
|
||||
p [label="XNR3"]
|
||||
q [label="TNR"]
|
||||
r [label="DDR"]
|
||||
r [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
s [label="YUV Downscaling"]
|
||||
t [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
|
||||
{ rank=same; a -> b -> c -> d -> e -> f }
|
||||
{ rank=same; g -> h -> i -> j -> k -> l }
|
||||
{ rank=same; m -> n -> o -> p -> q -> r }
|
||||
{ rank=same; a -> b -> c -> d -> e -> f -> g -> h -> i }
|
||||
{ rank=same; j -> k -> l -> m -> n -> o -> p -> q -> s -> t}
|
||||
|
||||
a -> g -> m [style=invis, weight=10]
|
||||
|
||||
f -> g
|
||||
l -> m
|
||||
a -> j [style=invis, weight=10]
|
||||
i -> j
|
||||
q -> r
|
||||
}
|
||||
|
||||
The table below presents a description of the above algorithms.
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
@ -12,7 +12,7 @@ IVTV cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Hauppauge WinTV PVR-250
|
@ -87,47 +87,6 @@ Usage:
|
||||
motioneye (<http://popies.net/meye/>)
|
||||
for getting ppm or jpg snapshots, mjpeg video
|
||||
|
||||
Private API
|
||||
-----------
|
||||
|
||||
The driver supports frame grabbing with the video4linux API,
|
||||
so all video4linux tools (like xawtv) should work with this driver.
|
||||
|
||||
Besides the video4linux interface, the driver has a private interface
|
||||
for accessing the Motion Eye extended parameters (camera sharpness,
|
||||
agc, video framerate), the snapshot and the MJPEG capture facilities.
|
||||
|
||||
This interface consists of several ioctls (prototypes and structures
|
||||
can be found in include/linux/meye.h):
|
||||
|
||||
MEYEIOC_G_PARAMS and MEYEIOC_S_PARAMS
|
||||
Get and set the extended parameters of the motion eye camera.
|
||||
The user should always query the current parameters with
|
||||
MEYEIOC_G_PARAMS, change what he likes and then issue the
|
||||
MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended
|
||||
parameters are described by the meye_params structure.
|
||||
|
||||
|
||||
MEYEIOC_QBUF_CAPT
|
||||
Queue a buffer for capture (the buffers must have been
|
||||
obtained with a VIDIOCGMBUF call and mmap'ed by the
|
||||
application). The argument to MEYEIOC_QBUF_CAPT is the
|
||||
buffer number to queue (or -1 to end capture). The first
|
||||
call to MEYEIOC_QBUF_CAPT starts the streaming capture.
|
||||
|
||||
MEYEIOC_SYNC
|
||||
Takes as an argument the buffer number you want to sync.
|
||||
This ioctl blocks until the buffer is filled and ready
|
||||
for the application to use. It returns the buffer size.
|
||||
|
||||
MEYEIOC_STILLCAPT and MEYEIOC_STILLJCAPT
|
||||
Takes a snapshot in an uncompressed or compressed jpeg format.
|
||||
This ioctl blocks until the snapshot is done and returns (for
|
||||
jpeg snapshot) the size of the image. The image data is
|
||||
available from the first mmap'ed buffer.
|
||||
|
||||
Look at the 'motioneye' application code for an actual example.
|
||||
|
||||
Bugs / Todo
|
||||
-----------
|
||||
|
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
@ -0,0 +1,28 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Firewire driver
|
||||
===============
|
||||
|
||||
The media subsystem also provides a firewire driver for digital TV:
|
||||
|
||||
======= =====================
|
||||
Driver Name
|
||||
======= =====================
|
||||
firedtv FireDTV and FloppyDTV
|
||||
======= =====================
|
||||
|
||||
Test drivers
|
||||
============
|
||||
|
||||
In order to test userspace applications, there's a number of virtual
|
||||
drivers, with provide test functionality, simulating real hardware
|
||||
devices:
|
||||
|
||||
======= ======================================
|
||||
Driver Name
|
||||
======= ======================================
|
||||
vicodec Virtual Codec Driver
|
||||
vim2m Virtual Memory-to-Memory Driver
|
||||
vimc Virtual Media Controller Driver (VIMC)
|
||||
vivid Virtual Video Test Driver
|
||||
======= ======================================
|
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
@ -0,0 +1,92 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
OMAP 3 Image Signal Processor (ISP) driver
|
||||
==========================================
|
||||
|
||||
Copyright |copy| 2010 Nokia Corporation
|
||||
|
||||
Copyright |copy| 2009 Texas Instruments, Inc.
|
||||
|
||||
Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
|
||||
Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
|
||||
driver located under drivers/media/platform/omap3isp. The original driver was
|
||||
written by Texas Instruments but since that it has been rewritten (twice) at
|
||||
Nokia.
|
||||
|
||||
The driver has been successfully used on the following versions of OMAP 3:
|
||||
|
||||
- 3430
|
||||
- 3530
|
||||
- 3630
|
||||
|
||||
The driver implements V4L2, Media controller and v4l2_subdev interfaces.
|
||||
Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
|
||||
are supported.
|
||||
|
||||
|
||||
Split to subdevs
|
||||
----------------
|
||||
|
||||
The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
|
||||
having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
|
||||
interface to userspace.
|
||||
|
||||
- OMAP3 ISP CCP2
|
||||
- OMAP3 ISP CSI2a
|
||||
- OMAP3 ISP CCDC
|
||||
- OMAP3 ISP preview
|
||||
- OMAP3 ISP resizer
|
||||
- OMAP3 ISP AEWB
|
||||
- OMAP3 ISP AF
|
||||
- OMAP3 ISP histogram
|
||||
|
||||
Each possible link in the ISP is modelled by a link in the Media controller
|
||||
interface. For an example program see [#]_.
|
||||
|
||||
|
||||
Controlling the OMAP 3 ISP
|
||||
--------------------------
|
||||
|
||||
In general, the settings given to the OMAP 3 ISP take effect at the beginning
|
||||
of the following frame. This is done when the module becomes idle during the
|
||||
vertical blanking period on the sensor. In memory-to-memory operation the pipe
|
||||
is run one frame at a time. Applying the settings is done between the frames.
|
||||
|
||||
All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
|
||||
insist on receiving complete frames. Sensors must thus never send the ISP
|
||||
partial frames.
|
||||
|
||||
Autoidle does have issues with some ISP blocks on the 3430, at least.
|
||||
Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
|
||||
is non-zero.
|
||||
|
||||
Technical reference manuals (TRMs) and other documentation
|
||||
----------------------------------------------------------
|
||||
|
||||
OMAP 3430 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
OMAP 35xx TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
|
||||
|
||||
OMAP 3630 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
DM 3730 TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
|
||||
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
@ -0,0 +1,92 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Other USB cards list
|
||||
====================
|
||||
|
||||
================ ====================================== =====================
|
||||
Driver Card name USB IDs
|
||||
================ ====================================== =====================
|
||||
airspy Airspy 1d50:60a1
|
||||
dvb-as102 Abilis Systems DVB-Titan 1BA6:0001
|
||||
dvb-as102 PCTV Systems picoStick (74e) 2013:0246
|
||||
dvb-as102 Elgato EyeTV DTT Deluxe 0fd9:002c
|
||||
dvb-as102 nBox DVB-T Dongle 0b89:0007
|
||||
dvb-as102 Sky IT Digital Key (green led) 2137:0001
|
||||
b2c2-flexcop-usb Technisat/B2C2 FlexCop II/IIb/III 0af7:0101
|
||||
Digital TV
|
||||
cpia2 Vision's CPiA2 cameras 0553:0100, 0553:0140,
|
||||
such as the Digital Blue QX5 0553:0151
|
||||
go7007 WIS GO7007 MPEG encoder 1943:a250, 093b:a002,
|
||||
093b:a004, 0eb1:6666,
|
||||
0eb1:6668
|
||||
hackrf HackRF Software Decoder Radio 1d50:6089
|
||||
hdpvr Hauppauge HD PVR 2040:4900, 2040:4901,
|
||||
2040:4902, 2040:4982,
|
||||
2040:4903
|
||||
msi2500 Mirics MSi3101 SDR Dongle 1df7:2500, 2040:d300
|
||||
pvrusb2 Hauppauge WinTV-PVR USB2 2040:2900, 2040:2950,
|
||||
2040:2400, 1164:0622,
|
||||
1164:0602, 11ba:1003,
|
||||
11ba:1001, 2040:7300,
|
||||
2040:7500, 2040:7501,
|
||||
0ccd:0039, 2040:7502,
|
||||
2040:7510
|
||||
pwc Creative Webcam 5 041E:400C
|
||||
pwc Creative Webcam Pro Ex 041E:4011
|
||||
pwc Logitech QuickCam 3000 Pro 046D:08B0
|
||||
pwc Logitech QuickCam Notebook Pro 046D:08B1
|
||||
pwc Logitech QuickCam 4000 Pro 046D:08B2
|
||||
pwc Logitech QuickCam Zoom (old model) 046D:08B3
|
||||
pwc Logitech QuickCam Zoom (new model) 046D:08B4
|
||||
pwc Logitech QuickCam Orbit/Sphere 046D:08B5
|
||||
pwc Logitech/Cisco VT Camera 046D:08B6
|
||||
pwc Logitech ViewPort AV 100 046D:08B7
|
||||
pwc Logitech QuickCam 046D:08B8
|
||||
pwc Philips PCA645VC 0471:0302
|
||||
pwc Philips PCA646VC 0471:0303
|
||||
pwc Askey VC010 type 2 0471:0304
|
||||
pwc Philips PCVC675K (Vesta) 0471:0307
|
||||
pwc Philips PCVC680K (Vesta Pro) 0471:0308
|
||||
pwc Philips PCVC690K (Vesta Pro Scan) 0471:030C
|
||||
pwc Philips PCVC730K (ToUCam Fun), 0471:0310
|
||||
PCVC830 (ToUCam II)
|
||||
pwc Philips PCVC740K (ToUCam Pro), 0471:0311
|
||||
PCVC840 (ToUCam II)
|
||||
pwc Philips PCVC750K (ToUCam Pro Scan) 0471:0312
|
||||
pwc Philips PCVC720K/40 (ToUCam XS) 0471:0313
|
||||
pwc Philips SPC 900NC 0471:0329
|
||||
pwc Philips SPC 880NC 0471:032C
|
||||
pwc Sotec Afina Eye 04CC:8116
|
||||
pwc Samsung MPC-C10 055D:9000
|
||||
pwc Samsung MPC-C30 055D:9001
|
||||
pwc Samsung SNC-35E (Ver3.0) 055D:9002
|
||||
pwc Askey VC010 type 1 069A:0001
|
||||
pwc AME Co. Afina Eye 06BE:8116
|
||||
pwc Visionite VCS-UC300 0d81:1900
|
||||
pwc Visionite VCS-UM100 0d81:1910
|
||||
s2255drv Sensoray 2255 1943:2255, 1943:2257
|
||||
stk1160 STK1160 USB video capture dongle 05e1:0408
|
||||
stkwebcam Syntek DC1125 174f:a311, 05e1:0501
|
||||
dvb-ttusb-budget Technotrend/Hauppauge Nova-USB devices 0b48:1003, 0b48:1004,
|
||||
0b48:1005
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1006
|
||||
DEC3000-s
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1007
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1008
|
||||
DEC2000-t
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder
|
||||
DEC2540-t 0b48:1009
|
||||
usbtv Fushicai USBTV007 Audio-Video Grabber 1b71:3002, 1f71:3301,
|
||||
1f71:3306
|
||||
zr364xx USB ZR364XX Camera 08ca:0109, 041e:4024,
|
||||
0d64:0108, 0546:3187,
|
||||
0d64:3108, 0595:4343,
|
||||
0bb0:500d, 0feb:2004,
|
||||
055f:b500, 08ca:2062,
|
||||
052b:1a18, 04c8:0729,
|
||||
04f2:a208, 0784:0040,
|
||||
06d6:0034, 0a17:0062,
|
||||
06d6:003b, 0a17:004e,
|
||||
041e:405d, 08ca:2102,
|
||||
06d6:003d
|
||||
================ ====================================== =====================
|
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
@ -0,0 +1,107 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
PCI drivers
|
||||
===========
|
||||
|
||||
The PCI boards are identified by an identification called PCI ID. The PCI ID
|
||||
is actually composed by two parts:
|
||||
|
||||
- Vendor ID and device ID;
|
||||
- Subsystem ID and Subsystem device ID;
|
||||
|
||||
The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 3
|
||||
|
||||
$ lspci -nn
|
||||
...
|
||||
00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
|
||||
00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
|
||||
01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
|
||||
02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
|
||||
02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
|
||||
02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
|
||||
...
|
||||
|
||||
The subsystem IDs can be obtained using ``lspci -vn``
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 4
|
||||
|
||||
$ lspci -vn
|
||||
...
|
||||
00:0a.0 0480: 1131:7133 (rev d1)
|
||||
Subsystem: 1461:f01d
|
||||
Flags: bus master, medium devsel, latency 32, IRQ 209
|
||||
Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
|
||||
Capabilities: [40] Power Management version 2
|
||||
...
|
||||
|
||||
At the above example, the first card uses the ``saa7134`` driver, and
|
||||
has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
|
||||
ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
|
||||
|
||||
Unfortunately, sometimes the same PCI subsystem ID is used by different
|
||||
products. So, several media drivers allow passing a ``card=`` parameter,
|
||||
in order to setup a card number that would match the correct settings for
|
||||
an specific board.
|
||||
|
||||
The current supported PCI/PCIe cards (not including staging drivers) are
|
||||
listed below\ [#]_.
|
||||
|
||||
.. [#] some of the drivers have sub-drivers, not shown at this table
|
||||
|
||||
================ ========================================================
|
||||
Driver Name
|
||||
================ ========================================================
|
||||
altera-ci Altera FPGA based CI module
|
||||
b2c2-flexcop-pci Technisat/B2C2 Air/Sky/Cable2PC PCI
|
||||
bt878 DVB/ATSC Support for bt878 based TV cards
|
||||
bttv BT8x8 Video For Linux
|
||||
cobalt Cisco Cobalt
|
||||
cx18 Conexant cx23418 MPEG encoder
|
||||
cx23885 Conexant cx23885 (2388x successor)
|
||||
cx25821 Conexant cx25821
|
||||
cx88xx Conexant 2388x (bt878 successor)
|
||||
ddbridge Digital Devices bridge
|
||||
dm1105 SDMC DM1105 based PCI cards
|
||||
dt3155 DT3155 frame grabber
|
||||
dvb-ttpci AV7110 cards
|
||||
earth-pt1 PT1 cards
|
||||
earth-pt3 Earthsoft PT3 cards
|
||||
hexium_gemini Hexium Gemini frame grabber
|
||||
hexium_orion Hexium HV-PCI6 and Orion frame grabber
|
||||
hopper HOPPER based cards
|
||||
ipu3-cio2 Intel ipu3-cio2 driver
|
||||
ivtv Conexant cx23416/cx23415 MPEG encoder/decoder
|
||||
ivtvfb Conexant cx23415 framebuffer
|
||||
mantis MANTIS based cards
|
||||
meye Sony Vaio Picturebook Motion Eye
|
||||
mxb Siemens-Nixdorf 'Multimedia eXtension Board'
|
||||
netup-unidvb NetUP Universal DVB card
|
||||
ngene Micronas nGene
|
||||
pluto2 Pluto2 cards
|
||||
saa7134 Philips SAA7134
|
||||
saa7164 NXP SAA7164
|
||||
smipcie SMI PCIe DVBSky cards
|
||||
solo6x10 Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
|
||||
sta2x11_vip STA2X11 VIP Video For Linux
|
||||
tw5864 Techwell TW5864 video/audio grabber and encoder
|
||||
tw686x Intersil/Techwell TW686x
|
||||
tw68 Techwell tw68x Video For Linux
|
||||
================ ========================================================
|
||||
|
||||
Some of those drivers support multiple devices, as shown at the card
|
||||
lists below:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bttv-cardlist
|
||||
cx18-cardlist
|
||||
cx23885-cardlist
|
||||
cx88-cardlist
|
||||
ivtv-cardlist
|
||||
saa7134-cardlist
|
||||
saa7164-cardlist
|
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
@ -0,0 +1,90 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Platform drivers
|
||||
================
|
||||
|
||||
There are several drivers that are focused on providing support for
|
||||
functionality that are already included at the main board, and don't
|
||||
use neither USB nor PCI bus. Those drivers are called platform
|
||||
drivers, and are very popular on embedded devices.
|
||||
|
||||
The current supported of platform drivers (not including staging drivers) are
|
||||
listed below
|
||||
|
||||
================= ============================================================
|
||||
Driver Name
|
||||
================= ============================================================
|
||||
am437x-vpfe TI AM437x VPFE
|
||||
aspeed-video Aspeed AST2400 and AST2500
|
||||
atmel-isc ATMEL Image Sensor Controller (ISC)
|
||||
atmel-isi ATMEL Image Sensor Interface (ISI)
|
||||
c8sectpfe SDR platform devices
|
||||
c8sectpfe SDR platform devices
|
||||
cafe_ccic Marvell 88ALP01 (Cafe) CMOS Camera Controller
|
||||
cdns-csi2rx Cadence MIPI-CSI2 RX Controller
|
||||
cdns-csi2tx Cadence MIPI-CSI2 TX Controller
|
||||
coda-vpu Chips&Media Coda multi-standard codec IP
|
||||
dm355_ccdc TI DM355 CCDC video capture
|
||||
dm644x_ccdc TI DM6446 CCDC video capture
|
||||
exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem)
|
||||
exynos-fimc-lite EXYNOS FIMC-LITE camera interface
|
||||
exynos-gsc Samsung Exynos G-Scaler
|
||||
exy Samsung S5P/EXYNOS4 SoC series Camera Subsystem
|
||||
fsl-viu Freescale VIU
|
||||
imx-pxp i.MX Pixel Pipeline (PXP)
|
||||
isdf TI DM365 ISIF video capture
|
||||
mmp_camera Marvell Armada 610 integrated camera controller
|
||||
mtk_jpeg Mediatek JPEG Codec
|
||||
mtk-mdp Mediatek MDP
|
||||
mtk-vcodec-dec Mediatek Video Codec
|
||||
mtk-vpu Mediatek Video Processor Unit
|
||||
mx2_emmaprp MX2 eMMa-PrP
|
||||
omap3-isp OMAP 3 Camera
|
||||
omap-vout OMAP2/OMAP3 V4L2-Display
|
||||
pxa_camera PXA27x Quick Capture Interface
|
||||
qcom-camss Qualcomm V4L2 Camera Subsystem
|
||||
rcar-csi2 R-Car MIPI CSI-2 Receiver
|
||||
rcar_drif Renesas Digital Radio Interface (DRIF)
|
||||
rcar-fcp Renesas Frame Compression Processor
|
||||
rcar_fdp1 Renesas Fine Display Processor
|
||||
rcar_jpu Renesas JPEG Processing Unit
|
||||
rcar-vin R-Car Video Input (VIN)
|
||||
renesas-ceu Renesas Capture Engine Unit (CEU)
|
||||
rockchip-rga Rockchip Raster 2d Graphic Acceleration Unit
|
||||
s3c-camif Samsung S3C24XX/S3C64XX SoC Camera Interface
|
||||
s5p-csis S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS)
|
||||
s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
|
||||
s5p-g2d Samsung S5P and EXYNOS4 G2D 2d graphics accelerator
|
||||
s5p-jpeg Samsung S5P/Exynos3250/Exynos4 JPEG codec
|
||||
s5p-mfc Samsung S5P MFC Video Codec
|
||||
sh_veu SuperH VEU mem2mem video processing
|
||||
sh_vou SuperH VOU video output
|
||||
stm32-dcmi STM32 Digital Camera Memory Interface (DCMI)
|
||||
sun4i-csi Allwinner A10 CMOS Sensor Interface Support
|
||||
sun6i-csi Allwinner V3s Camera Sensor Interface
|
||||
sun8i-di Allwinner Deinterlace
|
||||
sun8i-rotate Allwinner DE2 rotation
|
||||
ti-cal TI Memory-to-memory multimedia devices
|
||||
ti-csc TI DVB platform devices
|
||||
ti-vpe TI VPE (Video Processing Engine)
|
||||
venus-enc Qualcomm Venus V4L2 encoder/decoder
|
||||
via-camera VIAFB camera controller
|
||||
video-mux Video Multiplexer
|
||||
vpif_display TI DaVinci VPIF V4L2-Display
|
||||
vpif_capture TI DaVinci VPIF video capture
|
||||
vpss TI DaVinci VPBE V4L2-Display
|
||||
vsp1 Renesas VSP1 Video Processing Engine
|
||||
xilinx-tpg Xilinx Video Test Pattern Generator
|
||||
xilinx-video Xilinx Video IP (EXPERIMENTAL)
|
||||
xilinx-vtc Xilinx Video Timing Controller
|
||||
================= ============================================================
|
||||
|
||||
MMC/SDIO DVB adapters
|
||||
---------------------
|
||||
|
||||
======= ===========================================
|
||||
Driver Name
|
||||
======= ===========================================
|
||||
smssdio Siano SMS1xxx based MDTV via SDIO interface
|
||||
======= ===========================================
|
||||
|
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
@ -0,0 +1,44 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Radio drivers
|
||||
=============
|
||||
|
||||
There is also support for pure AM/FM radio, and even for some FM radio
|
||||
transmitters:
|
||||
|
||||
===================== =========================================================
|
||||
Driver Name
|
||||
===================== =========================================================
|
||||
si4713 Silicon Labs Si4713 FM Radio Transmitter
|
||||
radio-aztech Aztech/Packard Bell Radio
|
||||
radio-cadet ADS Cadet AM/FM Tuner
|
||||
radio-gemtek GemTek Radio card (or compatible)
|
||||
radio-maxiradio Guillemot MAXI Radio FM 2000 radio
|
||||
radio-miropcm20 miroSOUND PCM20 radio
|
||||
radio-aimslab AIMSlab RadioTrack (aka RadioReveal)
|
||||
radio-rtrack2 AIMSlab RadioTrack II
|
||||
saa7706h SAA7706H Car Radio DSP
|
||||
radio-sf16fmi SF16-FMI/SF16-FMP/SF16-FMD Radio
|
||||
radio-sf16fmr2 SF16-FMR2/SF16-FMD2 Radio
|
||||
radio-shark Griffin radioSHARK USB radio receiver
|
||||
shark2 Griffin radioSHARK2 USB radio receiver
|
||||
radio-si470x-common Silicon Labs Si470x FM Radio Receiver
|
||||
radio-si476x Silicon Laboratories Si476x I2C FM Radio
|
||||
radio-tea5764 TEA5764 I2C FM radio
|
||||
tef6862 TEF6862 Car Radio Enhanced Selectivity Tuner
|
||||
radio-terratec TerraTec ActiveRadio ISA Standalone
|
||||
radio-timb Enable the Timberdale radio driver
|
||||
radio-trust Trust FM radio card
|
||||
radio-typhoon Typhoon Radio (a.k.a. EcoRadio)
|
||||
radio-wl1273 Texas Instruments WL1273 I2C FM Radio
|
||||
fm_drv ISA radio devices
|
||||
fm_drv ISA radio devices
|
||||
radio-zoltrix Zoltrix Radio
|
||||
dsbr100 D-Link/GemTek USB FM radio
|
||||
radio-keene Keene FM Transmitter USB
|
||||
radio-ma901 Masterkit MA901 USB FM radio
|
||||
radio-mr800 AverMedia MR 800 USB FM radio
|
||||
radio-raremono Thanko's Raremono AM/FM/SW radio
|
||||
radio-si470x-usb Silicon Labs Si470x FM Radio Receiver support with USB
|
||||
radio-usb-si4713 Silicon Labs Si4713 FM Radio Transmitter support with USB
|
||||
===================== =========================================================
|
@ -1,12 +1,13 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================================
|
||||
Infrared remote control support in video4linux drivers
|
||||
======================================================
|
||||
|
||||
Authors: Gerd Hoffmann, Mauro Carvalho Chehab
|
||||
|
||||
Basics
|
||||
------
|
||||
======
|
||||
|
||||
Most analog and digital TV boards support remote controllers. Several of
|
||||
them have a microprocessor that receives the IR carriers, convert into
|
||||
@ -33,7 +34,7 @@ detected. However, for a few devices, you need to manually load the
|
||||
ir-kbd-i2c module.
|
||||
|
||||
How it works
|
||||
------------
|
||||
============
|
||||
|
||||
The modules register the remote as keyboard within the linux input
|
||||
layer, i.e. you'll see the keys of the remote as normal key strokes
|
||||
@ -55,7 +56,7 @@ the keymaps, like the input kbd utility.
|
||||
|
||||
|
||||
Using with lircd
|
||||
================
|
||||
----------------
|
||||
|
||||
The latest versions of the lircd daemon supports reading events from the
|
||||
linux input layer (via event device). It also supports receiving IR codes
|
||||
@ -63,7 +64,7 @@ in lirc mode.
|
||||
|
||||
|
||||
Using without lircd
|
||||
===================
|
||||
-------------------
|
||||
|
||||
Xorg recognizes several IR keycodes that have its numerical value lower
|
||||
than 247. With the advent of Wayland, the input driver got updated too,
|
@ -12,7 +12,7 @@ SAA7134 cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
88
Documentation/admin-guide/media/saa7134.rst
Normal file
88
Documentation/admin-guide/media/saa7134.rst
Normal file
@ -0,0 +1,88 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The saa7134 driver
|
||||
==================
|
||||
|
||||
Author Gerd Hoffmann
|
||||
|
||||
|
||||
This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV
|
||||
boards.
|
||||
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
Almost everything is working. video, sound, tuner, radio, mpeg ts, ...
|
||||
|
||||
As with bttv, card-specific tweaks are needed. Check CARDLIST for a
|
||||
list of known TV cards and saa7134-cards.c for the drivers card
|
||||
configuration info.
|
||||
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
Once you pick up a Kernel source, you should configure, build,
|
||||
install and boot the new kernel. You'll need at least
|
||||
these config options::
|
||||
|
||||
./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 -e MEDIA_SUBDRV_AUTOSELECT
|
||||
./scripts/config -m VIDEO_SAA7134
|
||||
./scripts/config -e SAA7134_ALSA
|
||||
./scripts/config -e VIDEO_SAA7134_RC
|
||||
./scripts/config -e VIDEO_SAA7134_DVB
|
||||
./scripts/config -e VIDEO_SAA7134_GO7007
|
||||
|
||||
To build and install, you should run::
|
||||
|
||||
make && make modules_install && make install
|
||||
|
||||
Once the new Kernel is booted, saa7134 driver should be loaded automatically.
|
||||
|
||||
Depending on the card you might have to pass ``card=<nr>`` as insmod option.
|
||||
If so, please check :doc:`saa7134-cardlist` for valid choices.
|
||||
|
||||
Once you have your card type number, you can pass a modules configuration
|
||||
via a file (usually, it is either ``/etc/modules.conf`` or some file at
|
||||
``/etc/modules-load.d/``, but the actual place depends on your
|
||||
distribution), with this content::
|
||||
|
||||
options saa7134 card=13 # Assuming that your card type is #13
|
||||
|
||||
|
||||
Changes / Fixes
|
||||
---------------
|
||||
|
||||
Please mail to linux-media AT vger.kernel.org unified diffs against
|
||||
the linux media git tree:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
This is done by committing a patch at a clone of the git tree and
|
||||
submitting the patch using ``git send-email``. Don't forget to
|
||||
describe at the lots what it changes / which problem it fixes / whatever
|
||||
it is good for ...
|
||||
|
||||
|
||||
Known Problems
|
||||
--------------
|
||||
|
||||
* The tuner for the flyvideos isn't detected automatically and the
|
||||
default might not work for you depending on which version you have.
|
||||
There is a ``tuner=`` insmod option to override the driver's default.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
andrew.stevens@philips.com + werner.leeb@philips.com for providing
|
||||
saa7134 hardware specs and sample board.
|
@ -12,7 +12,7 @@ SAA7164 cards list
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI IDs
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Unknown
|
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
@ -0,0 +1,56 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Siano cards list
|
||||
================
|
||||
|
||||
.. tabularcolumns:: p{13.3cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 17 16
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge Catamount
|
||||
- 2040:1700
|
||||
* - Hauppauge Okemo-A
|
||||
- 2040:1800
|
||||
* - Hauppauge Okemo-B
|
||||
- 2040:1801
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2000, 2040:200a, 2040:2010, 2040:2011, 2040:2019
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2009
|
||||
* - Hauppauge WinTV MiniStick
|
||||
- 2040:5500, 2040:5510, 2040:5520, 2040:5530, 2040:5580, 2040:5590, 2040:b900, 2040:b910, 2040:b980, 2040:b990, 2040:c000, 2040:c010, 2040:c080, 2040:c090, 2040:c0a0, 2040:f5a0
|
||||
* - Hauppauge microStick 77e
|
||||
- 2013:0257
|
||||
* - ONDA Data Card Digital Receiver
|
||||
- 19D2:0078
|
||||
* - Siano Denver (ATSC-M/H) Digital Receiver
|
||||
- 187f:0800
|
||||
* - Siano Denver (TDMB) Digital Receiver
|
||||
- 187f:0700
|
||||
* - Siano Ming Digital Receiver
|
||||
- 187f:0310
|
||||
* - Siano Nice Digital Receiver
|
||||
- 187f:0202, 187f:0202
|
||||
* - Siano Nova A Digital Receiver
|
||||
- 187f:0200
|
||||
* - Siano Nova B Digital Receiver
|
||||
- 187f:0201
|
||||
* - Siano Pele Digital Receiver
|
||||
- 187f:0500
|
||||
* - Siano Rio Digital Receiver
|
||||
- 187f:0600, 3275:0080
|
||||
* - Siano Stellar Digital Receiver
|
||||
- 187f:0100
|
||||
* - Siano Stellar Digital Receiver ROM
|
||||
- 187f:0010
|
||||
* - Siano Vega Digital Receiver
|
||||
- 187f:0300
|
||||
* - Siano Venice Digital Receiver
|
||||
- 187f:0301, 187f:0301, 187f:0302
|
||||
* - ZTE Data Card Digital Receiver
|
||||
- 19D2:0086
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user