summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManeesh Jain <maneesh.jain@samsung.com>2016-09-29 14:43:12 +0530
committerManeesh Jain <maneesh.jain@samsung.com>2016-09-29 16:28:46 +0530
commitffdbdd50be19d7debc9d749922a874761fcd2223 (patch)
tree8fcf5235d52689c8e542c56e5ec83e9e1612697d
parent7ace8c778781a6d3e47010843d9bc5c0d337594d (diff)
downloadconnman-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>
-rwxr-xr-xpackaging/connman.spec2
-rwxr-xr-xplugins/wifi.c14
2 files changed, 15 insertions, 1 deletions
diff --git a/packaging/connman.spec b/packaging/connman.spec
index 064fec4c..953d5184 100755
--- a/packaging/connman.spec
+++ b/packaging/connman.spec
@@ -4,7 +4,7 @@
Name: connman
Version: 1.29
-Release: 17
+Release: 18
License: GPL-2.0+
Summary: Connection Manager
Url: http://connman.net
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,