Skip to content

Commit

Permalink
wl12xx: Increase scan channel dwell time for passive scans
Browse files Browse the repository at this point in the history
The passive scan channel dwell time currently used is 30-60TU. A typical
beacon interval for AP's is 100TU. This leads to a ~30% worst-case probability
of finding an AP via passive scanning.

For 5GHz bands for DFS frequencies passive scanning is the only scanning
option. Hence for these, the probability of finding an AP is very low.

To fix this, increase the passive channel scan dwell times (also the early
leave value, as 5GHz channels are still typically very silent.) Use a value
of 100TU, because that covers most typical AP configurations.

Based on testing the probability of finding an AP (100TU beacon interval) on
a single scan round are as follows (based on 100 iterations):

dwell min/max (TU)   | probability
---------------------+------------
30/60                | 35%
60/60                | 56%
80/80                | 77%
100/100              | 100%

Total scan times now and after the change:

Region | Before (s) | After (s)
-------+------------+----------
00     | 0.77       | 1.48
FI     | 0.95       | 2.01
US     | 0.91       | 1.76

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information
Juuso Oikarinen authored and Luciano Coelho committed Jan 24, 2011
1 parent 8e2de74 commit ea45b2c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
18 changes: 9 additions & 9 deletions drivers/net/wireless/wl12xx/conf.h
Original file line number Diff line number Diff line change
Expand Up @@ -1084,30 +1084,30 @@ struct conf_scan_settings {
/*
* The minimum time to wait on each channel for active scans
*
* Range: 0 - 65536 tu
* Range: u32 tu/1000
*/
u16 min_dwell_time_active;
u32 min_dwell_time_active;

/*
* The maximum time to wait on each channel for active scans
*
* Range: 0 - 65536 tu
* Range: u32 tu/1000
*/
u16 max_dwell_time_active;
u32 max_dwell_time_active;

/*
* The maximum time to wait on each channel for passive scans
* The minimum time to wait on each channel for passive scans
*
* Range: 0 - 65536 tu
* Range: u32 tu/1000
*/
u16 min_dwell_time_passive;
u32 min_dwell_time_passive;

/*
* The maximum time to wait on each channel for passive scans
*
* Range: 0 - 65536 tu
* Range: u32 tu/1000
*/
u16 max_dwell_time_passive;
u32 max_dwell_time_passive;

/*
* Number of probe requests to transmit on each active scan channel
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,8 @@ static struct conf_drv_settings default_conf = {
.scan = {
.min_dwell_time_active = 7500,
.max_dwell_time_active = 30000,
.min_dwell_time_passive = 30000,
.max_dwell_time_passive = 60000,
.min_dwell_time_passive = 100000,
.max_dwell_time_passive = 100000,
.num_probe_reqs = 2,
},
.rf = {
Expand Down

0 comments on commit ea45b2c

Please sign in to comment.