hc
2024-08-16 a24a44ff9ca902811b99aa9663d697cf452e08ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
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.