diff options
author | Maneesh Jain <maneesh.jain@samsung.com> | 2016-09-29 14:43:12 +0530 |
---|---|---|
committer | Maneesh Jain <maneesh.jain@samsung.com> | 2016-09-29 16:28:46 +0530 |
commit | ffdbdd50be19d7debc9d749922a874761fcd2223 (patch) | |
tree | 8fcf5235d52689c8e542c56e5ec83e9e1612697d /plugins/wifi.c | |
parent | 7ace8c778781a6d3e47010843d9bc5c0d337594d (diff) | |
download | connman-ffdbdd50be19d7debc9d749922a874761fcd2223.tar.gz connman-ffdbdd50be19d7debc9d749922a874761fcd2223.tar.bz2 connman-ffdbdd50be19d7debc9d749922a874761fcd2223.zip |
[connman]: Fixed Scan Issue
Description: In following use case, ConnMan always perform the ssid based scan
and unable to find the new AP's.
a. Connect with any AP (Normal or Hidden)
b. Disconnect with AP
c. After this, ConnMan always perform the SSID based scan.
Impact: Tizen Device is unable to scan new AP's.
Reason:
In Tizen, ConnMan configure the "BackgroundScanning" flag as false because background
scan feature is implemented in net-config module.
Due to this reason, I have added patch to sync-up the ConnMan scan implementation
with net-config background scan feature.
Change-Id: I0cff11df18780816b5f61a647c2298c781e78557
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Diffstat (limited to 'plugins/wifi.c')
-rwxr-xr-x | plugins/wifi.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index 1739e58a..c0079b38 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -131,6 +131,7 @@ struct wifi_data { #if defined TIZEN_EXT int assoc_retry_count; struct connman_network *scan_pending_network; + bool allow_full_scan; #endif }; @@ -144,6 +145,7 @@ static gboolean found_with_first_scan = false; static gboolean is_wifi_notifier_registered = false; #endif + static GList *iface_list = NULL; static GList *pending_wifi_device = NULL; @@ -1319,6 +1321,11 @@ static void scan_callback(int result, GSupplicantInterface *interface, connman_device_unref(device); #if defined TIZEN_EXT + if (wifi && wifi->allow_full_scan) { + DBG("Trigger Full Channel Scan"); + throw_wifi_scan(device, scan_callback); + wifi->allow_full_scan = FALSE; + } if (wifi && wifi->scan_pending_network && result != -EIO) { network_connect(wifi->scan_pending_network); wifi->scan_pending_network = NULL; @@ -1928,6 +1935,13 @@ static int wifi_scan(enum connman_service_type type, connman_device_ref(device); +#if defined TIZEN_EXT + /*To allow the Full Scan after ssid based scan, set the flag here + It is required because Tizen does not use the ConnMan specific + backgroung Scan feature.Tizen has added the BG Scan feature in net-config + To sync with up ConnMan, we need to issue the Full Scan after SSID specific scan.*/ + wifi->allow_full_scan = TRUE; +#endif reset_autoscan(device); ret = g_supplicant_interface_scan(wifi->interface, scan_params, |