Wifi power management - not supported?

iwconfig wlan0 power on
Error for wireless request "Set Power Management" (8B2C) :
    SET failed on device wlan0 ; Operation not permitted.

Otherwise which option is supported for lowering tx power of the devkit wifi card?

The operation not permitted is mostly from the vendor driver.

And they do no allow to change it. For such case, we cannot provide help either.

@WayneWWW

Thank you for your reply,
However ,according to official Intel representative response:


In this case, we don't limit power management with
 the drivers on Linux due to us only releasing drivers for Windows* 
systems. Drivers for Linux* systems will depend on the distribution 
you are using and the releases the distro has made for the devices. 





Regards, 



Josue O.  

Intel Customer Support Technician

from https://community.intel.com/t5/Wireless/intel-8265-power-management-Linux/

It is not possible to support what you want here from us. You should check some resource over the linux community.

For example, check something here.

https://bbs.archlinux.org/viewtopic.php?id=182053

@WayneWWW
Thank you for following up.
The issue seems exist due wifi intensivity so it interferes with GPS signal, that is why it is investigated how to decrease the wifi transmit power.
However as per the url above they seem somehow managed to do it for different card, after selecting the kernel moduoe then passing parameters to it. Could you clarify which exactly is teh wifi driver kernel module to list its parameters, please? as in

List the possible parameters with
Code:
/sbin/modinfo ath9k
then
Code:
modprobe -r ath9k
followed by
Code:
modprobe ath9k ps_enable=1
(A quick look at recent drivers/net/wireless/ath/ath9k/init.c indicates that should be the right name -- I'm running an older kernel.)

Keep in mind any wifi issues you may experience could be caused by forcing this setting. You can make this change permanent by creating /etc/modprobe.d/ath9kps.conf containing
Code:
options ath9k ps_enable=1

What I can see loaded is

lsmod
Module                  Size  Used by
xt_conntrack            3609  1
fuse                  104554  3
ipt_MASQUERADE          2346  1
nf_nat_masquerade_ipv4     3111  1 ipt_MASQUERADE
nf_conntrack_netlink    29413  0
nfnetlink               7959  2 nf_conntrack_netlink
xt_addrtype             3670  2
iptable_filter          2481  1
iptable_nat             2882  1
nf_conntrack_ipv4      11992  2
nf_defrag_ipv4          1836  1 nf_conntrack_ipv4
nf_nat_ipv4             6712  1 iptable_nat
nf_nat                 20406  2 nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_conntrack          106659  6 nf_conntrack_ipv4,nf_conntrack_netlink,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat
br_netfilter           16216  0
overlay                48718  0
bnep                   16562  2
rtk_btusb              63987  0
btusb                  40277  0
btrtl                   7318  1 btusb
btbcm                   8808  1 btusb
btintel                10771  1 btusb
userspace_alert         5828  0
rtl8822ce            3342355  0
cfg80211              591474  1 rtl8822ce
binfmt_misc            13103  1
nvgpu                1589200  18
ip_tables              19441  2 iptable_filter,iptable_nat
x_tables               28951  5 ip_tables,iptable_filter,ipt_MASQUERADE,xt_addrtype,xt_conntrack

from them which module to try to approach for listing the options?
Is the following the correct kernel module to approach for the tx pwer option on the default devkit board with default wifi from intel?
why it is realtek named though?

sudo modinfo rtl8822ce 
filename:       /lib/modules/4.9.253-tegra/kernel/drivers/net/wireless/realtek/rtl8822ce/rtl8822ce.ko
version:        v5.7.3_nv_36068.20191230_COEX20190531-0e0e
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
srcversion:     070DD76B989314D37DC29FA
alias:          pci:v000010ECd0000C822sv*sd*bc*sc*i*
depends:        cfg80211
intree:         Y
vermagic:       4.9.253-tegra SMP preempt mod_unload modversions aarch64
parm:           rtw_la_mode_en:int
parm:           rtw_wireless_mode:int
parm:           rtw_ips_mode:The default IPS mode (int)
parm:           rtw_lps_level:The default LPS level (int)
parm:           rtw_lps_chk_by_tp:int
parm:           rtw_max_bss_cnt:int
parm:           rtw_usb_rxagg_mode:int
parm:           rtw_dynamic_agg_enable:int
parm:           rtw_drv_log_level:set log level when insert driver module, default log level is _DRV_INFO_ = 4 (uint)
parm:           rtw_tx_aclt_flags:device TX AC queue packet lifetime control flags (uint)
parm:           rtw_tx_aclt_conf_default:device TX AC queue lifetime config for default status (array of uint)
parm:           rtw_tx_aclt_conf_ap_m2u:device TX AC queue lifetime config for AP mode M2U status (array of uint)
parm:           rtw_tx_bw_mode:The max tx bw for 2.4G and 5G. format is the same as rtw_bw_mode (uint)
parm:           rtw_rx_ampdu_sz_limit_1ss:RX AMPDU size limit for 1SS link of each BW, 0xFF: no limitation (array of uint)
parm:           rtw_rx_ampdu_sz_limit_2ss:RX AMPDU size limit for 2SS link of each BW, 0xFF: no limitation (array of uint)
parm:           rtw_rx_ampdu_sz_limit_3ss:RX AMPDU size limit for 3SS link of each BW, 0xFF: no limitation (array of uint)
parm:           rtw_rx_ampdu_sz_limit_4ss:RX AMPDU size limit for 4SS link of each BW, 0xFF: no limitation (array of uint)
parm:           rtw_vht_enable:int
parm:           rtw_vht_rx_mcs_map:VHT RX MCS map (uint)
parm:           rtw_rf_config:int
parm:           rtw_country_code:The default country code (in alpha2) (charp)
parm:           rtw_channel_plan:The default chplan ID when rtw_alpha2 is not specified or valid (int)
parm:           rtw_excl_chs:exclusive channel array (array of uint)
parm:           rtw_btcoex_enable:BT co-existence on/off, 0:off, 1:on, 2:by efuse (int)
parm:           rtw_ant_num:Antenna number setting, 0:by efuse (int)
parm:           rtw_qos_opt_enable:int
parm:           ifname:The default name to allocate for first interface (charp)
parm:           if2name:The default name to allocate for second interface (charp)
parm:           rtw_wowlan_sta_mix_mode:int
parm:           rtw_pwrtrim_enable:int
parm:           rtw_initmac:charp
parm:           rtw_special_rf_path:int
parm:           rtw_chip_version:int
parm:           rtw_rfintfs:int
parm:           rtw_lbkmode:int
parm:           rtw_network_mode:int
parm:           rtw_channel:int
parm:           rtw_mp_mode:int
parm:           rtw_wmm_enable:int
parm:           rtw_uapsd_max_sp:int
parm:           rtw_uapsd_ac_enable:int
parm:           rtw_wmm_smart_ps:int
parm:           rtw_vrtl_carrier_sense:int
parm:           rtw_vcs_type:int
parm:           rtw_busy_thresh:int
parm:           rtw_ht_enable:int
parm:           rtw_bw_mode:int
parm:           rtw_ampdu_enable:int
parm:           rtw_rx_stbc:int
parm:           rtw_rx_ampdu_amsdu:int
parm:           rtw_tx_ampdu_amsdu:int
parm:           rtw_quick_addba_req:int
parm:           rtw_beamform_cap:int
parm:           rtw_lowrate_two_xmit:int
parm:           rtw_power_mgnt:int
parm:           rtw_smart_ps:int
parm:           rtw_low_power:int
parm:           rtw_wifi_spec:int
parm:           rtw_full_ch_in_p2p_handshake:int
parm:           rtw_antdiv_cfg:int
parm:           rtw_antdiv_type:int
parm:           rtw_drv_ant_band_switch:int
parm:           rtw_single_ant_path:int
parm:           rtw_switch_usb_mode:int
parm:           rtw_enusbss:int
parm:           rtw_hwpdn_mode:int
parm:           rtw_hwpwrp_detect:int
parm:           rtw_hw_wps_pbc:int
parm:           rtw_check_hw_status:int
parm:           rtw_pci_aspm_enable:int
parm:           rtw_max_roaming_times:The max roaming times to try (uint)
parm:           rtw_mc2u_disable:int
parm:           rtw_advnace_ota:int
parm:           rtw_notch_filter:0:Disable, 1:Enable, 2:Enable only for P2P (uint)
parm:           rtw_hiq_filter:0:allow all, 1:allow special, 2:deny all (uint)
parm:           rtw_adaptivity_en:0:disable, 1:enable (uint)
parm:           rtw_adaptivity_mode:0:normal, 1:carrier sense (uint)
parm:           rtw_adaptivity_th_l2h_ini:th_l2h_ini for Adaptivity (int)
parm:           rtw_adaptivity_th_edcca_hl_diff:th_edcca_hl_diff for Adaptivity (int)
parm:           rtw_amplifier_type_2g:BIT3:2G ext-PA, BIT4:2G ext-LNA (uint)
parm:           rtw_amplifier_type_5g:BIT6:5G ext-PA, BIT7:5G ext-LNA (uint)
parm:           rtw_RFE_type:default init value:64 (uint)
parm:           rtw_powertracking_type:default init value:64 (uint)
parm:           rtw_GLNA_type:default init value:0 (uint)
parm:           rtw_TxBBSwing_2G:default init value:0xFF (uint)
parm:           rtw_TxBBSwing_5G:default init value:0xFF (uint)
parm:           rtw_OffEfuseMask:default open Efuse Mask value:0 (uint)
parm:           rtw_FileMaskEfuse:default drv Mask Efuse value:0 (uint)
parm:           rtw_rxgain_offset_2g:default RF Gain 2G Offset value:0 (uint)
parm:           rtw_rxgain_offset_5gl:default RF Gain 5GL Offset value:0 (uint)
parm:           rtw_rxgain_offset_5gh:uint
parm:           rtw_rxgain_offset_5gm:default RF Gain 5GM Offset value:0 (uint)
parm:           rtw_pll_ref_clk_sel:force pll_ref_clk_sel, 0xF:use autoload value (uint)
parm:           rtw_tx_pwr_by_rate:0:Disable, 1:Enable, 2: Depend on efuse (int)
parm:           rtw_tx_pwr_lmt_enable:0:Disable, 1:Enable, 2: Depend on efuse (int)
parm:           rtw_target_tx_pwr_2g_a:2.4G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_b:2.4G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_c:2.4G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_d:2.4G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_a:5G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_b:5G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_c:5G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_d:5G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_tsf_update_pause_factor:num of bcn intervals to stay TSF update pause status (int)
parm:           rtw_tsf_update_restore_factor:num of bcn intervals to stay TSF update restore status (int)
parm:           rtw_phy_file_path:The path of phy parameter (charp)
parm:           rtw_load_phy_file:PHY File Bit Map (int)
parm:           rtw_decrypt_phy_file:Enable Decrypt PHY File (int)
parm:           rtw_phydm_ability:uint
parm:           rtw_halrf_ability:uint
parm:           rtw_en_napi:int
parm:           rtw_en_gro:int
parm:           rtw_iqk_fw_offload:int
parm:           rtw_ch_switch_offload:int
parm:           rtw_en_tdls:int
parm:           rtw_8822c_xcap_overwrite:uint

Thanks

I hope you could understand that these things are vendor drivers. They are not maintained by us.

So things to clarify here.

What is the exact card you are using? You should check if that kind of card has similar discussion in linux community.
I don’t actually check what was that in the post. They are just having the same error log so I pasted it here.

thank you for your reply

  • using the default nx devkit card

  • trying to reduce the transmit power to reduce interference of signal with other sensors

I just want to double confirm. Are you sure this is “default NX devkit wifi card”? Because I remember the one that came along with the NX devkit is not Intel 8265. It is Realtek RTL8822BE AW-CB295NF.

@WayneWWW
Thank you for the clarification.
It seems I should check options for RTL8822BE AW-CB295NF. as I am dealing with the default nx jetson devkit unit
Here I can see a post stating that there is built-in wifi module on nx devkit? Datasheet for wifi card of NX devkit

kayccc
Moderator
May 4
There is no built-in wifi module on NX devkit, please find the support wifi module info from Jetson Xavier NX Supported Component List 8

Please just ignore it. Probably a mistake. Let your lspci tell you the result instead of any people here…We don’t actually know what is mounted on your board now.

thanks

 lspci
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad1 (rev a1)
0004:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c822
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
0005:01:00.0 Non-Volatile memory controller: Sandisk Corp Device 5009 (rev 01)

Yes, should be Realtek card, lspci -vvv may tell the driver in use. The rest of part is whether that driver supports what you want.

The other [AGX] devkit that has intel 8265 supports the power management

wlan0     IEEE 802.11  ESSID:"--------"  
          Mode:Managed  Frequency:2.472 GHz  Access Point: ---------- 
          Bit Rate=65 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=47/70  Signal level=-63 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:296   Missed beacon:0

on nx devkit


0004:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c822
	Subsystem: AzureWave Device 3751
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 555
	Region 0: I/O ports at 1000 [size=256]
	Region 2: Memory at 1740000000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: rtl88x2ce
	Kernel modules: rtl8822ce

seems the driver used is rtl8822ce
so some of these parameters probably could be used to decrease the power

parm:           rtw_target_tx_pwr_2g_a:2.4G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_b:2.4G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_c:2.4G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_2g_d:2.4G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_a:5G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_b:5G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_c:5G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined (array of int)
parm:           rtw_target_tx_pwr_5g_d:5G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined (array of int)

If the assumption is correct then maybe some command like the following will do

 modprobe rtl8822ce rtw_target_tx_pwr_5g_a=[ some specific value of list of calibrated values?]

probably this should work, but seems it has no impact if I fire up the command

sudo modprobe rtl8822ce rtw_power_mgnt=1

In general folks seem having the power management enabled e.g. with kali linux with the same driver as per

https://unix.stackexchange.com/questions/638601/wifi-keeps-timing-out-rtl8822ce

that has

Bit Rate=104 Mb/s   Tx-Power=20 dBm   
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Power Management:on

But it doens’t seme the case on tegra linux though
ref: how to enable power management? arm8[aarch64] tegra linux [ubuntu 18.04] how to change transmit power to lower? · Issue #6 · rtlwifi-linux/rtk_wifi_driver_rtl8822ce · GitHub

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.