STRUCT QLINK_CHAN_STATS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the glow-up of struct qlink_chan_stats(9) from the Kernel API Manual ✨. She's a little struct, she lives in the kernel, and she's about to tell you everything about per-channel stats. no gatekeeping here 🫢


✨ NAME ✨

struct qlink_chan_stats β€” the data for QTN_TLV_ID_CHANNEL_STATS πŸ‘‘

πŸŽ€ SYNOPSIS πŸŽ€

struct qlink_chan_stats {
    __le64 time_on;
    __le64 time_tx;
    __le64 time_rx;
    __le64 cca_busy;
    __le64 cca_busy_ext;
    __le64 time_scan;
    s8 chan_noise;
    u8 rsvd[3];
 };

like, that's the whole vibe up there ⬆️ copy it exactly, don't come for me about the spacing πŸ’€


🌸 Members 🌸

bestie these are the fields, and yes every single one matters:

  • time_on β€” how much time the radio was, like, actually operating on that channel ⏱️
  • time_tx β€” how much time the radio spent transmitting on the channel, main character energy fr fr πŸ”₯
  • time_rx β€” how much time the radio spent receiving on the channel, she's listeninggg πŸ‘‚
  • cca_busy β€” how much time the primary channel was busy 😭
  • cca_busy_ext β€” how much time the secondary channel was busy (yes there's a second one, keep up πŸ’…)
  • time_scan β€” how much radio time went into scanning on the channel πŸ¦‹
  • chan_noise β€” the channel noise, ngl she's a little noisy πŸ™ˆ

πŸ’œ Description πŸ’œ

So this struct carries per-channel statistics. That's the whole gig ✨.

But β€” and this is the important part, don't skip it β€” not all fields may be filled with valid values 🚨. Like, some of them might just be sitting there being useless, no cap. The ones that are valid get called out as valid using a bitmap of enum qlink_chan_stat πŸ‘‘. And that bitmap? It's carried separately, in a payload of QTN_TLV_ID_BITMAP. so don't go looking for it in here, she's travelling light 🧚


🌈 SEE ALSO 🌈

the kernel file is ./drivers/net/wireless/quantenna/qtnfmac/qlink.h β€” and here's the whole friend group, every single one, don't leave anyone out πŸ’–:

  • enum qlink_msg_type(9)
  • struct qlink_msg_header(9)
  • enum qlink_hw_capab(9)
  • enum qlink_driver_capab(9)
  • struct qlink_intf_info(9)
  • struct qlink_channel(9)
  • struct qlink_chandef(9)
  • struct qlink_sta_info_state(9)
  • enum qlink_sr_ctrl_flags(9)
  • struct qlink_sr_params(9)
  • enum qlink_cmd_type(9)
  • struct qlink_cmd(9)
  • struct qlink_cmd_init_fw(9)
  • struct qlink_cmd_manage_intf(9)
  • struct qlink_cmd_mgmt_frame_register(9)
  • struct qlink_cmd_frame_tx(9)
  • struct qlink_cmd_get_sta_info(9)
  • struct qlink_cmd_add_key(9)
  • struct qlink_cmd_set_def_key(9)
  • struct qlink_cmd_set_def_mgmt_key(9)
  • struct qlink_cmd_change_sta(9)
  • struct qlink_cmd_del_sta(9)
  • struct qlink_cmd_connect(9)
  • struct qlink_cmd_external_auth(9)
  • struct qlink_cmd_disconnect(9)
  • struct qlink_cmd_updown(9)
  • enum qlink_band(9)
  • struct qlink_cmd_band_info_get(9)
  • struct qlink_cmd_get_chan_stats(9)
  • enum qlink_reg_initiator(9)
  • enum qlink_user_reg_hint_type(9)
  • struct qlink_cmd_reg_notify(9)
  • enum qlink_chan_sw_flags(9)
  • struct qlink_cmd_chan_switch(9)
  • enum qlink_hidden_ssid(9)
  • struct qlink_cmd_start_ap(9)
  • struct qlink_cmd_start_cac(9)
  • struct qlink_acl_data(9)
  • enum qlink_pm_mode(9)
  • struct qlink_cmd_pm_set(9)
  • enum qlink_txpwr_op(9)
  • struct qlink_cmd_txpwr(9)
  • enum qlink_wowlan_trigger(9)
  • struct qlink_cmd_wowlan_set(9)
  • struct qlink_cmd_ndev_event(9)
  • struct qlink_cmd_ndev_changeupper(9)
  • enum qlink_scan_flags(9)
  • struct qlink_cmd_scan(9)
  • struct qlink_cmd_update_owe(9)
  • struct qlink_resp(9)
  • struct qlink_resp_init_fw(9)
  • enum qlink_dfs_regions(9)
  • struct qlink_resp_get_mac_info(9)
  • struct qlink_resp_get_hw_info(9)
  • struct qlink_resp_manage_intf(9)
  • struct qlink_resp_get_sta_info(9)
  • struct qlink_resp_band_info_get(9)
  • struct qlink_resp_get_chan_stats(9)
  • struct qlink_resp_channel_get(9)
  • struct qlink_resp_txpwr(9)
  • struct qlink_event(9)
  • struct qlink_event_sta_assoc(9)
  • struct qlink_event_sta_deauth(9)
  • struct qlink_event_bss_join(9)
  • struct qlink_event_bss_leave(9)
  • struct qlink_event_freq_change(9)
  • struct qlink_event_rxmgmt(9)
  • struct qlink_event_scan_result(9)
  • enum qlink_scan_complete_flags(9)
  • struct qlink_event_scan_complete(9)
  • struct qlink_event_radar(9)
  • struct qlink_event_external_auth(9)
  • struct qlink_event_mic_failure(9)
  • struct qlink_event_update_owe(9)
  • enum qlink_tlv_id(9)
  • enum qlink_reg_rule_flags(9)
  • struct qlink_tlv_reg_rule(9)
  • struct qlink_tlv_channel(9)
  • struct qlink_tlv_chandef(9)
  • struct qlink_tlv_ie_set(9)
  • struct qlink_tlv_ext_ie(9)
  • struct qlink_tlv_iftype_data(9)
  • enum qlink_chan_stat(9)
  • enum qlink_sta_info(9)
  • struct qlink_sta_info_rate(9)
  • struct qlink_sta_stats(9)
  • struct qlink_random_mac_addr(9)
  • struct qlink_wowlan_capab_data(9)
  • struct qlink_wowlan_support(9)

and that's the tea πŸ“ this page came from ./drivers/net/wireless/quanten..., dated October 2026, and it's the struct qlink_chan_stats(9) page πŸ’– mwah, go read your kernel headers bestie, i'm obsessed πŸ’…βœ¨

πŸ“¦ where this page comes from