31.5 is safe, right? How to get such value? My house has thick clay walls that block the radio signal as hell.
its not safe. its just the maximum limit which is configurable in calibration data. but it can kill your device if it overheats and you should also consider that the maximum reachable power depends on your current modulation scheme (rate/mcs index). in fact as higher the rate goes as lower the average power gets. this has something todo how ofdm/ofdma modulation works
back to our regular programming
i'm really pulling teeth here... its running great but i would like to iron out the last 1 or 2 (mainly cosmetic) issues.
has anyone noticed the following behavior in the latest @qosmio build? im running the 2.12 based release.
i have 3 qnap 301ws, they all exhibit this behavior in some way. but its not consistent. i will boot all 3 and some will show the stats, others will not. if i do a wifi tear down / rebuild via the wifi command, the stats will come up. so its random and (maybe?) some sort of timing issue? just fyi, 2 of them are running the EXACT same sysupgrade binary and exhibit this behavior between them.
im posting a screenshot for easy reference. the stats are simply missing from the iw command, the "bitrate" fields are not there.
@qosmio ( shamless ping )
I noticed the same behavior on my 301w with 2.12 but because of the 80 MHz cap I still experience with 2.12 and numerous switching back and forth between newer and older firmware that wasn't a priority to report at all.
what about posting a hostapd config? (without passwords of course). i want to review it .
Does iw
exhibit the the same behavior?
iw dev $IFACE station dump
If not, something is going on with your build of rpcd
/luci
.
Are you building based on ATH11K_MEM_PROFILE_512M
enabled?
hi @qosmio , thank you for the reply.
no, its not a luci issue. as mentioned in my initial post, the bitrate rx / bitrate tx
fields are simply missing from all connected stas when listing via iw dev ... station dump
. here is an example, they all (all 60+ of them over all my aps) look the same:
Station 04:cf:xxxxxx (on phy1-ap1)
inactive time: 5320 ms
rx bytes: 17873
rx packets: 179
tx bytes: 17634
tx packets: 160
tx retries: 0
tx failed: 1
rx drop misc: 1
signal: -40 dBm
signal avg: -95 dBm
tx duration: 0 us
rx duration: 0 us
authorized: yes
authenticated: yes
associated: yes
preamble: short
WMM/WME: yes
MFP: no
TDLS peer: no
DTIM period: 1
beacon interval:100
CTS protection: yes
short preamble: yes
connected time: 243 seconds
associated at [boottime]: 29581.467s
associated at: 1723055811502 ms
current time: 1723056054446 ms
ill just get this out of the way to speed things up, its not the non-default dtim period. it does it regardless of what that is set to.
i am building using 1G mem profile as is the default for the 301w which has 1gb of ram.
root@DEBIAN-VM:~/openwrt/openwrt-ipq# cat .config | grep PROFILE | grep -v \#
CONFIG_TARGET_PROFILE="DEVICE_qnap_301w"
CONFIG_NSS_MEM_PROFILE_HIGH=y
CONFIG_ATH11K_MEM_PROFILE_1G=y
CONFIG_IPQ_MEM_PROFILE_1024=y
CONFIG_KERNEL_IPQ_MEM_PROFILE=1024
just fyi, its very inconsistent... i did a reboot on all 3 a few hours ago, and now none of them are showing the stats... but sometimes ill reboot all 3 and one will come up with the stats showing up in iw dev station dump.
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc@0/c000000.wifi'
option channel '36'
option band '5g'
option htmode 'HE160'
option country 'XX'
option cell_density '0'
option noscan '1'
option disabled '0'
option txpower '25'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'ssid'
option encryption 'sae'
option key 'xxxkey'
option ocv '0'
option disabled '0'
option dtim_period '3'
option max_inactivity '86400'
config wifi-device 'radio1'
option type 'mac80211'
option path 'platform/soc@0/c000000.wifi+1'
option channel '1'
option band '2g'
option htmode 'HE40'
option country 'xx'
option cell_density '0'
option noscan '1'
option txpower '21'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'ssid'
option encryption 'sae-mixed'
option key 'xxxkey'
option dtim_period '3'
option max_inactivity '86400'
option ocv '0'
config wifi-iface 'wifinet2'
option device 'radio1'
option mode 'ap'
option ssid 'ssid-guest'
option encryption 'sae-mixed'
option key 'xxx'
option network 'guest'
option dtim_period '3'
option max_inactivity '86400'
option disabled '1'
config wifi-iface 'wifinet3'
option device 'radio0'
option mode 'ap'
option ssid 'ssid'
option encryption 'sae'
option key 'xxx'
option network 'guest'
option dtim_period '3'
option max_inactivity '86400'
option disabled '1'
this is no hostapd config. this is a uci config. i need the raw hostapd config and not the configuration of openwrt
phy0
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=xx
ieee80211d=1
ieee80211h=1
hw_mode=a
beacon_int=100
channel=36
chanlist=36
noscan=1
tx_queue_data2_burst=2.0
#num_global_macaddr=1
ieee80211n=1
ht_coex=0
ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40]
ieee80211ac=1
vht_oper_chwidth=2
vht_oper_centr_freq_seg0_idx=50
vht_capab=[RXLDPC][SHORT-GI-80][SHORT-GI-160][TX-STBC-2BY1][SU-BEAMFORMER][SU-BEAMFORMEE][MU-BEAMFORMER][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][SOUNDING-DIMENSION-4][BF-ANTENNA-4][VHT160][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7]
ieee80211ax=1
he_oper_chwidth=2
he_oper_centr_freq_seg0_idx=50
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
he_bss_color=128
he_spr_sr_control=3
he_default_pe_duration=4
he_rts_threshold=1023
he_mu_edca_qos_info_param_count=0
he_mu_edca_qos_info_q_ack=0
he_mu_edca_qos_info_queue_request=0
he_mu_edca_qos_info_txop_request=0
he_mu_edca_ac_be_aifsn=8
he_mu_edca_ac_be_aci=0
he_mu_edca_ac_be_ecwmin=9
he_mu_edca_ac_be_ecwmax=10
he_mu_edca_ac_be_timer=255
he_mu_edca_ac_bk_aifsn=15
he_mu_edca_ac_bk_aci=1
he_mu_edca_ac_bk_ecwmin=9
he_mu_edca_ac_bk_ecwmax=10
he_mu_edca_ac_bk_timer=255
he_mu_edca_ac_vi_ecwmin=5
he_mu_edca_ac_vi_ecwmax=7
he_mu_edca_ac_vi_aifsn=5
he_mu_edca_ac_vi_aci=2
he_mu_edca_ac_vi_timer=255
he_mu_edca_ac_vo_aifsn=5
he_mu_edca_ac_vo_aci=3
he_mu_edca_ac_vo_ecwmin=5
he_mu_edca_ac_vo_ecwmax=7
he_mu_edca_ac_vo_timer=255
interface=phy0-ap0
ctrl_interface=/var/run/hostapd
ap_isolate=1
ap_max_inactivity=86400
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
skip_inactivity_poll=0
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
utf8_ssid=1
multi_ap=0
ocv=0
sae_require_mfp=1
sae_pwe=2
wpa_passphrase=xxxxxxx
wpa_psk_file=/var/run/hostapd-phy0-ap0.psk
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=xxxxx
bridge=br-lan
wds_bridge=
snoop_iface=br-lan
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=SAE
okc=1
ieee80211w=2
group_mgmt_cipher=AES-128-CMAC
dynamic_vlan=0
vlan_naming=1
vlan_no_bridge=1
vlan_file=/var/run/hostapd-phy0-ap0.vlan
qos_map_set=0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56
bssid=00:03:7f:12:91:f3
#default_macaddr
dtim_period=3
phy1
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=xx
ieee80211d=1
hw_mode=g
supported_rates=60 90 120 180 240 360 480 540
basic_rates=60 120 240
beacon_int=100
channel=1
chanlist=1
noscan=1
#num_global_macaddr=1
ieee80211n=1
ht_coex=0
ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40]
ieee80211ax=1
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
he_bss_color=128
he_spr_sr_control=3
he_default_pe_duration=4
he_rts_threshold=1023
he_mu_edca_qos_info_param_count=0
he_mu_edca_qos_info_q_ack=0
he_mu_edca_qos_info_queue_request=0
he_mu_edca_qos_info_txop_request=0
he_mu_edca_ac_be_aifsn=8
he_mu_edca_ac_be_aci=0
he_mu_edca_ac_be_ecwmin=9
he_mu_edca_ac_be_ecwmax=10
he_mu_edca_ac_be_timer=255
he_mu_edca_ac_bk_aifsn=15
he_mu_edca_ac_bk_aci=1
he_mu_edca_ac_bk_ecwmin=9
he_mu_edca_ac_bk_ecwmax=10
he_mu_edca_ac_bk_timer=255
he_mu_edca_ac_vi_ecwmin=5
he_mu_edca_ac_vi_ecwmax=7
he_mu_edca_ac_vi_aifsn=5
he_mu_edca_ac_vi_aci=2
he_mu_edca_ac_vi_timer=255
he_mu_edca_ac_vo_aifsn=5
he_mu_edca_ac_vo_aci=3
he_mu_edca_ac_vo_ecwmin=5
he_mu_edca_ac_vo_ecwmax=7
he_mu_edca_ac_vo_timer=255
interface=phy1-ap0
ctrl_interface=/var/run/hostapd
ap_isolate=1
ap_max_inactivity=86400
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
skip_inactivity_poll=0
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
utf8_ssid=1
multi_ap=0
ocv=0
sae_require_mfp=1
sae_pwe=2
wpa_passphrase=xxxxxxxxx
wpa_psk_file=/var/run/hostapd-phy1-ap0.psk
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=xxx
bridge=br-lan
wds_bridge=
snoop_iface=br-lan
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 SAE
okc=1
ieee80211w=1
group_mgmt_cipher=AES-128-CMAC
dynamic_vlan=0
vlan_naming=1
vlan_no_bridge=1
vlan_file=/var/run/hostapd-phy1-ap0.vlan
qos_map_set=0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56
bssid=00:03:7f:12:c5:c7
#default_macaddr
dtim_period=3
But maybe my case isn't exactly the same as @anom3.
I'll just add to the above post that I experienced those zero RX/TR Rates when I reset the settings to default with FW 2.12 but my wifi configuration wasn't completely ready at that time. Once I configured all my wifi settings I didn't experienced that again and I saw current rates in LUCI.
Do you have the offsets for this power limit for RAX120? I'd like to see and compare the generic board-2 to the one provided by OpenWRT.
I'm also seeing this on AX3600.
Furthermore, one device always seems inactive according to iw and therefore gets deauthenticated due to inactivity
by hostapd. The latter is apparently only since I built the latest changes from the 2.12 branch on Saturday but was not the case before with the original 2.12 branch. The supposedly inactive device is not inactive at all and will even be deauthed every 5 minutes when I periodically check its webinterface.
i have the inactive issue was well... although its sporadic, it usually wont happen.
I think it's best to stick with 2.9.0.1 FW for now. Something likely needs to be updated in the driver header files, which Qualcomm hasn't pushed yet.
Can you also test with nss offloading disabled? You use the following script. It allows reloading ath11k after new firmware, or disabling/enabling nss without a full reboot.
cat /usr/sbin/ath11k_reload
#!/bin/sh -x
[ -z "$nss_redirect" ] && nss_redirect=$(cat /sys/module/mac80211/parameters/nss_redirect 2> /dev/null)
[ -z "$nss_offload" ] && nss_offload=$(cat /sys/module/ath11k/parameters/nss_offload 2> /dev/null)
[ -z "$frame_mode" ] && frame_mode=$(cat /sys/module/ath11k/parameters/frame_mode 2> /dev/null)
nss_redirect=${nss_redirect:-1}
nss_offload=${nss_offload:-1}
frame_mode=${frame_mode:-2}
/etc/init.d/qca-nss-ecm stop
/etc/init.d/wpad stop
/sbin/wifi down
lsmod | sort -k1,3r | awk '$1 ~ /ath10k|ath11k/{print $1}' | while read -r module; do rmmod $module; done
rmmod ath
rmmod mac80211
rmmod cfg80211
sleep 1
modprobe cfg80211
insmod mac80211 nss_redirect="${nss_redirect}"
insmod ath11k nss_offload="${nss_offload}" frame_mode="${frame_mode}"
modprobe ath11k_ahb
[ -r /lib/modules/*/ath10k_pci.ko ] && modprobe ath10k_pci
/etc/init.d/qca-nss-ecm start
/etc/init.d/wpad start
/sbin/wifi up
Without any params it will simply reload the driver and reuse the module params that are currently set.
To disable NSS wifi offload and reload
nss_redirect=0 nss_offload=0 /usr/bin/ath11k_reload
To renable NSS wifi offload and reload.
nss_redirect=0 nss_offload=1 /usr/bin/ath11k_reload
To renable NSS wifi offload and mac80211 redirect (only if you have a third radio like ath10k).
nss_redirect=0 nss_offload=1 /usr/bin/ath11k_reload
Verify NSS offload disabled/enabled:
cat /sys/module/ath11k/parameters/nss_offload
I even uploaded the 2.9 firmware by hand to my device because I assumed that to be the most likely cause but that particular device still got deauthed just like before. Did not check though whether WiFi caps and rates were correct again on 2.9.
// EDIT: I'm actually still on 2.9 and that screenshot from before was also from it so it's not showing caps and rates.
I'm assuming this is for 2G clients, and likely ESP8266 IoT device? I use the following in my setup btw.
config wifi-iface 'example_5g'
option device 'radio0'
option mode 'ap'
option network 'lan'
option ssid 'example_5g'
option encryption 'psk2+ccmp'
option key '...'
option disassoc_low_ack '0'
option dtim_period '3'
option skip_inactivity_poll '1'
option wnm_sleep_mode '1'
config wifi-iface 'example_2g'
option device 'radio1'
option mode 'ap'
option network 'lan'
option ssid 'example_2g'
option encryption 'psk2+ccmp'
option key '...'
option disassoc_low_ack '0'
option dtim_period '3'
option skip_inactivity_poll '1'
option wnm_sleep_mode '1'
with additional settings for 802.11r/k/v between multiple APs
option time_zone 'GMT0'
option wpa_group_rekey '86400'
option max_inactivity '4260'
option reassociation_deadline '20000'
option bss_transition '1'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option ieee80211r '1'
option ieee80211k '1'
option proxy_arp '1'
In fact it is. Is there something special about these in conjunction with NSS? It's only happening since Saturday though and never on the non NSS builds I've been using over the years and also somehow not the first NSS builds I switched over to from non NSS few weeks back.
skip_inactivity_poll
will just deauth inactive clients immediately instead of giving them another chance by polling them first and I tried disassoc_low_ack
but it would not have any effect either. I can constantly ping these devices from the AP itself but their inactivity timer will continue increasing regardlessly.
Not sure tbh. The issue was sporadic for me early on when bringing over NSS wifi patches. The only other thing that worked for me for ESP devices was setting max_inactivity=84600
.
Which NSS fw are you building against?
exactly the same behavior that i experience.
ive spent a good few hours on this over the last few months with no success...
i wont go too into it because its one of these annoying bugs which i doubt we'll be able to track down... but heres my latest experience with it:
- the .bin i have running now on 3 of my devices does not exhibit this behavior.
- recently since ive been doing a general upgrade i took it upon myself to start trimming all the extra qca-nss-* modules i had compiled in since i now know better: dont include useless modules etc.
- anyways, so i load up my vm with saved state of a build that does not experience this behavor... i remove 2 qca-nss-* modules... pptp and some other obcure one that i just dont use.
- recompile.. presto the issue pops up.
- so i roll back, and instead i try to apply some of the "recommended" items... eg: compile using gcc14... or target params +crypto+rdma presto the issue pops up.
completly random unrelated items.
i didnt really mention any of this previously because as it stands now i have a binary that doesnt exhibit this behavior... and all in all, its just an annoyance... you should be able to set a really high max inactive and the stations wont get kicked...
btw, we are talking about 2 issues... the above is related to "inactive time"....
the 0/0 issue is most likely caused by one of hte fairly recent patches. if you realllly want it gone what works for me every time is just to tear down the wifi stack and rebuild it (wifi down ; sleep 5 ; wifi up).
Using that branch so 12.5 I'd assume?
I started with your default branch about 2 weeks back and then switched over to the 2.12 branch some days ago and then pulled in your latest changes on Saturday and only since then that device is being deauthed every 5 minutes apparently.