STRUCT IEEE80211_UHR_DPS_INFO(9)
π struct ieee80211_uhr_dps_info β DPS operation information π
So bestie, we're deep in the ieee80211-uhr.h lore today and this one is literally the little struct that could. It's struct ieee80211_uhr_dps_info from the Kernel API Manual, and it's giving "one field, infinite responsibilities" energy. Iconic, honestly.
β¨ SYNOPSIS β¨
struct ieee80211_uhr_dps_info {
__le32 params;
};
Yes, that's it. One __le32. Don't let the tiny synopsis fool you β that one field is packed with SO much meaning, iykyk.
π«Ά Members π«Ά
paramsβ okay so this is the whole DPS operation parameter packed into a single__le32, and it's lowkey carrying the entire personality. It's the home of all of these sub-fields, so buckle up:- DPS Padding Delay β the minimum MAC padding duration that a DPS STA in an ICF needs in order to actually cause the STA to transition from the lower capability mode to the higher capability mode. Units?
4 Β΅s, bestie. Write that down. β±οΈ - DPS Transition Delay β the amount of time a DPS STA needs to transition from the higher capability mode back down to the lower capability mode. Also in units of
4 Β΅s. The way it goes down but also needs time to go down... relatable. π - ICF Required β tells you when the DPS assisting STA has to transmit an ICF frame to the peer DPS STA before doing the frame exchanges with that peer DPS STA in a TXOP. The values:
1β transmission of the ICF frame to the peer DPS STA prior to any frame exchange is needed. Yes ma'am. π₯0β ICF transmission before the frame exchanges with the peer DPS STA is only needed if the frame exchange is performed in the HC mode.
- Parameterized Flag β the main character of mode selection, fr fr:
0β only20 MHz,1 SS, non-HT PPDU format with the data rate of6,12, and24 Mb/sas the default mode are supported by the DPS STA in the LC mode.1β a bandwidth up to the bandwidth indicated in the LC Mode Bandwidth field, a number of spatial streams up to the NSS indicated in the LC Mode Nss field, and an MCS up to the MCS indicated in the LC Mode MCS fields are supported by the DPS STA in the LC mode as the parameterized mode. Cute and parameterized π
- LC Mode Bandwidth β the maximum bandwidth supported by the STA in the LC mode. That's the ceiling, no cap (well, literally a cap). π
- LC Mode NSS β the maximum number of spatial streams supported by the STA in the LC mode.
- LC Mode MCS β the highest MCS supported by the STA in the LC mode. Highest! Not average! π
- Mobile AP DPS Static HCM β
1β indicates that it will remain in the DPS high capability mode until the next TBTT on that link.0β otherwise. (The humble "otherwise." we love her π)
- DPS Padding Delay β the minimum MAC padding duration that a DPS STA in an ICF needs in order to actually cause the STA to transition from the lower capability mode to the higher capability mode. Units?
π Description π
This structure is the "DPS Operation Parameter field" of "UHR Operation Element" fields, exactly as described in P802.11bn_D1.3 subclause 9.4.1.87. Also, go look at Figure 9-207u β it's all laid out there, no cap. π¦
Refer to IEEE80211_UHR_DPS* for the whole family of related stuff.
π SEE ALSO π
Kernel file ./include/linux/ieee80211-uhr.h struct ieee80211_uhr_npca_info(9), enum ieee80211_uhr_dbe_oper_bw(9), ieee80211_uhr_dbe_bw_mhz(9), struct ieee80211_uhr_dbe_info(9), struct ieee80211_uhr_p_edca_info(9), enum ieee80211_uhr_dbe_max_supported_bw(9), ieee80211_uhr_capa_get_om_pu_to_us(9)
Okay but real talk: this struct lives in ./include/linux and the page is dated October 2026, so if you're reading this from a future where all of this is old news β slay, tell us how the DPS saga ends π
Later bestie!! Stay parameterized, stay in your highest capability mode, and remember: one __le32 can hold multitudes. πβ¨π
β signed off from ./include/linux, October 2026, struct ieee...uhr_dps_info(9) π§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms