mirror of
https://github.com/drasko/open-ameba.git
synced 2024-11-22 05:54:17 +00:00
update
This commit is contained in:
parent
f7b901aa27
commit
88eff2e9c2
10 changed files with 2395 additions and 2304 deletions
|
@ -1838,9 +1838,14 @@ static void wifi_autoreconnect_thread(void *param) {
|
||||||
struct wifi_autoreconnect_param *reconnect_param =
|
struct wifi_autoreconnect_param *reconnect_param =
|
||||||
(struct wifi_autoreconnect_param *) param;
|
(struct wifi_autoreconnect_param *) param;
|
||||||
printf("auto reconnect ...\n");
|
printf("auto reconnect ...\n");
|
||||||
ret = wifi_connect(reconnect_param->ssid, reconnect_param->security_type,
|
ret = wifi_connect(
|
||||||
reconnect_param->password, reconnect_param->ssid_len,
|
NULL,
|
||||||
reconnect_param->password_len, reconnect_param->key_id, NULL);
|
0,
|
||||||
|
reconnect_param->ssid,
|
||||||
|
reconnect_param->security_type,
|
||||||
|
reconnect_param->password,
|
||||||
|
reconnect_param->key_id,
|
||||||
|
NULL);
|
||||||
if (ret == RTW_SUCCESS) {
|
if (ret == RTW_SUCCESS) {
|
||||||
#if CONFIG_LWIP_LAYER
|
#if CONFIG_LWIP_LAYER
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,10 @@
|
||||||
#include "feep_config.h"
|
#include "feep_config.h"
|
||||||
|
|
||||||
#include "wifi_api.h"
|
#include "wifi_api.h"
|
||||||
|
#include "main.h"
|
||||||
#include "wifi_user_set.h"
|
#include "wifi_user_set.h"
|
||||||
|
|
||||||
#ifdef CONFIG_ENABLE_WPS
|
#if defined(CONFIG_ENABLE_WPS_AP) && CONFIG_ENABLE_WPS_AP
|
||||||
extern void cmd_ap_wps(int argc, char **argv);
|
extern void cmd_ap_wps(int argc, char **argv);
|
||||||
extern int wpas_wps_dev_config(u8 *dev_addr, u8 bregistrar);
|
extern int wpas_wps_dev_config(u8 *dev_addr, u8 bregistrar);
|
||||||
#endif //CONFIG_WPS_AP
|
#endif //CONFIG_WPS_AP
|
||||||
|
@ -87,6 +88,27 @@ DHCP_CONFIG wifi_st_dhcp = {
|
||||||
|
|
||||||
rtw_mode_t wifi_run_mode = RTW_MODE_NONE;
|
rtw_mode_t wifi_run_mode = RTW_MODE_NONE;
|
||||||
|
|
||||||
|
extern void (*p_wlan_autoreconnect_hdl)(rtw_security_t, char*, int, char*, int,
|
||||||
|
int);
|
||||||
|
|
||||||
|
#define PARM_RECONNECT 1
|
||||||
|
|
||||||
|
struct wifi_autoreconnect_param {
|
||||||
|
#if PARM_RECONNECT
|
||||||
|
rtw_security_t security_type;
|
||||||
|
int key_id;
|
||||||
|
#else
|
||||||
|
rtw_security_t security_type;
|
||||||
|
char *ssid;
|
||||||
|
int ssid_len;
|
||||||
|
char *password;
|
||||||
|
int password_len;
|
||||||
|
int key_id;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
struct wifi_autoreconnect_param wifi_autoreconnect;
|
||||||
|
|
||||||
typedef struct _feep_element {
|
typedef struct _feep_element {
|
||||||
uint16 id;
|
uint16 id;
|
||||||
uint16 size;
|
uint16 size;
|
||||||
|
@ -138,7 +160,7 @@ extern void (*p_wlan_autoreconnect_hdl)(rtw_security_t, char*, int, char*, int,
|
||||||
int);
|
int);
|
||||||
#endif
|
#endif
|
||||||
extern wlan_init_done_ptr p_wlan_init_done_callback;
|
extern wlan_init_done_ptr p_wlan_init_done_callback;
|
||||||
extern write_reconnect_ptr p_write_reconnect_ptr;
|
//extern write_reconnect_ptr p_write_reconnect_ptr;
|
||||||
extern struct netif xnetif[NET_IF_NUM];
|
extern struct netif xnetif[NET_IF_NUM];
|
||||||
|
|
||||||
_WEAK void connect_start(void)
|
_WEAK void connect_start(void)
|
||||||
|
@ -284,6 +306,68 @@ rtw_result_t StartStDHCPClient(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void wifi_autoreconnect_thread_(void *param) {
|
||||||
|
int ret = RTW_ERROR;
|
||||||
|
struct wifi_autoreconnect_param *reconnect_param =
|
||||||
|
(struct wifi_autoreconnect_param *) param;
|
||||||
|
printf("auto reconnect ...\n");
|
||||||
|
ret = wifi_connect(
|
||||||
|
wifi_st_cfg.bssid,
|
||||||
|
wifi_st_cfg.flg,
|
||||||
|
#if PARM_RECONNECT
|
||||||
|
wifi_st_cfg.ssid,
|
||||||
|
reconnect_param->security_type,
|
||||||
|
wifi_st_cfg.password,
|
||||||
|
#else
|
||||||
|
reconnect_param->ssid,
|
||||||
|
reconnect_param->security_type,
|
||||||
|
reconnect_param->password,
|
||||||
|
#endif
|
||||||
|
reconnect_param->key_id,
|
||||||
|
NULL);
|
||||||
|
if (ret == RTW_SUCCESS) {
|
||||||
|
if(wifi_cfg.save_flg & BID_WIFI_ST_CFG)
|
||||||
|
write_wifi_cfg(BID_WIFI_ST_CFG);
|
||||||
|
// Start DHCPClient
|
||||||
|
ret = StartStDHCPClient();
|
||||||
|
if(ret == RTW_SUCCESS) {
|
||||||
|
show_wifi_st_ip();
|
||||||
|
#if CONFIG_WLAN_CONNECT_CB
|
||||||
|
// extern void connect_start(void);
|
||||||
|
connect_start();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vTaskDelete(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
LOCAL void wifi_autoreconnect_hdl_(rtw_security_t security_type, char *ssid,
|
||||||
|
int ssid_len, char *password, int password_len, int key_id) {
|
||||||
|
wifi_autoreconnect.security_type = security_type;
|
||||||
|
wifi_autoreconnect.key_id = key_id;
|
||||||
|
#if PARM_RECONNECT==0
|
||||||
|
wifi_autoreconnect.ssid = ssid;
|
||||||
|
wifi_autoreconnect.password = password;
|
||||||
|
#endif
|
||||||
|
_adapter * ad = *(_adapter **)((rltk_wlan_info[0].dev)->priv);
|
||||||
|
if(ad->mlmeextpriv.reconnect_cnt == 255) {
|
||||||
|
ad->mlmeextpriv.reconnect_cnt = 0;
|
||||||
|
};
|
||||||
|
xTaskCreate(wifi_autoreconnect_thread_, (const char * )"st_recon", 400,
|
||||||
|
&wifi_autoreconnect, tskIDLE_PRIORITY + 1, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL void st_set_autoreconnect(uint8 mode, uint8 count, uint16 timeout) {
|
||||||
|
p_wlan_autoreconnect_hdl = wifi_autoreconnect_hdl_;
|
||||||
|
_adapter * ad = *(_adapter **)((rltk_wlan_info[0].dev)->priv);
|
||||||
|
ad->mlmeextpriv.reconnect_times = count;
|
||||||
|
ad->mlmeextpriv.reconnect_timeout = timeout;
|
||||||
|
ad->mlmeextpriv.reconnect_cnt = 0;
|
||||||
|
ad->mlmeextpriv.auto_reconnect = (mode != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
rtw_result_t wifi_run_st(void) {
|
rtw_result_t wifi_run_st(void) {
|
||||||
rtw_result_t ret = RTW_SUCCESS;
|
rtw_result_t ret = RTW_SUCCESS;
|
||||||
chk_ap_netif_num();
|
chk_ap_netif_num();
|
||||||
|
@ -291,10 +375,10 @@ rtw_result_t wifi_run_st(void) {
|
||||||
#if CONFIG_AUTO_RECONNECT
|
#if CONFIG_AUTO_RECONNECT
|
||||||
// p_wlan_autoreconnect_hdl = NULL;
|
// p_wlan_autoreconnect_hdl = NULL;
|
||||||
if (wifi_st_cfg.autoreconnect) {
|
if (wifi_st_cfg.autoreconnect) {
|
||||||
ret = wifi_config_autoreconnect(1, wifi_st_cfg.autoreconnect,
|
st_set_autoreconnect(1, wifi_st_cfg.autoreconnect, wifi_st_cfg.reconnect_pause);
|
||||||
wifi_st_cfg.reconnect_pause);
|
// ret = wext_set_autoreconnect(WLAN0_NAME, 1, wifi_st_cfg.autoreconnect, wifi_st_cfg.reconnect_pause);
|
||||||
if (ret != RTW_SUCCESS)
|
// if (ret != RTW_SUCCESS)
|
||||||
warning_printf("ERROR: Operation failed! Error=%d\n", ret);
|
// warning_printf("ERROR: Operation failed! Error=%d\n", ret);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
info_printf("Connected to AP (%s, netif%d)...\n", wlan_st_name, wlan_st_netifn);
|
info_printf("Connected to AP (%s, netif%d)...\n", wlan_st_name, wlan_st_netifn);
|
||||||
|
@ -460,6 +544,9 @@ int wifi_run(rtw_mode_t mode) {
|
||||||
error_printf("Error set tx power (%d)!", wifi_cfg.tx_pwr);
|
error_printf("Error set tx power (%d)!", wifi_cfg.tx_pwr);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
if(wifi_set_network_mode(wifi_cfg.bgn) != RTW_SUCCESS) {
|
||||||
|
error_printf("Error set network mode (%d)!", wifi_cfg.bgn);
|
||||||
|
}
|
||||||
debug_printf("mode == wifi_mode? (%d == %d?)\n", mode, wifi_mode);
|
debug_printf("mode == wifi_mode? (%d == %d?)\n", mode, wifi_mode);
|
||||||
// if(mode == wifi_mode)
|
// if(mode == wifi_mode)
|
||||||
{
|
{
|
||||||
|
@ -558,6 +645,10 @@ void show_wifi_st_ip(void) {
|
||||||
printf("Station ip: " IPSTR "\n", IP2STR(&xnetif[WLAN_ST_NETIF_NUM].ip_addr));
|
printf("Station ip: " IPSTR "\n", IP2STR(&xnetif[WLAN_ST_NETIF_NUM].ip_addr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void show_wifi_MAC(void) {
|
||||||
|
printf("MAC: " IPSTR "\n", IP2STR(&xnetif[WLAN_ST_NETIF_NUM].ip_addr));
|
||||||
|
}
|
||||||
|
|
||||||
void show_wifi_st_cfg(void) {
|
void show_wifi_st_cfg(void) {
|
||||||
printf("\tSSID: '%s'\n", wifi_st_cfg.ssid);
|
printf("\tSSID: '%s'\n", wifi_st_cfg.ssid);
|
||||||
printf("\tPassword: '%s'\n", wifi_st_cfg.password);
|
printf("\tPassword: '%s'\n", wifi_st_cfg.password);
|
||||||
|
|
|
@ -708,9 +708,9 @@ struct mlme_ext_priv { //__attribute__((packed))?
|
||||||
uint16_t action_public_rxseq;
|
uint16_t action_public_rxseq;
|
||||||
_timer reconnect_timer;
|
_timer reconnect_timer;
|
||||||
uint8_t reconnect_deauth_filtered;
|
uint8_t reconnect_deauth_filtered;
|
||||||
uint8_t reconnect_times;
|
uint8_t reconnect_times; //+2017
|
||||||
uint8_t reconnect_cnt;
|
uint8_t reconnect_cnt;
|
||||||
uint16_t reconnect_timeout;
|
uint16_t reconnect_timeout; //+ 2020
|
||||||
uint8_t saved_alg;
|
uint8_t saved_alg;
|
||||||
uint8_t saved_essid[33];
|
uint8_t saved_essid[33];
|
||||||
uint8_t saved_key[32];
|
uint8_t saved_key[32];
|
||||||
|
@ -718,7 +718,7 @@ struct mlme_ext_priv { //__attribute__((packed))?
|
||||||
uint8_t saved_key_idx;
|
uint8_t saved_key_idx;
|
||||||
uint8_t saved_wpa_passphrase[65];
|
uint8_t saved_wpa_passphrase[65];
|
||||||
uint8_t saved_eap_method;
|
uint8_t saved_eap_method;
|
||||||
uint8_t auto_reconnect;
|
uint8_t auto_reconnect; // + 2157 ?
|
||||||
uint8_t partial_scan;
|
uint8_t partial_scan;
|
||||||
p_cus_ie cus_ven_ie;
|
p_cus_ie cus_ven_ie;
|
||||||
uint8_t ie_num;
|
uint8_t ie_num;
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
4578
build/obj/build.nmap
4578
build/obj/build.nmap
File diff suppressed because it is too large
Load diff
|
@ -354,7 +354,6 @@ SRC_C += sdk/component/common/file_system/fatfs/disk_if/src/sdcard.c
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
ADD_SRC_C =
|
ADD_SRC_C =
|
||||||
# REVERSED
|
# REVERSED
|
||||||
#ADD_SRC_C += sdk/component/soc/realtek/8195a/cmsis/device/app_start.c
|
|
||||||
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_dac.c
|
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_dac.c
|
||||||
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_common.c
|
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_common.c
|
||||||
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_soc_ps_monitor.c
|
ADD_SRC_C += sdk/component/soc/realtek/8195a/fwlib/src/hal_soc_ps_monitor.c
|
||||||
|
|
Loading…
Reference in a new issue