#define WIFI_CONFIG_EAP_AUTH_TYPE "EapAuthType"
#define WIFI_CONFIG_EAP_SUBJECT_MATCH "SubjectMatch"
+#define WIFI_MAC_PATH_LENGTH 64
+#define WIFI_MAC_ADDR_LENGTH 17
+#define WIFI_MAC_ADDR_PATH "/sys/class/net/%s/address"
+
/**
* This enumeration is used in frame id value in vsie method calls
*/
void wifi_set_default_mac(char *def_mac);
int wifi_check_systemd_service(void);
+int wifi_check_interface(const char *ifname);
void __netconfig_wifi_connect_reply(GObject *source_object, GAsyncResult *res,
gpointer user_data);
Name: net-config
Summary: TIZEN Network Configuration service
-Version: 1.2.9
+Version: 1.2.10
Release: 1
Group: System/Network
License: Apache-2.0
#define WIFI_PREFIX_LENGTH MAC_ADDRESS_LENGTH + 6 /* wifi_485a3f2f506a_ */
#define PROFILE_PREFIX_LENGTH WIFI_PREFIX_LENGTH + 21 /* /net/connman/service/wifi_485a3f2f506a_ */
-#define WIFI_MAC_PATH_LENGTH 64
-#define WIFI_MAC_ADDR_LENGTH 17
-#define WIFI_MAC_ADDR_PATH "/sys/class/net/%s/address"
-
#define NET_DNS_ADDR_MAX 2
#define MAX_WIFI_PROFILES 200
#include "log.h"
#include "util.h"
+#include "wifi.h"
#include "netdbus.h"
#include "emulator.h"
#include "neterror.h"
static int __netconfig_sta_firmware_start(const char *interface_name)
{
int rv = 0;
+ int if_found = 0;
+ if_found = wifi_check_interface(interface_name);
rv = hal_wifi_get_backend();
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_get_backend() failed, ret: %d", rv);
return -EIO;
}
rv = hal_wifi_sta_start(interface_name);
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_sta_start() failed, ret: %d", rv);
return -EIO;
}
return -ENODEV;
int rv = 0;
+ int if_found = 0;
+ if_found = wifi_check_interface(interface_name);
rv = hal_wifi_get_backend();
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_get_backend() failed, ret: %d", rv);
return -EIO;
}
rv = hal_wifi_p2p_start(interface_name);
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_p2p_start() failed, ret: %d", rv);
return -EIO;
}
return -ENODEV;
int rv = 0;
+ int if_found = 0;
+ if_found = wifi_check_interface(interface_name);
rv = hal_wifi_get_backend();
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_get_backend() failed, ret: %d", rv);
return -EIO;
}
rv = hal_wifi_softap_start(interface_name);
- if (rv < 0) {
+ if (rv < 0 && !if_found) {
DBG("hal_wifi_softap_start() failed, ret: %d", rv);
return -EIO;
}
int wifi_check_systemd_service(void)
{
if (access(WIFI_SYSTEMD_SERVICE_PATH, F_OK ) != -1 )
- return 1;
+ return 1;
else
- return 0;
+ return 0;
+}
+
+int wifi_check_interface(const char *ifname)
+{
+ char path[WIFI_MAC_PATH_LENGTH];
+
+ snprintf(path, WIFI_MAC_PATH_LENGTH, WIFI_MAC_ADDR_PATH, ifname);
+
+ if (access(path, F_OK ) != -1 )
+ return 1;
+ else
+ return 0;
}
void __netconfig_wifi_connect_reply(GObject *source_object, GAsyncResult *res,