Merge "Added WPS-PBC/PIN/cancel without ssid" into tizen
authortaesub kim <taesub.kim@samsung.com>
Wed, 8 Mar 2017 05:12:17 +0000 (21:12 -0800)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Wed, 8 Mar 2017 05:12:17 +0000 (21:12 -0800)
include/util.h
packaging/net-config.spec
src/utils/util.c
src/wifi-firmware.c

index 2cce5ee..d7e9602 100755 (executable)
@@ -95,8 +95,15 @@ typedef enum {
 } tizen_profile_t;
 extern tizen_profile_t _get_tizen_profile();
 
+typedef enum {
+       TIZEN_WLAN_DRIVER_UNKNOWN = 0,
+       TIZEN_WLAN_DRIVER_BROADCOM = 1,
+       TIZEN_WLAN_DRIVER_SPRD = 2,
+} tizen_wlan_driver_t;
+extern tizen_wlan_driver_t _get_wlan_driver();
+
 #define TIZEN_TELEPHONY_ENABLE (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
-#define TIZEN_WLAN_BOARD_SPRD (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
+#define TIZEN_WLAN_BOARD_SPRD (_get_wlan_driver() == TIZEN_WLAN_DRIVER_SPRD)
 #define TIZEN_TV (_get_tizen_profile() == TIZEN_PROFILE_TV)
 #define TIZEN_NTP_ENABLE (_get_tizen_profile() == TIZEN_PROFILE_IVI)
 
index cdd14cc..c5ca245 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          net-config
 Summary:       TIZEN Network Configuration service
-Version:       1.1.100
+Version:       1.1.101
 Release:       2
 Group:         System/Network
 License:       Apache-2.0
index 6efd972..a5c2595 100755 (executable)
@@ -1048,6 +1048,31 @@ tizen_profile_t _get_tizen_profile()
        return profile;
 }
 
+tizen_wlan_driver_t _get_wlan_driver(void)
+{
+       static tizen_wlan_driver_t drv = TIZEN_WLAN_DRIVER_UNKNOWN;
+       if (__builtin_expect(drv != TIZEN_WLAN_DRIVER_UNKNOWN, 1))
+               return drv;
+
+       char *model_name = NULL;
+       int ret = 0;
+
+       ret = system_info_get_platform_string("http://tizen.org/system/model_name", &model_name);
+       if (ret != SYSTEM_INFO_ERROR_NONE) {
+               ERR("Failed to get system information(%d)", ret);
+               return drv;
+       }
+
+       if (model_name && strncmp(model_name, "TM1", sizeof("TM1")) == 0)
+               drv = TIZEN_WLAN_DRIVER_SPRD;
+       else if (strncmp(model_name, "n4", sizeof("n4")) == 0)
+               drv = TIZEN_WLAN_DRIVER_BROADCOM;
+
+       free(model_name);
+
+       return drv;
+}
+
 void netconfig_plugin_init()
 {
        handle_headed = dlopen(HEADED_PLUGIN_FILEPATH, RTLD_NOW);
index d9a41f9..1c940df 100755 (executable)
@@ -44,9 +44,11 @@ static int __netconfig_sta_firmware_start(void)
        char *const args[] = { "/usr/bin/wlan.sh", "start", NULL };
        char *const envs[] = { NULL };
 
-       rv = netconfig_execute_file(path, args, envs);
-       if (rv < 0)
-               return -EIO;
+       if (TIZEN_WLAN_BOARD_SPRD) {
+               rv = netconfig_execute_file(path, args, envs);
+               if (rv < 0)
+                       return -EIO;
+       }
 
        rv = netconfig_interface_up(WLAN_IFACE_NAME);
        if (rv != TRUE)
@@ -70,9 +72,11 @@ static int __netconfig_sta_firmware_stop(void)
        if (rv != TRUE)
                return -EIO;
 
-       rv = netconfig_execute_file(path, args, envs);
-       if (rv < 0)
-               return -EIO;
+       if (TIZEN_WLAN_BOARD_SPRD) {
+               rv = netconfig_execute_file(path, args, envs);
+               if (rv < 0)
+                       return -EIO;
+       }
 
        DBG("Successfully removed wireless device driver");
        return 0;