ENUM FE_CAPS(9)
π NAME π
enum fe_caps β the frontend capabilities enum, aka the whole "what can this tuner actually do" glow-up list, bestie. This one lives in the Kernel API Manual, and it's giving pure "let me tell you what I'm capable of" energy. β¨
β¨ SYNOPSIS β¨
enum fe_caps {
FE_IS_STUPID ,
FE_CAN_INVERSION_AUTO ,
FE_CAN_FEC_1_2 ,
FE_CAN_FEC_2_3 ,
FE_CAN_FEC_3_4 ,
FE_CAN_FEC_4_5 ,
FE_CAN_FEC_5_6 ,
FE_CAN_FEC_6_7 ,
FE_CAN_FEC_7_8 ,
FE_CAN_FEC_8_9 ,
FE_CAN_FEC_AUTO ,
FE_CAN_QPSK ,
FE_CAN_QAM_16 ,
FE_CAN_QAM_32 ,
FE_CAN_QAM_64 ,
FE_CAN_QAM_128 ,
FE_CAN_QAM_256 ,
FE_CAN_QAM_AUTO ,
FE_CAN_TRANSMISSION_MODE_AUTO ,
FE_CAN_BANDWIDTH_AUTO ,
FE_CAN_GUARD_INTERVAL_AUTO ,
FE_CAN_HIERARCHY_AUTO ,
FE_CAN_8VSB ,
FE_CAN_16VSB ,
FE_HAS_EXTENDED_CAPS ,
FE_CAN_MULTISTREAM ,
FE_CAN_TURBO_FEC ,
FE_CAN_2G_MODULATION ,
FE_NEEDS_BENDING ,
FE_CAN_RECOVER ,
FE_CAN_MUTE_TS
};
Like, that's the whole roster. Every constant is a little vibe check for the hardware π
π Constants π
Okay so here's the tea on each and every one of these, no skips, no cuts π
FE_IS_STUPIDβ bestie, something is wrong at the frontend and it literally cannot report its capabilities. It's not you, it's it. πFE_CAN_INVERSION_AUTOβ can auto-detect frequency spectral band inversion β¨FE_CAN_FEC_1_2β supports FEC 1/2 π«ΆFE_CAN_FEC_2_3β supports FEC 2/3 π«ΆFE_CAN_FEC_3_4β supports FEC 3/4 π«ΆFE_CAN_FEC_4_5β supports FEC 4/5 π«ΆFE_CAN_FEC_5_6β supports FEC 5/6 π«ΆFE_CAN_FEC_6_7β supports FEC 6/7 π«ΆFE_CAN_FEC_7_8β supports FEC 7/8 π«ΆFE_CAN_FEC_8_9β supports FEC 8/9 π«ΆFE_CAN_FEC_AUTOβ can auto-detect FEC, so you don't gotta π¦FE_CAN_QPSKβ supports QPSK modulation π«FE_CAN_QAM_16β supports 16-QAM modulation βFE_CAN_QAM_32β supports 32-QAM modulation βFE_CAN_QAM_64β supports 64-QAM modulation βFE_CAN_QAM_128β supports 128-QAM modulation βFE_CAN_QAM_256β supports 256-QAM modulation βFE_CAN_QAM_AUTOβ can auto-detect QAM modulation, main character energy fr fr πFE_CAN_TRANSMISSION_MODE_AUTOβ can auto-detect transmission mode π₯FE_CAN_BANDWIDTH_AUTOβ can auto-detect bandwidth π₯FE_CAN_GUARD_INTERVAL_AUTOβ can auto-detect guard interval π₯FE_CAN_HIERARCHY_AUTOβ can auto-detect hierarchy π₯FE_CAN_8VSBβ supports 8-VSB modulation πFE_CAN_16VSBβ supports 16-VSB modulation πFE_HAS_EXTENDED_CAPSβ unused π (yes literally, it's just sitting there, iconic for doing nothing)FE_CAN_MULTISTREAMβ supports multistream filtering πΈFE_CAN_TURBO_FECβ supports "turbo FEC" modulation ποΈβ¨FE_CAN_2G_MODULATIONβ supports "2nd generation" modulation, e. g.DVB-S2,DVB-T2,DVB-C2πFE_NEEDS_BENDINGβ unused π (also just vibing, doing absolutely nothing)FE_CAN_RECOVERβ can recover from a cable unplug automatically, the way it just bounces back ππFE_CAN_MUTE_TSβ can stop spurious TS data output, silencing the chaos π€«
π SEE ALSO π
Kernel file ./include/uapi/linux/dvb/frontend.h struct dvb_frontend_info(9), struct dvb_diseqc_master_cmd(9), struct dvb_diseqc_slave_reply(9), enum fe_sec_voltage(9), enum fe_sec_tone_mode(9), enum fe_sec_mini_cmd(9), enum fe_status(9), enum fe_spectral_inversion(9), enum fe_code_rate(9), enum fe_modulation(9), enum fe_transmit_mode(9), enum fe_guard_interval(9), enum fe_hierarchy(9), enum fe_interleaving(9), enum fe_pilot(9), enum fe_rolloff(9), enum fe_delivery_system(9), enum atscmh_sccc_block_mode(9), enum atscmh_sccc_code_mode(9), enum atscmh_rs_frame_ensemble(9), enum atscmh_rs_frame_mode(9), enum atscmh_rs_code_mode(9), enum fecap_scale_params(9), struct dtv_stats(9), struct dtv_fe_stats(9), struct dtv_property(9), struct dtv_properties(9)
Go read those too, iykyk π
ngl bestie, a couple of these are literally marked unused in the source. That's not me being shady, that's just what it says. π«Ά
mwah, that's the whole page π straight from ./include/uapi/linux/dvb, dated October 2026 in the Kernel API Manual β slay, go forth and probe your frontend, periodt ππ¦β¨
π¦ 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