ENUM FE_CAPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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