1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 9. DVB Frontend API</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="dvbapi.html" title="Part II. LINUX DVB API"><link rel="prev" href="include_files.html" title="API include files"><link rel="next" href="dvb-fe-read-status.html" title="Querying frontend status and statistics"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. DVB Frontend API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="include_files.html">Prev</a> </td><th width="60%" align="center">Part II. LINUX DVB API</th><td width="20%" align="right"> <a accesskey="n" href="dvb-fe-read-status.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="dvb_frontend"></a>Chapter 9. DVB Frontend API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="dvb_frontend.html#query-dvb-frontend-info">Querying frontend information</a></span></dt><dt><span class="section"><a href="dvb-fe-read-status.html">Querying frontend status and statistics</a></span></dt><dt><span class="section"><a href="frontend-properties.html">DVB Frontend properties</a></span></dt><dd><dl><dt><span class="section"><a href="frontend-properties.html#dtv-stats">struct <span class="structname">dtv_stats</span></a></span></dt><dt><span class="section"><a href="frontend-properties.html#dtv-fe-stats">struct <span class="structname">dtv_fe_stats</span></a></span></dt><dt><span class="section"><a href="frontend-properties.html#dtv-property">struct <span class="structname">dtv_property</span></a></span></dt><dt><span class="section"><a href="frontend-properties.html#dtv-properties">struct <span class="structname">dtv_properties</span></a></span></dt><dt><span class="section"><a href="frontend-properties.html#id-1.5.5.11.14">Property types</a></span></dt><dt><span class="section"><a href="frontend-properties.html#fe_property_parameters">Digital TV property parameters</a></span></dt><dt><span class="section"><a href="frontend-properties.html#frontend-stat-properties">Frontend statistics indicators</a></span></dt><dt><span class="section"><a href="frontend-properties.html#frontend-property-terrestrial-systems">Properties used on terrestrial delivery systems</a></span></dt><dt><span class="section"><a href="frontend-properties.html#frontend-property-cable-systems">Properties used on cable delivery systems</a></span></dt><dt><span class="section"><a href="frontend-properties.html#frontend-property-satellite-systems">Properties used on satellite delivery systems</a></span></dt></dl></dd><dt><span class="section"><a href="frontend_fcalls.html">Frontend Function Calls</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="frontend_f_open.html">DVB frontend open()</a></span><span class="refpurpose"> — Open a frontend device</span></dt><dt><span class="refentrytitle"><a href="frontend_f_close.html">DVB frontend close()</a></span><span class="refpurpose"> — Close a frontend device</span></dt><dt><span class="refentrytitle"><a href="FE_GET_INFO.html">ioctl FE_GET_INFO</a></span><span class="refpurpose"> — Query DVB frontend capabilities and returns information about
2	the front-end. This call only requires read-only access to the device</span></dt><dt><span class="refentrytitle"><a href="FE_READ_STATUS.html">ioctl FE_READ_STATUS</a></span><span class="refpurpose"> — Returns status information about the front-end. This call only
3 requires read-only access to the device</span></dt><dt><span class="refentrytitle"><a href="FE_GET_PROPERTY.html">ioctl FE_SET_PROPERTY, FE_GET_PROPERTY</a></span><span class="refpurpose"> — FE_SET_PROPERTY sets one or more frontend properties.
4	FE_GET_PROPERTY returns one or more frontend properties.</span></dt><dt><span class="refentrytitle"><a href="FE_DISEQC_RESET_OVERLOAD.html">ioctl FE_DISEQC_RESET_OVERLOAD</a></span><span class="refpurpose"> — Restores the power to the antenna subsystem, if it was powered
5	off due to power overload.</span></dt><dt><span class="refentrytitle"><a href="FE_DISEQC_SEND_MASTER_CMD.html">ioctl FE_DISEQC_SEND_MASTER_CMD</a></span><span class="refpurpose"> — Sends a DiSEqC command</span></dt><dt><span class="refentrytitle"><a href="FE_DISEQC_RECV_SLAVE_REPLY.html">ioctl FE_DISEQC_RECV_SLAVE_REPLY</a></span><span class="refpurpose"> — Receives reply from a DiSEqC 2.0 command</span></dt><dt><span class="refentrytitle"><a href="FE_DISEQC_SEND_BURST.html">ioctl FE_DISEQC_SEND_BURST</a></span><span class="refpurpose"> — Sends a 22KHz tone burst for 2x1 mini DiSEqC satellite selection.</span></dt><dt><span class="refentrytitle"><a href="FE_SET_TONE.html">ioctl FE_SET_TONE</a></span><span class="refpurpose"> — Sets/resets the generation of the continuous 22kHz tone.</span></dt><dt><span class="refentrytitle"><a href="FE_SET_VOLTAGE.html">ioctl FE_SET_VOLTAGE</a></span><span class="refpurpose"> — Allow setting the DC level sent to the antenna subsystem.</span></dt><dt><span class="refentrytitle"><a href="FE_ENABLE_HIGH_LNB_VOLTAGE.html">ioctl FE_ENABLE_HIGH_LNB_VOLTAGE</a></span><span class="refpurpose"> — Select output DC level between normal LNBf voltages or higher
6	LNBf voltages.</span></dt><dt><span class="refentrytitle"><a href="FE_SET_FRONTEND_TUNE_MODE.html">ioctl FE_SET_FRONTEND_TUNE_MODE</a></span><span class="refpurpose"> — Allow setting tuner mode flags to the frontend.</span></dt></dl></dd><dt><span class="section"><a href="frontend_legacy_dvbv3_api.html">DVB Frontend legacy API (a. k. a. DVBv3)</a></span></dt><dd><dl><dt><span class="section"><a href="frontend_legacy_dvbv3_api.html#frontend_legacy_types">Frontend Legacy Data Types</a></span></dt><dt><span class="section"><a href="frontend_legacy_dvbv3_api.html#frontend_legacy_fcalls">Frontend Legacy Function Calls</a></span></dt></dl></dd></dl></div><p>The DVB frontend API was designed to support three types of delivery systems:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Terrestrial systems: DVB-T, DVB-T2, ATSC, ATSC M/H, ISDB-T, DVB-H, DTMB, CMMB</p></li><li class="listitem"><p>Cable systems: DVB-C Annex A/C, ClearQAM (DVB-C Annex B), ISDB-C</p></li><li class="listitem"><p>Satellite systems: DVB-S, DVB-S2, DVB Turbo, ISDB-S, DSS</p></li></ul></div><p>The DVB frontend controls several sub-devices including:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Tuner</p></li><li class="listitem"><p>Digital TV demodulator</p></li><li class="listitem"><p>Low noise amplifier (LNA)</p></li><li class="listitem"><p>Satellite Equipment Control (SEC) hardware (only for Satellite).</p></li></ul></div><p>The frontend can be accessed through
7    <code class="constant">/dev/dvb/adapter?/frontend?</code>. Data types and
8    ioctl definitions can be accessed by including
9    <code class="constant">linux/dvb/frontend.h</code> in your application.
10</p><p>NOTE: Transmission via the internet (DVB-IP)
11    is not yet handled by this API but a future extension is possible.</p><p>On Satellite systems, the API support for the Satellite Equipment Control
12    (SEC) allows to power control and to send/receive signals to control the
13    antenna subsystem, selecting the polarization and choosing the Intermediate
14    Frequency IF) of the Low Noise Block Converter Feed Horn (LNBf). It
15    supports the DiSEqC and V-SEC protocols. The DiSEqC (digital SEC)
16specification is available at
17<a class="ulink" href="http://www.eutelsat.com/satellites/4_5_5.html" target="_top">Eutelsat</a>.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="query-dvb-frontend-info"></a>Querying frontend information</h2></div></div></div><p>Usually, the first thing to do when the frontend is opened is to
18    check the frontend capabilities. This is done using <a class="link" href="FE_GET_INFO.html" title="ioctl FE_GET_INFO">FE_GET_INFO</a>. This ioctl will enumerate
19    the DVB API version and other characteristics about the frontend, and
20    can be opened either in read only or read/write mode.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="include_files.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="dvbapi.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="dvb-fe-read-status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">API include files </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Querying frontend status and statistics</td></tr></table></div></body></html>
21