1.. SPDX-License-Identifier: GPL-2.0
2
3FAQ
4===
5
6.. note::
7
8     1. With Digital TV, a single physical channel may have different
9	contents inside it. The specs call each one as a *service*.
10	This is what a TV user would call "channel". So, in order to
11	avoid confusion, we're calling *transponders* as the physical
12	channel on this FAQ, and *services* for the logical channel.
13     2. The LinuxTV community maintains some Wiki pages with contain
14        a lot of information related to the media subsystem. If you
15        don't find an answer for your needs here, it is likely that
16        you'll be able to get something useful there. It is hosted
17	at:
18
19	https://www.linuxtv.org/wiki/
20
21Some very frequently asked questions about Linux Digital TV support
22
231. The signal seems to die a few seconds after tuning.
24
25	It's not a bug, it's a feature. Because the frontends have
26	significant power requirements (and hence get very hot), they
27	are powered down if they are unused (i.e. if the frontend device
28	is closed). The ``dvb-core`` module parameter ``dvb_shutdown_timeout``
29	allow you to change the timeout (default 5 seconds). Setting the
30	timeout to 0 disables the timeout feature.
31
322. How can I watch TV?
33
34	Together with the Linux Kernel, the Digital TV developers support
35	some simple utilities which are mainly intended for testing
36	and to demonstrate how the DVB API works. This is called DVB v5
37	tools and are grouped together with the ``v4l-utils`` git repository:
38
39	    https://git.linuxtv.org/v4l-utils.git/
40
41	You can find more information at the LinuxTV wiki:
42
43	    https://www.linuxtv.org/wiki/index.php/DVBv5_Tools
44
45	The first step is to get a list of services that are transmitted.
46
47	This is done by using several existing tools. You can use
48	for example the ``dvbv5-scan`` tool. You can find more information
49	about it at:
50
51	    https://www.linuxtv.org/wiki/index.php/Dvbv5-scan
52
53	There are some other applications like ``w_scan`` [#]_ that do a
54	blind scan, trying hard to find all possible channels, but
55	those consumes a large amount of time to run.
56
57	.. [#] https://www.linuxtv.org/wiki/index.php/W_scan
58
59	Also, some applications like ``kaffeine`` have their own code
60	to scan for services. So, you don't need to use an external
61	application to obtain such list.
62
63	Most of such tools need a file containing a list of channel
64	transponders available on your area. So, LinuxTV developers
65	maintain tables of Digital TV channel transponders, receiving
66	patches from the community to keep them updated.
67
68	This list is hosted at:
69
70	    https://git.linuxtv.org/dtv-scan-tables.git
71
72	And packaged on several distributions.
73
74	Kaffeine has some blind scan support for some terrestrial standards.
75	It also relies on DTV scan tables, although it contains a copy
76	of it internally (and, if requested by the user, it will download
77	newer versions of it).
78
79	If you are lucky you can just use one of the supplied channel
80	transponders. If not, you may need to seek for such info at
81	the Internet and create a new file. There are several sites with
82	contains physical channel lists. For cable and satellite, usually
83	knowing how to tune into a single channel is enough for the
84	scanning tool to identify the other channels. On some places,
85	this could also work for terrestrial transmissions.
86
87	Once you have a transponders list, you need to generate a services
88	list with a tool like ``dvbv5-scan``.
89
90	Almost all modern Digital TV cards don't have built-in hardware
91	MPEG-decoders. So, it is up to the application to get a MPEG-TS
92	stream provided by the board, split it into audio, video and other
93	data and decode.
94
953. Which Digital TV applications exist?
96
97	Several media player applications are capable of tuning into
98	digital TV channels, including Kaffeine, Vlc, mplayer and MythTV.
99
100	Kaffeine aims to be very user-friendly, and it is maintained
101	by one of the Kernel driver developers.
102
103	A comprehensive list of those and other apps can be found at:
104
105	    https://www.linuxtv.org/wiki/index.php/TV_Related_Software
106
107	Some of the most popular ones are linked below:
108
109	https://kde.org/applications/multimedia/org.kde.kaffeine
110		KDE media player, focused on Digital TV support
111
112	https://www.linuxtv.org/vdrwiki/index.php/Main_Page
113		Klaus Schmidinger's Video Disk Recorder
114
115	https://linuxtv.org/downloads and https://git.linuxtv.org/
116		Digital TV and other media-related applications and
117		Kernel drivers. The ``v4l-utils`` package there contains
118		several swiss knife tools for using with Digital TV.
119
120	http://sourceforge.net/projects/dvbtools/
121		Dave Chapman's dvbtools package, including
122		dvbstream and dvbtune
123
124	http://www.dbox2.info/
125		LinuxDVB on the dBox2
126
127	http://www.tuxbox.org/
128		the TuxBox CVS many interesting DVB applications and the dBox2
129		DVB source
130
131	http://www.nenie.org/misc/mpsys/
132		MPSYS: a MPEG2 system library and tools
133
134	https://www.videolan.org/vlc/index.pt.html
135		Vlc
136
137	http://mplayerhq.hu/
138		MPlayer
139
140	http://xine.sourceforge.net/ and http://xinehq.de/
141		Xine
142
143	http://www.mythtv.org/
144		MythTV - analog TV and digital TV PVR
145
146	http://dvbsnoop.sourceforge.net/
147		DVB sniffer program to monitor, analyze, debug, dump
148		or view dvb/mpeg/dsm-cc/mhp stream information (TS,
149		PES, SECTION)
150
1514. Can't get a signal tuned correctly
152
153	That could be due to a lot of problems. On my personal experience,
154	usually TV cards need stronger signals than TV sets, and are more
155	sensitive to noise. So, perhaps you just need a better antenna or
156	cabling. Yet, it could also be some hardware or driver issue.
157
158	For example, if you are using a Technotrend/Hauppauge DVB-C card
159	*without* analog module, you might have to use module parameter
160	adac=-1 (dvb-ttpci.o).
161
162	Please see the FAQ page at linuxtv.org, as it could contain some
163	valuable information:
164
165	    https://www.linuxtv.org/wiki/index.php/FAQ_%26_Troubleshooting
166
167	If that doesn't work, check at the linux-media ML archives, to
168	see if someone else had a similar problem with your hardware
169	and/or digital TV service provider:
170
171	    https://lore.kernel.org/linux-media/
172
173	If none of this works, you can try sending an e-mail to the
174	linux-media ML and see if someone else could shed some light.
175	The e-mail is linux-media AT vger.kernel.org.
176
1775. The dvb_net device doesn't give me any packets at all
178
179	Run ``tcpdump`` on the ``dvb0_0`` interface. This sets the interface
180	into promiscuous mode so it accepts any packets from the PID
181	you have configured with the ``dvbnet`` utility. Check if there
182	are any packets with the IP addr and MAC addr you have
183	configured with ``ifconfig`` or with ``ip addr``.
184
185	If ``tcpdump`` doesn't give you any output, check the statistics
186	which ``ifconfig`` or ``netstat -ni`` outputs. (Note: If the MAC
187	address is wrong, ``dvb_net`` won't get any input; thus you have to
188	run ``tcpdump`` before checking the statistics.) If there are no
189	packets at all then maybe the PID is wrong. If there are error packets,
190	then either the PID is wrong or the stream does not conform to
191	the MPE standard (EN 301 192, http://www.etsi.org/). You can
192	use e.g. ``dvbsnoop`` for debugging.
193
1946. The ``dvb_net`` device doesn't give me any multicast packets
195
196	Check your routes if they include the multicast address range.
197	Additionally make sure that "source validation by reversed path
198	lookup" is disabled::
199
200	  $ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
201
2027. What are all those modules that need to be loaded?
203
204	In order to make it more flexible and support different hardware
205	combinations, the media subsystem is written on a modular way.
206
207	So, besides the Digital TV hardware module for the main chipset,
208	it also needs to load a frontend driver, plus the Digital TV
209	core. If the board also has remote controller, it will also
210	need the remote controller core and the remote controller tables.
211	The same happens if the board has support for analog TV: the
212	core support for video4linux need to be loaded.
213
214	The actual module names are Linux-kernel version specific, as,
215	from time to time, things change, in order to make the media
216	support more flexible.
217