Wireless access point daemon, patched with ubus support
Find a file
Karthikeyan Periyasamy c4dd3afa3c ACS: Avoid invalid interference factor when survey channel time is zero
When the channel time is zero the interference factor calculation falls
under divide by zero operation which results in invalid (NaN =
not-a-number) interference factor value. This leads to wrong ideal
channel selection in ACS during the scenario described below.

Scenario:

In VHT80 mode, the channel 36 (first channel) gets the channel time as
zero which causes the interfactor factor to be an invalid number (NaN).
Any operations (like addition, mulitplication, divide, etc.) with NaN
value results in a NaN value, so that average factor for the primary
channel 36 got the invalid value (NaN). Since channel 36 is the first
channel, ideal factor is assigned as NaN in the first iteration. The
following iteration condition check (factor < ideal_factor) with a NaN
value fail for all other primary channels. This results in channel 36
being chosen as the ideal channel in ACS which holds a NaN value.

Logs:

ACS: Survey analysis for channel 36 (5180 MHz)
ACS: 1: min_nf=-103 interference_factor=nan nf=0 time=0 busy=0 rx=0
ACS: 2: min_nf=-103 interference_factor=0.615385 nf=-102 time=13 busy=8 rx=0
ACS: 3: min_nf=-103 interference_factor=2.45455 nf=0 time=22 busy=16 rx=0
ACS: 4: min_nf=-103 interference_factor=0.785714 nf=-103 time=42 busy=33 rx=0
ACS: 5: min_nf=-103 interference_factor=nan nf=0 time=0 busy=0 rx=0
ACS:  * interference factor average: nan
...
ACS:  * channel 36: total interference = nan
..
ACS:  * channel 149: total interference = 5.93174e-21
..
ACS: Ideal channel is 36 (5180 MHz) with total interference factor of nan

Signed-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>
2018-05-16 01:16:54 +03:00
doc dbus: Add new interface property to get mesh group 2017-09-10 01:39:37 +03:00
eap_example Fix typo in eap_example_server.c 2016-10-29 11:13:28 +03:00
hostapd wolfSSL: Remove aes-omac1.o from hostapd build 2018-05-02 13:32:51 +03:00
hs20 HS 2.0: Terms and Conditions server and management 2018-04-30 21:04:11 +03:00
mac80211_hwsim/tools Remove obsolete mac80211_hwsim tests 2015-10-01 12:46:10 +03:00
radius_example RADIUS: Redesign Request Authenticator generation 2016-02-06 17:19:35 +02:00
src ACS: Avoid invalid interference factor when survey channel time is zero 2018-05-16 01:16:54 +03:00
tests tests: Fix dbus_tdls_channel_switch with missing kernel support 2018-05-15 00:38:13 +03:00
wlantest wlantest: Try harder to find a STA entry with PTK for 4-address frames 2017-12-08 21:54:40 +02:00
wpa_supplicant SAE: Flush PMKSA if an assoc reject without timeout is received 2018-05-16 01:16:54 +03:00
wpadebug wpadebug: Improve QR Code scanning with zxing 2018-02-23 16:29:05 +02:00
wpaspy Update wpaspy.py to be python3 compatible 2017-02-04 20:57:38 +02:00
.gitignore gitignore: tests/remote/logs 2017-04-01 17:03:59 +03:00
Android.mk Treat VER_2_1_DEVEL the same as VER_0_8_X 2013-12-14 21:23:39 -08:00
build_release Drop OpenSSL 0.9.8 patches to add EAP-FAST support 2016-01-13 00:17:27 +02:00
CONTRIBUTIONS Update copyright notices for the new year 2017 2017-01-03 15:18:30 +02:00
COPYING Update copyright notices for the new year 2017 2017-01-03 15:18:30 +02:00
README Update copyright notices for the new year 2017 2017-01-03 15:18:30 +02:00

wpa_supplicant and hostapd
--------------------------

Copyright (c) 2002-2017, Jouni Malinen <j@w1.fi> and contributors
All Rights Reserved.

These programs are licensed under the BSD license (the one with
advertisement clause removed).

If you are submitting changes to the project, please see CONTRIBUTIONS
file for more instructions.


This package may include either wpa_supplicant, hostapd, or both. See
README file respective subdirectories (wpa_supplicant/README or
hostapd/README) for more details.

Source code files were moved around in v0.6.x releases and compared to
earlier releases, the programs are now built by first going to a
subdirectory (wpa_supplicant or hostapd) and creating build
configuration (.config) and running 'make' there (for Linux/BSD/cygwin
builds).


License
-------

This software may be distributed, used, and modified under the terms of
BSD license:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

3. Neither the name(s) of the above-listed copyright holder(s) nor the
   names of its contributors may be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.