Chapter 2. DVB Frontend API

Table of Contents

2.1. Frontend Data Types
2.1.1. frontend type
2.1.2. frontend capabilities
2.1.3. frontend information
2.1.4. diseqc master command
2.1.5. diseqc slave reply
2.1.6. diseqc slave reply
2.1.7. SEC continuous tone
2.1.8. SEC tone burst
2.1.9. frontend status
2.1.10. frontend parameters
2.1.11. frontend events
2.2. Frontend Function Calls
2.2.1. open()
2.2.2. close()
2.2.3. FE_READ_STATUS
2.2.4. FE_READ_BER
2.2.5. FE_READ_SNR
2.2.6. FE_READ_SIGNAL_STRENGTH
2.2.7. FE_READ_UNCORRECTED_BLOCKS
2.2.8. FE_SET_FRONTEND
2.2.9. FE_GET_FRONTEND
2.2.10. FE_GET_EVENT
2.2.11. FE_GET_INFO
2.2.12. FE_DISEQC_RESET_OVERLOAD
2.2.13. FE_DISEQC_SEND_MASTER_CMD
2.2.14. FE_DISEQC_RECV_SLAVE_REPLY
2.2.15. FE_DISEQC_SEND_BURST
2.2.16. FE_SET_TONE
2.2.17. FE_SET_VOLTAGE
2.2.18. FE_ENABLE_HIGH_LNB_VOLTAGE

The DVB frontend device controls the tuner and DVB demodulator hardware. It can be accessed through /dev/dvb/adapter0/frontend0. Data types and and ioctl definitions can be accessed by including linux/dvb/frontend.h in your application.

DVB frontends come in three varieties: DVB-S (satellite), DVB-C (cable) and DVB-T (terrestrial). Transmission via the internet (DVB-IP) is not yet handled by this API but a future extension is possible. For DVB-S the frontend device also supports satellite equipment control (SEC) via DiSEqC and V-SEC protocols. The DiSEqC (digital SEC) specification is available from Eutelsat http://www.eutelsat.org/.

Note that the DVB API may also be used for MPEG decoder-only PCI cards, in which case there exists no frontend device.