faq.rst 7.9 KB

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