Przeglądaj źródła

use new WIFI hal framework

lyon 3 lat temu
rodzic
commit
4c553fdb3e

+ 4 - 7
package/PikaStdDevice/pika_hal.c

@@ -302,12 +302,9 @@ int pika_hal_WIFI_ioctl_merge_config(pika_hal_WIFI_config* dst,
                                      pika_hal_WIFI_config* src) {
     _IOCTL_CONFIG_USE_DEFAULT(mode, PIKA_HAL_WIFI_MODE_STA);
     _IOCTL_CONFIG_USE_DEFAULT(channel, PIKA_HAL_WIFI_CHANNEL_0);
-    _IOCTL_CONFIG_USE_DEFAULT_STR(ssid, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(bssid, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(password, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(ip, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(netmask, "255.255.255.0");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(gateway, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(dns, "");
+    _IOCTL_CONFIG_USE_DEFAULT(max_connection, PIKA_HAL_WIFI_MAX_CONNECTION_4);
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_ssid, "pikapython.com");
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_bssid, "");
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_password, "pikapython.com");
     return 0;
 }

+ 29 - 2
package/PikaStdDevice/pika_hal.h

@@ -25,10 +25,13 @@ typedef enum {
     PIKA_HAL_IOCTL_CONFIG,
     PIKA_HAL_IOCTL_ENABLE,
     PIKA_HAL_IOCTL_DISABLE,
-    PIKA_HAL_IOCTL_WIFI_SET_ACTIVE,
     PIKA_HAL_IOCTL_WIFI_GET_ACTIVE,
     PIKA_HAL_IOCTL_WIFI_GET_STATUS,
     PIKA_HAL_IOCTL_WIFI_SCAN,
+    PIKA_HAL_IOCTL_WIFI_CONNECT,
+    PIKA_HAL_IOCTL_WIFI_DISCONNECT,
+    PIKA_HAL_IOCTL_WIFI_SET_IFCONFIG,
+    PIKA_HAL_IOCTL_WIFI_GET_IFCONFIG,
     _ = 0xFFFFFFFF,  // make sure it is 4 byte width
 } PIKA_HAL_IOCTL_CMD;
 
@@ -413,18 +416,42 @@ typedef enum {
     PIKA_HAL_WIFI_CHANNEL_11,
 } PIKA_HAL_WIFI_CHANNEL;
 
+typedef enum {
+    _PIKA_HAL_WIFI_MAX_CONNECTION = 0,
+    PIKA_HAL_WIFI_MAX_CONNECTION_1,
+    PIKA_HAL_WIFI_MAX_CONNECTION_2,
+    PIKA_HAL_WIFI_MAX_CONNECTION_3,
+    PIKA_HAL_WIFI_MAX_CONNECTION_4,
+    PIKA_HAL_WIFI_MAX_CONNECTION_5,
+    PIKA_HAL_WIFI_MAX_CONNECTION_6,
+    PIKA_HAL_WIFI_MAX_CONNECTION_7,
+    PIKA_HAL_WIFI_MAX_CONNECTION_8,
+    PIKA_HAL_WIFI_MAX_CONNECTION_9,
+    PIKA_HAL_WIFI_MAX_CONNECTION_10
+} PIKA_HAL_WIFI_MAX_CONNECTION;
+
 #define PIKA_HAL_WIFI_PARAM_MAX_LEN 32
 typedef struct pika_hal_WIFI_config {
     PIKA_HAL_WIFI_MODE mode;
     PIKA_HAL_WIFI_CHANNEL channel;
+    PIKA_HAL_WIFI_MAX_CONNECTION max_connection;
+    char ap_ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+    char ap_bssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+    char ap_password[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+} pika_hal_WIFI_config;
+
+typedef struct pika_hal_WIFI_connect_config {
     char ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char bssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char password[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+} pika_hal_WIFI_connect_config;
+
+typedef struct pika_hal_WIFI_ifconfig {
     char ip[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char netmask[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char gateway[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char dns[PIKA_HAL_WIFI_PARAM_MAX_LEN];
-} pika_hal_WIFI_config;
+} pika_hal_WIFI_ifconfig;
 
 typedef struct pika_hal_WIFI_record {
     char ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];

+ 31 - 28
package/network/_network_WLAN.c

@@ -25,8 +25,7 @@ void _network_WLAN_active(PikaObj* self, int is_active) {
     if (hal_wifi == NULL) {
         return;
     }
-    check_res(
-        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_SET_ACTIVE, &is_active));
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_ENABLE));
     return;
 }
 
@@ -48,10 +47,10 @@ void _network_WLAN_config(PikaObj* self, PikaDict* kwargs) {
     }
     pika_hal_WIFI_config cfg = {0};
     if (pikaDict_isArgExist(kwargs, "ssid")) {
-        strcpy(cfg.ssid, pikaDict_getStr(kwargs, "ssid"));
+        strcpy(cfg.ap_ssid, pikaDict_getStr(kwargs, "ssid"));
     }
-    if (pikaDict_isArgExist(kwargs, "key")) {
-        strcpy(cfg.password, pikaDict_getStr(kwargs, "key"));
+    if (pikaDict_isArgExist(kwargs, "password")) {
+        strcpy(cfg.ap_password, pikaDict_getStr(kwargs, "password"));
     }
     if (pikaDict_isArgExist(kwargs, "channel")) {
         cfg.channel = pikaDict_getInt(kwargs, "channel") + 1;
@@ -66,9 +65,9 @@ Arg* _network_WLAN_checkConfig(PikaObj* self, char* param) {
     }
     pika_hal_WIFI_config* cfg = hal_wifi->ioctl_config;
     if (strcmp(param, "ssid") == 0) {
-        return arg_newStr(cfg->ssid);
-    } else if (strcmp(param, "key") == 0) {
-        return arg_newStr(cfg->password);
+        return arg_newStr(cfg->ap_ssid);
+    } else if (strcmp(param, "password") == 0) {
+        return arg_newStr(cfg->ap_password);
     } else if (strcmp(param, "channel") == 0) {
         return arg_newInt(cfg->channel - 1);
     } else {
@@ -81,11 +80,10 @@ void _network_WLAN_connect(PikaObj* self, char* ssid, char* key) {
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.ssid, ssid);
-    strcpy(cfg.password, key);
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_CONFIG, &cfg));
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_ENABLE));
+    pika_hal_WIFI_connect_config conncfg = {0};
+    strcpy(conncfg.ssid, ssid);
+    strcpy(conncfg.password, key);
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_CONNECT, &conncfg));
     return;
 }
 
@@ -97,9 +95,11 @@ void _network_WLAN_connectWithBssid(PikaObj* self,
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.bssid, bssid);
-    _network_WLAN_connect(self, ssid, key);
+    pika_hal_WIFI_connect_config conncfg = {0};
+    strcpy(conncfg.ssid, ssid);
+    strcpy(conncfg.password, key);
+    strcpy(conncfg.bssid, bssid);
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_CONNECT, &conncfg));
 }
 
 void _network_WLAN_disconnect(PikaObj* self) {
@@ -107,7 +107,7 @@ void _network_WLAN_disconnect(PikaObj* self) {
     if (hal_wifi == NULL) {
         return;
     }
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_DISABLE));
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_DISCONNECT));
 }
 
 int _network_WLAN_status(PikaObj* self) {
@@ -138,19 +138,21 @@ PikaObj* _network_WLAN_checkIfconfig(PikaObj* self) {
     if (hal_wifi == NULL) {
         return NULL;
     }
-    pika_hal_WIFI_config* cfg = hal_wifi->ioctl_config;
+    pika_hal_WIFI_ifconfig ifconfig = {0};
+    check_res(
+        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_GET_IFCONFIG, &ifconfig));
     PikaObj* ifconfig_list = newNormalObj(New_PikaStdData_List);
     PikaStdData_List___init__(ifconfig_list);
-    Arg* arg = arg_newStr(cfg->ip);
+    Arg* arg = arg_newStr(ifconfig.ip);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->netmask);
+    arg = arg_newStr(ifconfig.netmask);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->gateway);
+    arg = arg_newStr(ifconfig.gateway);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->dns);
+    arg = arg_newStr(ifconfig.dns);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
     return ifconfig_list;
@@ -165,12 +167,13 @@ void _network_WLAN_ifconfig(PikaObj* self,
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.ip, ip);
-    strcpy(cfg.netmask, mask);
-    strcpy(cfg.gateway, gateway);
-    strcpy(cfg.dns, dns);
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_CONFIG, &cfg));
+    pika_hal_WIFI_ifconfig ifconfig = {0};
+    strcpy(ifconfig.ip, ip);
+    strcpy(ifconfig.netmask, mask);
+    strcpy(ifconfig.gateway, gateway);
+    strcpy(ifconfig.dns, dns);
+    check_res(
+        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_SET_IFCONFIG, &ifconfig));
     return;
 }
 

+ 1 - 4
package/network/network.py

@@ -30,9 +30,6 @@ class WLAN(_network.WLAN):
     def disconnect(self):
         return super().disconnect()
 
-    def disconnect(self):
-        return super().disconnect()
-
     def status(self, param=None):
         if param is None:
             return super().status()
@@ -54,7 +51,7 @@ class WLAN(_network.WLAN):
             return (t[0], t[1], t[2], t[3])
         else:
             return super().ifconfig(
-                config[0], config[1], config[2], config[3], config[4])
+                config[0], config[1], config[2], config[3])
 
     def scan(self):
         return super().scan()

+ 1 - 4
port/linux/package/pikascript/network.py

@@ -30,9 +30,6 @@ class WLAN(_network.WLAN):
     def disconnect(self):
         return super().disconnect()
 
-    def disconnect(self):
-        return super().disconnect()
-
     def status(self, param=None):
         if param is None:
             return super().status()
@@ -54,7 +51,7 @@ class WLAN(_network.WLAN):
             return (t[0], t[1], t[2], t[3])
         else:
             return super().ifconfig(
-                config[0], config[1], config[2], config[3], config[4])
+                config[0], config[1], config[2], config[3])
 
     def scan(self):
         return super().scan()

+ 4 - 7
port/linux/package/pikascript/pikascript-lib/PikaStdDevice/pika_hal.c

@@ -302,12 +302,9 @@ int pika_hal_WIFI_ioctl_merge_config(pika_hal_WIFI_config* dst,
                                      pika_hal_WIFI_config* src) {
     _IOCTL_CONFIG_USE_DEFAULT(mode, PIKA_HAL_WIFI_MODE_STA);
     _IOCTL_CONFIG_USE_DEFAULT(channel, PIKA_HAL_WIFI_CHANNEL_0);
-    _IOCTL_CONFIG_USE_DEFAULT_STR(ssid, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(bssid, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(password, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(ip, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(netmask, "255.255.255.0");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(gateway, "");
-    _IOCTL_CONFIG_USE_DEFAULT_STR(dns, "");
+    _IOCTL_CONFIG_USE_DEFAULT(max_connection, PIKA_HAL_WIFI_MAX_CONNECTION_4);
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_ssid, "pikapython.com");
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_bssid, "");
+    _IOCTL_CONFIG_USE_DEFAULT_STR(ap_password, "pikapython.com");
     return 0;
 }

+ 29 - 2
port/linux/package/pikascript/pikascript-lib/PikaStdDevice/pika_hal.h

@@ -25,10 +25,13 @@ typedef enum {
     PIKA_HAL_IOCTL_CONFIG,
     PIKA_HAL_IOCTL_ENABLE,
     PIKA_HAL_IOCTL_DISABLE,
-    PIKA_HAL_IOCTL_WIFI_SET_ACTIVE,
     PIKA_HAL_IOCTL_WIFI_GET_ACTIVE,
     PIKA_HAL_IOCTL_WIFI_GET_STATUS,
     PIKA_HAL_IOCTL_WIFI_SCAN,
+    PIKA_HAL_IOCTL_WIFI_CONNECT,
+    PIKA_HAL_IOCTL_WIFI_DISCONNECT,
+    PIKA_HAL_IOCTL_WIFI_SET_IFCONFIG,
+    PIKA_HAL_IOCTL_WIFI_GET_IFCONFIG,
     _ = 0xFFFFFFFF,  // make sure it is 4 byte width
 } PIKA_HAL_IOCTL_CMD;
 
@@ -413,18 +416,42 @@ typedef enum {
     PIKA_HAL_WIFI_CHANNEL_11,
 } PIKA_HAL_WIFI_CHANNEL;
 
+typedef enum {
+    _PIKA_HAL_WIFI_MAX_CONNECTION = 0,
+    PIKA_HAL_WIFI_MAX_CONNECTION_1,
+    PIKA_HAL_WIFI_MAX_CONNECTION_2,
+    PIKA_HAL_WIFI_MAX_CONNECTION_3,
+    PIKA_HAL_WIFI_MAX_CONNECTION_4,
+    PIKA_HAL_WIFI_MAX_CONNECTION_5,
+    PIKA_HAL_WIFI_MAX_CONNECTION_6,
+    PIKA_HAL_WIFI_MAX_CONNECTION_7,
+    PIKA_HAL_WIFI_MAX_CONNECTION_8,
+    PIKA_HAL_WIFI_MAX_CONNECTION_9,
+    PIKA_HAL_WIFI_MAX_CONNECTION_10
+} PIKA_HAL_WIFI_MAX_CONNECTION;
+
 #define PIKA_HAL_WIFI_PARAM_MAX_LEN 32
 typedef struct pika_hal_WIFI_config {
     PIKA_HAL_WIFI_MODE mode;
     PIKA_HAL_WIFI_CHANNEL channel;
+    PIKA_HAL_WIFI_MAX_CONNECTION max_connection;
+    char ap_ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+    char ap_bssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+    char ap_password[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+} pika_hal_WIFI_config;
+
+typedef struct pika_hal_WIFI_connect_config {
     char ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char bssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char password[PIKA_HAL_WIFI_PARAM_MAX_LEN];
+} pika_hal_WIFI_connect_config;
+
+typedef struct pika_hal_WIFI_ifconfig {
     char ip[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char netmask[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char gateway[PIKA_HAL_WIFI_PARAM_MAX_LEN];
     char dns[PIKA_HAL_WIFI_PARAM_MAX_LEN];
-} pika_hal_WIFI_config;
+} pika_hal_WIFI_ifconfig;
 
 typedef struct pika_hal_WIFI_record {
     char ssid[PIKA_HAL_WIFI_PARAM_MAX_LEN];

+ 31 - 28
port/linux/package/pikascript/pikascript-lib/network/_network_WLAN.c

@@ -25,8 +25,7 @@ void _network_WLAN_active(PikaObj* self, int is_active) {
     if (hal_wifi == NULL) {
         return;
     }
-    check_res(
-        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_SET_ACTIVE, &is_active));
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_ENABLE));
     return;
 }
 
@@ -48,10 +47,10 @@ void _network_WLAN_config(PikaObj* self, PikaDict* kwargs) {
     }
     pika_hal_WIFI_config cfg = {0};
     if (pikaDict_isArgExist(kwargs, "ssid")) {
-        strcpy(cfg.ssid, pikaDict_getStr(kwargs, "ssid"));
+        strcpy(cfg.ap_ssid, pikaDict_getStr(kwargs, "ssid"));
     }
-    if (pikaDict_isArgExist(kwargs, "key")) {
-        strcpy(cfg.password, pikaDict_getStr(kwargs, "key"));
+    if (pikaDict_isArgExist(kwargs, "password")) {
+        strcpy(cfg.ap_password, pikaDict_getStr(kwargs, "password"));
     }
     if (pikaDict_isArgExist(kwargs, "channel")) {
         cfg.channel = pikaDict_getInt(kwargs, "channel") + 1;
@@ -66,9 +65,9 @@ Arg* _network_WLAN_checkConfig(PikaObj* self, char* param) {
     }
     pika_hal_WIFI_config* cfg = hal_wifi->ioctl_config;
     if (strcmp(param, "ssid") == 0) {
-        return arg_newStr(cfg->ssid);
-    } else if (strcmp(param, "key") == 0) {
-        return arg_newStr(cfg->password);
+        return arg_newStr(cfg->ap_ssid);
+    } else if (strcmp(param, "password") == 0) {
+        return arg_newStr(cfg->ap_password);
     } else if (strcmp(param, "channel") == 0) {
         return arg_newInt(cfg->channel - 1);
     } else {
@@ -81,11 +80,10 @@ void _network_WLAN_connect(PikaObj* self, char* ssid, char* key) {
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.ssid, ssid);
-    strcpy(cfg.password, key);
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_CONFIG, &cfg));
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_ENABLE));
+    pika_hal_WIFI_connect_config conncfg = {0};
+    strcpy(conncfg.ssid, ssid);
+    strcpy(conncfg.password, key);
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_CONNECT, &conncfg));
     return;
 }
 
@@ -97,9 +95,11 @@ void _network_WLAN_connectWithBssid(PikaObj* self,
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.bssid, bssid);
-    _network_WLAN_connect(self, ssid, key);
+    pika_hal_WIFI_connect_config conncfg = {0};
+    strcpy(conncfg.ssid, ssid);
+    strcpy(conncfg.password, key);
+    strcpy(conncfg.bssid, bssid);
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_CONNECT, &conncfg));
 }
 
 void _network_WLAN_disconnect(PikaObj* self) {
@@ -107,7 +107,7 @@ void _network_WLAN_disconnect(PikaObj* self) {
     if (hal_wifi == NULL) {
         return;
     }
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_DISABLE));
+    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_DISCONNECT));
 }
 
 int _network_WLAN_status(PikaObj* self) {
@@ -138,19 +138,21 @@ PikaObj* _network_WLAN_checkIfconfig(PikaObj* self) {
     if (hal_wifi == NULL) {
         return NULL;
     }
-    pika_hal_WIFI_config* cfg = hal_wifi->ioctl_config;
+    pika_hal_WIFI_ifconfig ifconfig = {0};
+    check_res(
+        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_GET_IFCONFIG, &ifconfig));
     PikaObj* ifconfig_list = newNormalObj(New_PikaStdData_List);
     PikaStdData_List___init__(ifconfig_list);
-    Arg* arg = arg_newStr(cfg->ip);
+    Arg* arg = arg_newStr(ifconfig.ip);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->netmask);
+    arg = arg_newStr(ifconfig.netmask);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->gateway);
+    arg = arg_newStr(ifconfig.gateway);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
-    arg = arg_newStr(cfg->dns);
+    arg = arg_newStr(ifconfig.dns);
     PikaStdData_List_append(ifconfig_list, arg);
     arg_deinit(arg);
     return ifconfig_list;
@@ -165,12 +167,13 @@ void _network_WLAN_ifconfig(PikaObj* self,
     if (hal_wifi == NULL) {
         return;
     }
-    pika_hal_WIFI_config cfg = {0};
-    strcpy(cfg.ip, ip);
-    strcpy(cfg.netmask, mask);
-    strcpy(cfg.gateway, gateway);
-    strcpy(cfg.dns, dns);
-    check_res(pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_CONFIG, &cfg));
+    pika_hal_WIFI_ifconfig ifconfig = {0};
+    strcpy(ifconfig.ip, ip);
+    strcpy(ifconfig.netmask, mask);
+    strcpy(ifconfig.gateway, gateway);
+    strcpy(ifconfig.dns, dns);
+    check_res(
+        pika_hal_ioctl(hal_wifi, PIKA_HAL_IOCTL_WIFI_SET_IFCONFIG, &ifconfig));
     return;
 }