0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 FAQ
0004 ===
0005
0006 .. note::
0007
0008 1. With Digital TV, a single physical channel may have different
0009 contents inside it. The specs call each one as a *service*.
0010 This is what a TV user would call "channel". So, in order to
0011 avoid confusion, we're calling *transponders* as the physical
0012 channel on this FAQ, and *services* for the logical channel.
0013 2. The LinuxTV community maintains some Wiki pages with contain
0014 a lot of information related to the media subsystem. If you
0015 don't find an answer for your needs here, it is likely that
0016 you'll be able to get something useful there. It is hosted
0017 at:
0018
0019 https://www.linuxtv.org/wiki/
0020
0021 Some very frequently asked questions about Linux Digital TV support
0022
0023 1. The signal seems to die a few seconds after tuning.
0024
0025 It's not a bug, it's a feature. Because the frontends have
0026 significant power requirements (and hence get very hot), they
0027 are powered down if they are unused (i.e. if the frontend device
0028 is closed). The ``dvb-core`` module parameter ``dvb_shutdown_timeout``
0029 allow you to change the timeout (default 5 seconds). Setting the
0030 timeout to 0 disables the timeout feature.
0031
0032 2. How can I watch TV?
0033
0034 Together with the Linux Kernel, the Digital TV developers support
0035 some simple utilities which are mainly intended for testing
0036 and to demonstrate how the DVB API works. This is called DVB v5
0037 tools and are grouped together with the ``v4l-utils`` git repository:
0038
0039 https://git.linuxtv.org/v4l-utils.git/
0040
0041 You can find more information at the LinuxTV wiki:
0042
0043 https://www.linuxtv.org/wiki/index.php/DVBv5_Tools
0044
0045 The first step is to get a list of services that are transmitted.
0046
0047 This is done by using several existing tools. You can use
0048 for example the ``dvbv5-scan`` tool. You can find more information
0049 about it at:
0050
0051 https://www.linuxtv.org/wiki/index.php/Dvbv5-scan
0052
0053 There are some other applications like ``w_scan`` [#]_ that do a
0054 blind scan, trying hard to find all possible channels, but
0055 those consumes a large amount of time to run.
0056
0057 .. [#] https://www.linuxtv.org/wiki/index.php/W_scan
0058
0059 Also, some applications like ``kaffeine`` have their own code
0060 to scan for services. So, you don't need to use an external
0061 application to obtain such list.
0062
0063 Most of such tools need a file containing a list of channel
0064 transponders available on your area. So, LinuxTV developers
0065 maintain tables of Digital TV channel transponders, receiving
0066 patches from the community to keep them updated.
0067
0068 This list is hosted at:
0069
0070 https://git.linuxtv.org/dtv-scan-tables.git
0071
0072 And packaged on several distributions.
0073
0074 Kaffeine has some blind scan support for some terrestrial standards.
0075 It also relies on DTV scan tables, although it contains a copy
0076 of it internally (and, if requested by the user, it will download
0077 newer versions of it).
0078
0079 If you are lucky you can just use one of the supplied channel
0080 transponders. If not, you may need to seek for such info at
0081 the Internet and create a new file. There are several sites with
0082 contains physical channel lists. For cable and satellite, usually
0083 knowing how to tune into a single channel is enough for the
0084 scanning tool to identify the other channels. On some places,
0085 this could also work for terrestrial transmissions.
0086
0087 Once you have a transponders list, you need to generate a services
0088 list with a tool like ``dvbv5-scan``.
0089
0090 Almost all modern Digital TV cards don't have built-in hardware
0091 MPEG-decoders. So, it is up to the application to get a MPEG-TS
0092 stream provided by the board, split it into audio, video and other
0093 data and decode.
0094
0095 3. Which Digital TV applications exist?
0096
0097 Several media player applications are capable of tuning into
0098 digital TV channels, including Kaffeine, Vlc, mplayer and MythTV.
0099
0100 Kaffeine aims to be very user-friendly, and it is maintained
0101 by one of the Kernel driver developers.
0102
0103 A comprehensive list of those and other apps can be found at:
0104
0105 https://www.linuxtv.org/wiki/index.php/TV_Related_Software
0106
0107 Some of the most popular ones are linked below:
0108
0109 https://kde.org/applications/multimedia/org.kde.kaffeine
0110 KDE media player, focused on Digital TV support
0111
0112 https://www.linuxtv.org/vdrwiki/index.php/Main_Page
0113 Klaus Schmidinger's Video Disk Recorder
0114
0115 https://linuxtv.org/downloads and https://git.linuxtv.org/
0116 Digital TV and other media-related applications and
0117 Kernel drivers. The ``v4l-utils`` package there contains
0118 several swiss knife tools for using with Digital TV.
0119
0120 http://sourceforge.net/projects/dvbtools/
0121 Dave Chapman's dvbtools package, including
0122 dvbstream and dvbtune
0123
0124 http://www.dbox2.info/
0125 LinuxDVB on the dBox2
0126
0127 http://www.tuxbox.org/
0128 the TuxBox CVS many interesting DVB applications and the dBox2
0129 DVB source
0130
0131 http://www.nenie.org/misc/mpsys/
0132 MPSYS: a MPEG2 system library and tools
0133
0134 https://www.videolan.org/vlc/index.pt.html
0135 Vlc
0136
0137 http://mplayerhq.hu/
0138 MPlayer
0139
0140 http://xine.sourceforge.net/ and http://xinehq.de/
0141 Xine
0142
0143 http://www.mythtv.org/
0144 MythTV - analog TV and digital TV PVR
0145
0146 http://dvbsnoop.sourceforge.net/
0147 DVB sniffer program to monitor, analyze, debug, dump
0148 or view dvb/mpeg/dsm-cc/mhp stream information (TS,
0149 PES, SECTION)
0150
0151 4. Can't get a signal tuned correctly
0152
0153 That could be due to a lot of problems. On my personal experience,
0154 usually TV cards need stronger signals than TV sets, and are more
0155 sensitive to noise. So, perhaps you just need a better antenna or
0156 cabling. Yet, it could also be some hardware or driver issue.
0157
0158 For example, if you are using a Technotrend/Hauppauge DVB-C card
0159 *without* analog module, you might have to use module parameter
0160 adac=-1 (dvb-ttpci.o).
0161
0162 Please see the FAQ page at linuxtv.org, as it could contain some
0163 valuable information:
0164
0165 https://www.linuxtv.org/wiki/index.php/FAQ_%26_Troubleshooting
0166
0167 If that doesn't work, check at the linux-media ML archives, to
0168 see if someone else had a similar problem with your hardware
0169 and/or digital TV service provider:
0170
0171 https://lore.kernel.org/linux-media/
0172
0173 If none of this works, you can try sending an e-mail to the
0174 linux-media ML and see if someone else could shed some light.
0175 The e-mail is linux-media AT vger.kernel.org.
0176
0177 5. The dvb_net device doesn't give me any packets at all
0178
0179 Run ``tcpdump`` on the ``dvb0_0`` interface. This sets the interface
0180 into promiscuous mode so it accepts any packets from the PID
0181 you have configured with the ``dvbnet`` utility. Check if there
0182 are any packets with the IP addr and MAC addr you have
0183 configured with ``ifconfig`` or with ``ip addr``.
0184
0185 If ``tcpdump`` doesn't give you any output, check the statistics
0186 which ``ifconfig`` or ``netstat -ni`` outputs. (Note: If the MAC
0187 address is wrong, ``dvb_net`` won't get any input; thus you have to
0188 run ``tcpdump`` before checking the statistics.) If there are no
0189 packets at all then maybe the PID is wrong. If there are error packets,
0190 then either the PID is wrong or the stream does not conform to
0191 the MPE standard (EN 301 192, http://www.etsi.org/). You can
0192 use e.g. ``dvbsnoop`` for debugging.
0193
0194 6. The ``dvb_net`` device doesn't give me any multicast packets
0195
0196 Check your routes if they include the multicast address range.
0197 Additionally make sure that "source validation by reversed path
0198 lookup" is disabled::
0199
0200 $ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
0201
0202 7. What are all those modules that need to be loaded?
0203
0204 In order to make it more flexible and support different hardware
0205 combinations, the media subsystem is written on a modular way.
0206
0207 So, besides the Digital TV hardware module for the main chipset,
0208 it also needs to load a frontend driver, plus the Digital TV
0209 core. If the board also has remote controller, it will also
0210 need the remote controller core and the remote controller tables.
0211 The same happens if the board has support for analog TV: the
0212 core support for video4linux need to be loaded.
0213
0214 The actual module names are Linux-kernel version specific, as,
0215 from time to time, things change, in order to make the media
0216 support more flexible.