STRUCT IWL_POWERTABLE_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_powertable_cmd(9)

okay bestie, buckle up β€” we're in the Kernel API Manual today and this one is literally the legacy power command 🫢. Beside old API support, this is used also with a new power API for device wide power settings. also she has a command id: POWER_TABLE_CMD = 0x77 (command, has simple generic response) ✨


✨ SYNOPSIS ✨

like, here's the whole struct, exactly, no cap:

struct iwl_powertable_cmd {
    __le16 flags;
    u8 keep_alive_seconds;
    u8 debug_flags;
    __le32 rx_data_timeout;
    __le32 tx_data_timeout;
    __le32 sleep_interval[IWL_POWER_VEC_SIZE];
    __le32 skip_dtim_periods;
    __le32 lprx_rssi_threshold;
 };

πŸŽ€ Members πŸŽ€

  • flags β€” power table command flags, and they come from POWER_FLAGS_* πŸ‘‘ that's the whole vibe.
  • keep_alive_seconds β€” keep alive period in seconds, fr fr. default is 25 sec. minimum allowed is 3 * DTIM. and listen β€” keep alive period must be set regardless of power scheme or current power state, no exceptions πŸ’€. also FW use this value also when PM is disabled, so yeah she matters.
  • debug_flags β€” debug flags. that's it. that's the whole description πŸ™ˆ
  • rx_data_timeout β€” minimum time (usec) from last Rx packet for AM to PSM transition β€” legacy PM πŸ¦‹
  • tx_data_timeout β€” minimum time (usec) from last Tx packet for AM to PSM transition β€” legacy PM 🌸 (yes twin, same energy as the rx one, just the other direction)
  • sleep_interval β€” not in use. she's just sitting there, iconic but unemployed πŸ’…
  • skip_dtim_periods β€” number of DTIM periods to skip if Skip over DTIM flag is set. example time: if it is required to skip over one DTIM, this value need to be set to 2 (DTIM periods) ⭐ like yes, 2, not 1, don't come for me.
  • lprx_rssi_threshold β€” signal strength up to which LP RX can be enabled. Default: 80dbm πŸ”₯

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/power.h β€” and honestly the whole friend group is here, so let's give them their moment πŸ’–:

  • enum iwl_ltr_config_flags(9)
  • struct iwl_ltr_config_cmd_v1(9)
  • struct iwl_ltr_config_cmd(9)
  • enum iwl_power_flags(9)
  • enum iwl_device_power_flags(9)
  • struct iwl_device_power_cmd(9)
  • struct iwl_mac_power_cmd_v2(9)
  • struct iwl_mac_power_cmd(9)
  • struct iwl_dev_tx_power_common(9)
  • struct iwl_dev_tx_power_cmd_v3(9)
  • struct iwl_dev_tx_power_cmd_v4(9)
  • struct iwl_dev_tx_power_cmd_v5(9)
  • struct iwl_dev_tx_power_cmd_v8(9)
  • struct iwl_dev_tx_power_cmd_v3_v8(9)
  • struct iwl_dev_tx_power_cmd_v9(9)
  • struct iwl_dev_tx_power_cmd_v10(9)
  • enum iwl_geo_per_chain_offset_operation(9)
  • struct iwl_per_chain_offset(9)
  • struct iwl_geo_tx_power_profiles_cmd_v1(9)
  • struct iwl_geo_tx_power_profiles_cmd_v2(9)
  • struct iwl_geo_tx_power_profiles_cmd_v3(9)
  • struct iwl_geo_tx_power_profiles_cmd_v4(9)
  • struct iwl_geo_tx_power_profiles_cmd_v5(9)
  • struct iwl_geo_tx_power_profiles_cmd_v6(9)
  • struct iwl_geo_tx_power_profiles_resp(9)
  • enum iwl_ppag_flags(9)
  • union iwl_ppag_table_cmd(9)
  • struct iwl_sar_offset_mapping_cmd(9)
  • struct iwl_beacon_filter_cmd(9)
  • struct iwl_txpower_constraints_cmd(9)

and that's the page, bestie πŸ§šπŸ’œ mwah. this came from ./drivers/net/wireless/intel/i..., dated October 2026 β€” so mark your calendar, the power table is booked and busy πŸ‘‘βœ¨

πŸ“¦ where this page comes from