STRUCT BRCMF_PNO_PARAM_LE(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… struct brcmf_pno_param_le(9) โ€” like, the PNO scan config tea โ˜•โœจ

okay so bestie, grab ur iced coffee ๐Ÿ“ because we're diving into the Kernel API Manual and this one is literally called struct brcmf_pno_param_le โ€” it's the struct that holds all the PNO scan configuration parameters ๐ŸŽ€. yes. that's the whole vibe. let's get into it ๐Ÿ’–


โœจ SYNOPSIS โœจ

okay so here's the shape of it, and ngl it's giving "a lot of __le32s" but we love her anyway ๐Ÿซถ:

struct brcmf_pno_param_le {
    __le32 version;
    __le32 scan_freq;
    __le32 lost_network_timeout;
    __le16 flags;
    __le16 rssi_margin;
    u8 bestn;
    u8 mscan;
    u8 repeat;
    u8 exp;
    __le32 slow_freq;
 };

like, look at that little trailing }; with the extra space โ€” iconic, no notes ๐Ÿ’€


๐ŸŒธ Members ๐ŸŒธ (the cast, the main characters)

  • version โ€” the PNO parameters version. that's it, that's her job. keeping track of which version of the params we're looking at ๐Ÿ‘‘
  • scan_freq โ€” the scan frequency. how often we're out here scanning, fr fr ๐Ÿ”ฅ
  • lost_network_timeout โ€” measured in #sec., this is how long it takes before a discovered network gets declared as lost ๐Ÿ˜ญ like sorry babe, we didn't see you in time, you're gone now ๐Ÿ’”
  • flags โ€” a bit field that controls features of PFN, such as the sort criteria auto enable switch and background scan. it's the little switchboard of the whole operation, highkey powerful ๐ŸŽ›๏ธโœจ
  • rssi_margin โ€” the margin that avoids jitter when choosing a PFN based on the RSSI sort criteria. she's the chill friend who stops everyone from flip-flopping every two seconds, we stan ๐Ÿงš
  • bestn โ€” the number of best networks in each scan. the elite little lineup ๐Ÿ‘‘๐Ÿ’…
  • mscan โ€” the number of scans recorded. receipts. we keep them ๐Ÿ“
  • repeat โ€” the minimum number of scan intervals before the scan frequency changes in an adaptive scan. like, give it a minute before you switch up the whole strategy okay ๐Ÿ™ˆ
  • exp โ€” exponent of 2 for the maximum scan interval. math babe ๐Ÿงฎโœจ
  • slow_freq โ€” the slow scan period. the slow girlie of the scan world, she takes her time ๐ŸŒธ๐Ÿฆ‹

๐Ÿ’œ SEE ALSO ๐Ÿ’œ

so like, this struct does NOT live alone, she has a whole friend group in the Kernel file ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h โ€” go say hi to the rest of the brcmf fam ๐Ÿซถ:

  • struct brcmf_wsec_pmk_le(9)
  • struct brcmf_wsec_sae_pwd_le(9)
  • struct brcmf_fil_wowl_pattern_le(9)
  • struct brcmf_fil_country_le(9)
  • struct brcmf_rev_info_le(9)
  • struct brcmf_wlc_version_le(9)
  • struct brcmf_assoclist_le(9)
  • struct brcmf_rssi_be(9)
  • struct brcmf_wowl_wakeind_le(9)
  • struct brcmf_pmksa(9)
  • struct brcmf_pmksa_v2(9)
  • struct brcmf_pmksa_v3(9)
  • struct brcmf_pmk_list_le(9)
  • struct brcmf_pmk_list_v2_le(9)
  • struct brcmf_pmk_op_v3_le(9)
  • struct brcmf_pno_config_le(9)
  • struct brcmf_pno_net_param_le(9)
  • struct brcmf_pno_net_info_le(9)
  • struct brcmf_pno_scanresults_le(9)
  • struct brcmf_pno_macaddr_le(9)
  • struct brcmf_dload_data_le(9)
  • struct brcmf_pno_bssid_le(9)
  • struct brcmf_pktcnt_le(9)
  • struct brcmf_gtk_keyinfo_le(9)
  • struct brcmf_gscan_bucket_config(9)
  • enum brcmf_gscan_cfg_flags(9)
  • struct brcmf_gscan_config(9)
  • struct brcmf_mkeep_alive_pkt_le(9)
real talk: notice how the file path got cut off in the footer as ./drivers/net/wireless/broadco... โ€” that's just how it showed up, no cap, i'm not fixing it, that's the source's business ๐Ÿ’€

and that's the whole page bestie!! ๐Ÿ’– this came from the Kernel API Manual, dated October 2026 ๐ŸŒˆ โ€” and the footer source path was, as mentioned, ./drivers/net/wireless/broadco... (truncated, rip โœ‚๏ธ). go forth and configure ur PNO scans, periodt ๐Ÿ’…โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from