My goal is to reduce tx power to 20dBm. I did exactly as described in the document AN13009. I made sure the limit list was changed as expected using:
usr/share/nxp_wireless/mlanutl mlan0 get_txpwrlimit 0
------------------------------------------------------------------------------------
Get txpwrlimit: sub_band=0x0 len=460
StartFreq: 2407
ChanWidth: 20
ChanNum: 1
Pwr:0,20,1,20,2,20,3,20,4,20,5,20,6,20,7,20,8,20,9,20,10,20,11,20
StartFreq: 2407
ChanWidth: 20
ChanNum: 2
(...)
And printed list looks good. But when I connect to WiFi network iwconfig show me Tx-Power=24 dBm. Using iw reg get I observed that country was changed from 00 to FR.
country FR: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5875 @ 80), (N/A, 13), (N/A)
(57000 - 66000 @ 2160), (N/A, 40), (N/A)
Why limited tx power is not used from prepared binary configuration txpwrlimit_cfg_8987.conf ? Is possibility to permanently limit maximum tx power and not taking regional settings ?
More details:
driver_version = SD8987----16.92.10.p210-MM5X16247.p5-GPL-(FP92)
lib/firmware/nxp/wifi_mod_para.conf
SD8987 = {
cfg80211_wext=0xf
wfd_name=p2p
max_vir_bss=1
cal_data_cfg=none
drv_mode=7
ps_mode=2
auto_ds=2
fw_name=nxp/sdiouart8987_combo_v0.bin
txpwrlimit_cfg=nxp/txpowerlimit.bin
}
Hi,
Could you please tell me the Linux version you are using?
Could you please tell me if you're still having problems with this?
Regards,
Daniel.
Hi,
I use Yocto hardknott-5.10.35-2.0.0, problem is still present. During connection to AP looks like regional Tx power limit are set. Maybe it is related to regional bit is active in driver ?
Hi,
I'm sorry for the late reply. We are still working on this.
We'll get back to you when we have an update to share.
Regards,
Daniel.
Yes, I set country back to 00 but I didn't see any diffrence with Tx-Power. I don't have debug logs from 88w8987 so dmesg show nothing about.
root@imx8mmevk:/usr/share/nxp_wireless# iw reg get
global
country FR: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
(5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
(5725 - 5875 @ 80), (N/A, 13), (N/A)
(57000 - 66000 @ 2160), (N/A, 40), (N/A)root@imx8mmevk:/usr/share/nxp_wireless# iwconfig mlan0
mlan0 IEEE 802.11-DS ESSID:"**********" [2]
Mode:Managed Frequency=2.417 GHz Access Point: **:**:**:**:**:**
Bit Rate:87 Mb/s Tx-Power=24 dBm
Retry limit:9 RTS thr=2347 B Fragment thr=2346 B
Encryption key:****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=5/5 Signal level=-47 dBm Noise level=-94 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:24446
Tx excessive retries:7 Invalid misc:8 Missed beacon:0
root@imx8mmevk:/usr/share/nxp_wireless# iw reg set 00
root@imx8mmevk:/usr/share/nxp_wireless# iw reg get
global
country 98: DFS-UNSET
(2402 - 2472 @ 40), (N/A, 20), (N/A)
(2457 - 2482 @ 25), (N/A, 20), (N/A), PASSIVE-SCAN
(2474 - 2483 @ 9), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 80), (N/A, 20), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN
(5250 - 5330 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW, PASSIVE-SCAN
(5490 - 5725 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
(5725 - 5730 @ 5), (N/A, 13), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (N/A, 13), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)root@imx8mmevk:/usr/share/nxp_wireless# iwconfig mlan0
mlan0 IEEE 802.11-DS ESSID:"**********" [3]
Mode:Managed Frequency=2.417 GHz Access Point: **:**:**:**:**:**
Bit Rate:87 Mb/s Tx-Power=24 dBm
Retry limit:9 RTS thr=2347 B Fragment thr=2346 B
Encryption key:****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=5/5 Signal level=-45 dBm Noise level=-88 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:32465
Tx excessive retries:10 Invalid misc:11 Missed beacon:0
Did you measure the real Tx power output ?
Did you try to change Tx power setting using command "iwconfig mlan0 txpower xx" ?
ex : "iwconfig mlan0 txpower 22" or "iwconfig mlan0 txpower 20"
Actually, command "iwconfig mlan0" showcases the max Tx power capability. It isn't showing the currently used Tx Power, so this command shouldn't be used to check the currently used Tx Power.
Here are more accurate explanations :
As per our implementation :
- as long as tx power isn't explicitly set using "iwconfig mlan0 txpower xx" command, the "iwconfig mlan0" command showcases the max Tx power capability.
- and as soon as tx power has explicitly been set using "iwconfig mlan0 txpower xx" command (if accepted when value within the range), the "iwconfig mlan0" command showcases the Tx power configured value.
Did you try setting the country back to 00 ? (iw reg set 00 )
Could you post the output logs of dmesg to see the way driver is loaded, please ?
I am currently checking your issue