cfg80211_re...s_beacon_khz(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is cfg80211_report_obss_beacon_khz β€” and yes it's a whole mouthful, but it's literally the function you call to report a beacon from other APs ✨. We're in the Kernel API Manual, section 9, and this is the glow-up version of that page, bestie 🫢.


✨ SYNOPSIS ✨

void cfg80211_report_obss_beacon_khz (struct wiphy *wiphy , const u8
*frame , size_t len , int freq , int sig_dbm );

no cap, that's the whole signature β€” void, so it gives you nothing back, it just does the thing πŸ’….


πŸŽ€ ARGUMENTS πŸŽ€

  • wiphy β€” the struct wiphy that received the beacon πŸ‘‘ like, the actual radio/wiphy doing the receiving.
  • frame β€” the frame πŸ¦‹ literally just the frame itself.
  • len β€” length of the frame πŸ“.
  • freq β€” the frequency the frame was received on, in KHz ⚑ (yes, KHz β€” not MHz, don't come for me, that's what the page says).
  • sig_dbm β€” signal strength in dBm 🌸, or 0 if it's unknown πŸ™ˆ.

πŸ¦‹ DESCRIPTION πŸ¦‹

Use this function to report to userspace when a beacon was received πŸ“‘πŸ’–. That's the whole vibe β€” kernel sees a beacon, you tell userspace about it.

lowkey important: it is not useful to call this when there is no netdev that is in AP/GO mode 😭. So do a little vibe check first, bestie β€” no AP/GO netdev, no point fr fr.

it's giving "pls only call me when it actually makes sense" energy πŸŽ€βœ¨

okay bestie, fair warning: this SEE ALSO list is genuinely unhinged in length β€” it's basically the entire cfg80211 / mac80211 universe showing up to the group chat at once 😭 Every single cross-reference is here, fr fr. No skipping, no "etc." β€” we're doing all of them πŸ’…

✨ SEE ALSO ✨

First up, the source of truth itself β€” the header these pages all spill out of:

  • Kernel file ./include/net/cfg80211.h

πŸŽ€ the foundations


πŸ¦‹ actions & configuration era


🌸 scanning & BSS list handling

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

🧚 NAN, PMSR & friends (the niche girlies)

  • Neighbor Awareness Networking (NAN)(9)
  • struct cfg80211_nan_band_config(9)
  • struct cfg80211_nan_conf(9)
  • struct cfg80211_nan_channel(9)
  • struct cfg80211_nan_local_sched(9)
  • struct cfg80211_nan_peer_map(9)
  • struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9)
  • struct cfg80211_nan_func_filter(9)
  • struct cfg80211_nan_func(9)
  • struct cfg80211_pmk_conf(9)
  • struct cfg80211_external_auth_params(9)
  • struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9)
  • struct cfg80211_pmsr_result(9)
  • struct cfg80211_pmsr_ftm_request_peer(9)
  • struct cfg80211_pmsr_request_peer(9)
  • struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9)
  • struct mgmt_frame_regs(9)

πŸ‘‘ the wiphy saga (this section ate)


πŸ¦‹ utility functions (the little helpers that could)


🌈 data path helpers


πŸ’œ regulatory enforcement infrastructure


⭐ BSS / MLME notifications & co.


πŸŽ€ RFkill, vendor commands & test mode


πŸ”₯ connect / roam / disconnect lore


πŸ’… mgmt frames, control port & CQM

and that's the list, bestie β€” every single one 🫢 still more to come, don't go anywhere ✨

okay so the SEE ALSO list is still going β€” this is the rest of the squad, bestie, and yes we're listing every single one because that's just how we do it πŸ’…

  • cfg80211_reg_can_beacon
  • cfg80211_reg_can_beacon_relax
  • cfg80211_ch_switch_notify
  • cfg80211_ch_switch_started_notify
  • ieee80211_operating_class_to_band
  • ieee80211_operating_class_to_chandef
  • ieee80211_chandef_to_operating_class
  • ieee80211_chandef_to_khz
  • cfg80211_tdls_oper_request
  • cfg80211_calculate_bitrate
  • cfg80211_unregister_wdev
  • cfg80211_register_netdevice
  • cfg80211_unregister_netdevice
  • struct cfg80211_ft_event_params
  • cfg80211_ft_event
  • cfg80211_get_p2p_attr
  • ieee80211_ie_split_ric
  • ieee80211_ie_split
  • ieee80211_fragment_element
  • cfg80211_report_wowlan_wakeup
  • cfg80211_crit_proto_stopped
  • ieee80211_get_num_supported_channels
  • cfg80211_check_combinations
  • cfg80211_iter_combinations
  • cfg80211_get_radio_idx_by_chan
  • cfg80211_stop_link
  • cfg80211_stop_iface
  • cfg80211_shutdown_all_interfaces
  • wiphy_ext_feature_set
  • wiphy_ext_feature_isset
  • cfg80211_free_nan_func
  • struct cfg80211_nan_match_params
  • cfg80211_nan_match
  • cfg80211_nan_func_terminated
  • cfg80211_nan_sched_update_done
  • cfg80211_external_auth_request
  • cfg80211_pmsr_report
  • cfg80211_pmsr_complete
  • cfg80211_iftype_allowed
  • cfg80211_assoc_comeback
  • cfg80211_update_owe_info_event
  • cfg80211_bss_flush
  • cfg80211_bss_color_notify
  • cfg80211_obss_color_collision_notify
  • cfg80211_color_change_started_notify
  • cfg80211_color_change_aborted_notify
  • cfg80211_color_change_notify
  • cfg80211_6ghz_power_type
  • cfg80211_links_removed
  • struct cfg80211_mlo_reconf_done_data
  • cfg80211_mlo_reconf_add_done
  • cfg80211_schedule_channels_check
  • cfg80211_epcs_changed
  • cfg80211_next_nan_dw_notif
  • cfg80211_nan_cluster_joined
  • cfg80211_nan_ulw_update
  • cfg80211_nan_channel_evac
  • wiphy_locked_debugfs_read
  • wiphy_locked_debugfs_write
  • cfg80211_s1g_get_start_freq_khz
  • cfg80211_s1g_get_end_freq_khz
  • cfg80211_s1g_get_primary_sibling
  • cfg80211_incumbent_signal_notify

like, that's sixty-five more besties right there β€” the whole group chat, lowkey iconic 🫢 if you need any of them you know where to find them, fr fr.

and that's a wrap on the page!! this whole thing lives in ./include/net, and it's dated October 2026 β€” so yeah, future-coded of it, but the source is the source and she ate πŸ’…βœ¨ bye bestie, go read a cfg80211 function for me πŸŽ€

πŸ“¦ where this page comes from