STRUCT DTV_FRONTEND_PROPERTIES(9)
π struct dtv_frontend_properties(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this one's all about struct dtv_frontend_properties, and honestly? it's kind of a big deal. π
πΈ NAME πΈ
struct dtv_frontend_properties β the icon herself π, a struct that contains a list of properties that are specific to a digital TV standard. like, every vibe a DTV signal could possibly have, all in one place. periodt. π
β¨ SYNOPSIS β¨
struct dtv_frontend_properties {
u32 frequency;
enum fe_modulation modulation;
enum fe_sec_voltage voltage;
enum fe_sec_tone_mode sectone;
enum fe_spectral_inversion inversion;
enum fe_code_rate fec_inner;
enum fe_transmit_mode transmission_mode;
u32 bandwidth_hz;
enum fe_guard_interval guard_interval;
enum fe_hierarchy hierarchy;
u32 symbol_rate;
enum fe_code_rate code_rate_HP;
enum fe_code_rate code_rate_LP;
enum fe_pilot pilot;
enum fe_rolloff rolloff;
enum fe_delivery_system delivery_system;
enum fe_interleaving interleaving;
u8 isdbt_partial_reception;
u8 isdbt_sb_mode;
u8 isdbt_sb_subchannel;
u32 isdbt_sb_segment_idx;
u32 isdbt_sb_segment_count;
u8 isdbt_layer_enabled;
struct {
u8 segment_count;
enum fe_code_rate fec;
enum fe_modulation modulation;
u8 interleaving;
} layer[3];
u32 stream_id;
u32 scrambling_sequence_index;
u8 atscmh_fic_ver;
u8 atscmh_parade_id;
u8 atscmh_nog;
u8 atscmh_tnog;
u8 atscmh_sgn;
u8 atscmh_prc;
u8 atscmh_rs_frame_mode;
u8 atscmh_rs_frame_ensemble;
u8 atscmh_rs_code_mode_pri;
u8 atscmh_rs_code_mode_sec;
u8 atscmh_sccc_block_mode;
u8 atscmh_sccc_code_mode_a;
u8 atscmh_sccc_code_mode_b;
u8 atscmh_sccc_code_mode_c;
u8 atscmh_sccc_code_mode_d;
u32 lna;
struct dtv_fe_stats strength;
struct dtv_fe_stats cnr;
struct dtv_fe_stats pre_bit_error;
struct dtv_fe_stats pre_bit_count;
struct dtv_fe_stats post_bit_error;
struct dtv_fe_stats post_bit_count;
struct dtv_fe_stats block_error;
struct dtv_fe_stats block_count;
};
likeβ¦ look at all those fields. she's thriving. π¦
π MEMBERS π
okay, going through every single one of these, no skips, no cap π«Ά
frequencyβ frequency in Hz for terrestrial/cable or in kHz for Satellite. yes, the units CHANGE depending on what you're tuning, so pay attention bestie πmodulationβ Frontend modulation type β¨voltageβ SEC voltage (only Satellite)sectoneβ SEC tone mode (only Satellite)inversionβ Spectral inversionfec_innerβ Forward error correction inner Code Ratetransmission_modeβ Transmission Modebandwidth_hzβ Bandwidth, in Hz. A zero value means that userspace wants to autodetect. πguard_intervalβ Guard Intervalhierarchyβ Hierarchysymbol_rateβ Symbol Ratecode_rate_HPβ high priority stream code ratecode_rate_LPβ low priority stream code ratepilotβ Enable/disable/autodetect pilot tonesrolloffβ Rolloff factor (alpha)delivery_systemβ FE delivery system (e. g. digital TV standard). this is the main character of the whole struct ngl πinterleavingβ interleavingisdbt_partial_receptionβ ISDB-T partial reception (only ISDB standard)isdbt_sb_modeβ ISDB-T Sound Broadcast (SB) mode (only ISDB standard)isdbt_sb_subchannelβ ISDB-T SB subchannel (only ISDB standard)isdbt_sb_segment_idxβ ISDB-T SB segment index (only ISDB standard)isdbt_sb_segment_countβ ISDB-T SB segment count (only ISDB standard)isdbt_layer_enabledβ ISDB Layer enabled (only ISDB standard)layerβ ISDB per-layer data (only ISDB standard)layer.segment_countβ Segment Count;layer.fecβ per layer code rate;layer.modulationβ per layer modulation;layer.interleavingβ per layer interleaving.
stream_idβ If different than zero, enable substream filtering, if hardware supports (DVB-S2 and DVB-T2). note the "if hardware supports" β that's not a guarantee, bestie πscrambling_sequence_indexβ Carries the index of the DVB-S2 physical layer scrambling sequence.atscmh_fic_verβ Version number of the FIC (Fast Information Channel) signaling data (only ATSC-M/H)atscmh_parade_idβ Parade identification number (only ATSC-M/H)atscmh_nogβ Number of MH groups per MH subframe for a designated parade (only ATSC-M/H)atscmh_tnogβ Total number of MH groups including all MH groups belonging to all MH parades in one MH subframe (only ATSC-M/H)atscmh_sgnβ Start group number (only ATSC-M/H)atscmh_prcβ Parade repetition cycle (only ATSC-M/H)atscmh_rs_frame_modeβ Reed Solomon (RS) frame mode (only ATSC-M/H)atscmh_rs_frame_ensembleβ RS frame ensemble (only ATSC-M/H)atscmh_rs_code_mode_priβ RS code mode pri (only ATSC-M/H)atscmh_rs_code_mode_secβ RS code mode sec (only ATSC-M/H)atscmh_sccc_block_modeβ Series Concatenated Convolutional Code (SCCC) Block Mode (only ATSC-M/H)atscmh_sccc_code_mode_aβ SCCC code mode A (only ATSC-M/H)atscmh_sccc_code_mode_bβ SCCC code mode B (only ATSC-M/H)atscmh_sccc_code_mode_cβ SCCC code mode C (only ATSC-M/H)atscmh_sccc_code_mode_dβ SCCC code mode D (only ATSC-M/H)lnaβ Power ON/OFF/AUTO the Linear Now-noise Amplifier (LNA). yes it literally says "Now-noise" in the source, we're keeping it verbatim, no editing, we don't touch the sacred text πstrengthβ DVBv5 API statistics: Signal Strengthcnrβ DVBv5 API statistics: Signal to Noise ratio of the (main) carrierpre_bit_errorβ DVBv5 API statistics: pre-Viterbi bit error countpre_bit_countβ DVBv5 API statistics: pre-Viterbi bit countpost_bit_errorβ DVBv5 API statistics: post-Viterbi bit error countpost_bit_countβ DVBv5 API statistics: post-Viterbi bit countblock_errorβ DVBv5 API statistics: block error countblock_countβ DVBv5 API statistics: block count
π NOTE π
- derivated statistics like Uncorrected Error blocks (UCE) are calculated on userspace. so like, that math is your problem, not the kernel's, bestie π§
- Only a subset of the properties are needed for a given delivery system. so don't come for the whole struct when you only need like three fields π
For more info, consult the
media_api.htmlwith the documentation of the Userspace API.
fr fr β read the Userspace API docs before you go poking at fields that don't apply to your delivery system. it's giving "respect the subset" energy π
π₯ SEE ALSO π₯
- Kernel file
./include/media/dvb_frontend.hstruct dvb_frontend_tune_settings(9)struct dvb_tuner_info(9)struct analog_parameters(9)enum dvbfe_algo(9)enum dvbfe_search(9)struct dvb_tuner_ops(9)struct analog_demod_info(9)struct analog_demod_ops(9)struct dvb_frontend_internal_info(9)struct dvb_frontend_ops(9)struct dvb_frontend(9)dvb_register_frontend(9)dvb_unregister_frontend(9)dvb_frontend_detach(9)dvb_frontend_suspend(9)dvb_frontend_resume(9)dvb_frontend_reinitialise(9)dvb_frontend_sleep_until(9)
aaaand that's the whole thing!! π this page lives in ./include/media, version dated October 2026, and it's titled struct dtv_f...d_properties(9) β yes the title is abbreviated with ... in the header and footer, that's just how it do π go off, king, tune that frontend, slay β¨π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms