STRUCT TUNER_RANGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

ok so like, this is struct tuner_range(9) from the Kernel API Manual, and it's literally the thing that defines the frequencies supported by the tuner πŸ’…


🌸 SYNOPSIS 🌸

struct tuner_range {
    unsigned short limit;
    unsigned char config;
    unsigned char cb;
 };

πŸŽ€ Members πŸŽ€

  • limit β€” the max frequency supported by that range, in 62.5 kHz (TV) or 62.5 Hz (Radio), as defined by V4L2_TUNER_CAP_LOW. no cap, that's the ceiling bestie 🫢
  • config β€” the value of the band switch byte (BB) you need to set up this mode ✨
  • cb β€” the value of the CB byte to set up this mode, periodt πŸ’–

πŸ¦‹ Description πŸ¦‹

okay so first thing, please notice πŸ‘€ β€” digital tuners like xc3028/xc4000/xc5000 don't use those ranges, because they're defined inside the driver itself. like, they do their own thing. this struct here is for the analog tuners that are compatible with the "Philips way" to setup the tuners 🌈

on those devices, the tuner set is done via 4 bytes:

  1. divider byte1 (DB1)
  2. divider byte 2 (DB2)
  3. Control byte (CB)
  4. band switch byte (BB)

and some tuners also have an additional optional Auxiliary byte (AB) β€” a little bonus byte, if you will πŸ™ˆ


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./include/media/tuner-types.h enum param_type(9), struct tuner_params(9), struct tunertype(9) β€” go read those next, fr fr πŸ”₯


that's the whole vibe bestie πŸ‘‘ this one lives in ./include/media and it's from the October 2026 drop, so if you're quoting it in the group chat you know exactly where it came from πŸŽ€ slay, go tune something πŸ’…βœ¨

πŸ“¦ where this page comes from