#include "wifi-extension.h"
#include "wifi-dpp.h"
-#define SPRD_CP2_FIRMWARE_PATH "/usr/bin/cp2-downloader"
+#define SPRD_CP2_FIRMWARE_PATH "/hal/bin/cp2-downloader"
#define SPRD_CP2_FIRMWARE_STATE_PATH "/tmp/.wifi-firmware-loaded"
+#define WIFI_SYSTEMD_SERVICE_PATH "/usr/lib/systemd/system/wifi-ready.service"
static int is_wifi_firmware_downloaded = FALSE;
static Wifi *wifi_object = NULL;
static NetConnmanAgent *connman_agent_object = NULL;
static WifiFirmware *wififirmware_object = NULL;
+static char *wifi_def_mac = NULL;
Wifi *get_wifi_object(void){
return wifi_object;
gchar *mac_addr = NULL;
mac_addr = vconf_get_str(VCONFKEY_WIFI_BSSID_ADDRESS);
- if (mac_addr != NULL) {
- if (strlen(mac_addr) == 0)
+ if (mac_addr == NULL || strlen(mac_addr) == 0) {
+ if (wifi_def_mac)
+ netconfig_set_mac_address_to_vconf(wifi_def_mac);
+ else
netconfig_set_mac_address_from_file();
- free(mac_addr);
}
+
+ g_free(mac_addr);
+}
+
+void wifi_set_default_mac(char *def_mac)
+{
+ if (!def_mac)
+ return;
+
+ if (wifi_def_mac)
+ g_free(wifi_def_mac);
+
+ wifi_def_mac = def_mac;
+}
+
+int wifi_check_systemd_service(void)
+{
+ if (access(WIFI_SYSTEMD_SERVICE_PATH, F_OK ) != -1 )
+ return 1;
+ else
+ return 0;
}
void __netconfig_wifi_connect_reply(GObject *source_object, GAsyncResult *res,
wifi_power_deinitialize();
wifi_state_deinitialize();
+
+ g_free(wifi_def_mac);
}