STRUCT STA_TXPWR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct sta_txpwr(9) ✨

okay so this is straight out of the Kernel API Manual bestie, and it's all about struct sta_txpwr β€” the glow-up page for station txpower configuration πŸ’…


🌸 NAME 🌸

struct sta_txpwr β€” station txpower configuration ✨

like literally, that's the whole vibe: it's the struct that holds how much transmit power a station gets 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct sta_txpwr {
    s16 power;
    enum nl80211_tx_power_setting type;
 };

that's it. two members. iconic, minimal, no notes πŸ‘‘


πŸ’– Members πŸ’–

  • power β€” the tx power (in dBm) that gets used for sending data traffic πŸ“Ά no cap. and here's the little plot twist: if tx power is not provided, the default per-interface tx power setting will be overriding. so the driver should be picking up the lowest tx power β€” either the per-interface one or the per-station one. lowest wins, periodt πŸ”₯
  • type β€” this is the TPC type situation, and it changes everything. in particular, if the TPC type is NL80211_TX_POWER_LIMITED then the tx power will be less than or equal to whatever was specified from userspace πŸ™‚β€β†•οΈ. whereas if the TPC type is NL80211_TX_POWER_AUTOMATIC then it indicates default tx power ✨. and bestie, listen β€” NL80211_TX_POWER_FIXED is not a valid configuration option for per peer TPC 😭 that one's a no-go, don't try it πŸ’€
fr fr read that type bullet twice, the NL80211_TX_POWER_FIXED thing is a real "not me finding out the hard way" moment πŸ™ˆ

πŸ¦‹ Description πŸ¦‹

used to configure txpower for station πŸ’œ that's the whole job. she configures, she slays, she moves on 🌈


more parts incoming, don't go anywhere 🧚

πŸ¦‹ SEE ALSO πŸ¦‹

okay bestie, this is the part where we hand you the whole friend group πŸ’… β€” every single cross-reference, no skips, no "etc." (iykyk). Buckle up, it's a long group chat.

πŸŽ€ the origin story

  • kernel file ./include/net/cfg80211.h β€” like, the actual header where all this lives, the main character source file ✨
  • Introduction(9)
  • Device registration(9)

πŸ“‘ channels, rates & the basic enums

  • enum ieee80211_channel_flags(9)
  • struct ieee80211_channel(9)
  • enum ieee80211_rate_flags(9)
  • enum ieee80211_bss_type(9)
  • enum ieee80211_privacy(9)
  • struct ieee80211_rate(9)

🌈 HE / EHT / UHR cap energy

πŸ› οΈ actions & configuration (the chandef saga)

πŸ“Ά AP settings, stations, rates & SAR (a whole vibe)

  • enum survey_info_flags(9)
  • struct survey_info(9)
  • struct cfg80211_crypto_settings(9)
  • struct cfg80211_mbssid_config(9)
  • struct cfg80211_mbssid_elems(9)
  • struct cfg80211_rnr_elems(9)
  • struct cfg80211_beacon_data(9)
  • struct cfg80211_acl_data(9)
  • struct cfg80211_fils_discovery(9)
  • struct cfg80211_unsol_bcast_probe_resp(9)
  • struct cfg80211_s1g_short_beacon(9)
  • struct cfg80211_ap_settings(9)
  • struct cfg80211_ap_update(9)
  • struct cfg80211_csa_settings(9)
  • struct cfg80211_color_change_settings(9)
  • struct iface_combination_params(9)
  • enum station_parameters_apply_mask(9)
  • struct link_station_parameters(9)
  • struct link_station_del_parameters(9)
  • struct cfg80211_ttlm_params(9)
  • struct station_parameters(9)
  • struct station_del_parameters(9)
  • enum cfg80211_station_type(9)
  • cfg80211_check_station_change(9)
  • enum rate_info_flags(9)
  • enum rate_info_bw(9)
  • struct rate_info(9)
  • enum bss_param_flags(9)
  • struct sta_bss_parameters(9)
  • struct cfg80211_txq_stats(9)
  • struct cfg80211_tid_stats(9)
  • struct link_station_info(9)
  • struct station_info(9)
  • struct cfg80211_sar_sub_specs(9)
  • struct cfg80211_sar_specs(9)
  • struct cfg80211_sar_freq_ranges(9)
  • struct cfg80211_sar_capa(9)
  • cfg80211_get_station(9)
  • enum monitor_flags(9)
  • enum mpath_info_flags(9)
  • struct mpath_info(9)
  • enum wiphy_bss_param_flags(9)
  • struct bss_parameters(9)
  • struct mesh_config(9)
  • struct mesh_setup(9)
  • struct ocb_setup(9)
  • struct ieee80211_txq_params(9)

πŸ” scanning & BSS list handling (the hunt)

  • 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, wiphy & the whole struct universe

  • 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)
  • struct cfg80211_ops(9)
  • enum wiphy_flags(9)
  • struct ieee80211_iface_limit(9)
  • struct ieee80211_iface_combination(9)
  • enum wiphy_wowlan_support_flags(9)
  • struct wiphy_wowlan_support(9)
  • struct wiphy_coalesce_support(9)
  • enum wiphy_vendor_command_flags(9)
  • enum wiphy_opmode_flag(9)
  • struct sta_opmode_info(9)
  • struct wiphy_vendor_command(9)
  • struct wiphy_iftype_ext_capab(9)
  • cfg80211_get_iftype_ext_capa(9)
  • struct cfg80211_pmsr_capabilities(9)
  • struct wiphy_iftype_akm_suites(9)
  • struct wiphy_radio_cfg(9)
  • struct wiphy_radio_freq_range(9)
  • struct wiphy_radio(9)
  • enum wiphy_nan_flags(9)
  • struct wiphy_nan_capa(9)
  • struct wiphy(9)

πŸ‘‘ wiphy + wireless_dev helpers (the backstage pass)

✨ utility functions (little helpers that ate)

πŸ“ data path helpers (packets, but make it fashion)

🌸 regulatory enforcement (rules are rules, bestie)

πŸ’œ scan / BSS / MLME notifications (the gossip channel)

πŸ”₯ rfkill, vendor commands & test mode

🫢 connect / roam / station notifications (the rest of the family)

…okay and the list just keeps going, bestie 😭 because of course it does. Buckle in, we're doing the rest of the cross-references in themed little clusters so your brain doesn't melt 🫢

πŸ’… the regulatory / channel-switch girlies

✨ tdls, bitrate & netdevice registration core

πŸŽ€ ft event, p2p & IE splitting

🌸 wowlan, crit proto & channel counting

πŸ¦‹ radio idx, stopping things & shutdown

πŸ’œ wiphy extended features

🧚 NAN core stuff

🌈 external auth & pmsr

⭐ iftype, assoc comeback & owe

πŸ“ bss flush & the whole colour-change saga

πŸ”₯ channels check & epcs

🌸 more NAN (yes, more)

πŸŽ€ debugfs duo

πŸ’œ S1G helpers

🌈 last but never least


aaaaaaaaand that's a wrap on struct sta_txpwr(9) πŸŽ€ this lil beauty lives in ./include/net and she's dated October 2026 β€” go forth and read the source, you absolute legend πŸ‘‘πŸ’–

πŸ“¦ where this page comes from