LwIP v2 support
This commit is contained in:
parent
1cfded6389
commit
cd23acaa4a
39 changed files with 1357 additions and 664 deletions
|
|
@ -3,13 +3,13 @@
|
|||
Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries.
|
||||
BSD Licensed as described in the file LICENSE
|
||||
*/
|
||||
#include "open_esplibs.h"
|
||||
#if OPEN_LIBWPA_WPA_MAIN
|
||||
// The contents of this file are only built if OPEN_LIBWPA_WPA_MAIN is set to true
|
||||
|
||||
#include <strings.h>
|
||||
#include <string.h>
|
||||
#include "espressif/user_interface.h"
|
||||
#include "etstimer.h"
|
||||
#include "espressif/osapi.h"
|
||||
#include "espressif/esp_sta.h"
|
||||
#include "esplibs/libnet80211.h"
|
||||
#include "esplibs/libmain.h"
|
||||
#include "esplibs/libwpa.h"
|
||||
|
|
@ -44,8 +44,8 @@ void sdk_wpa_config_bss(struct sdk_g_ic_st *g_ic, uint8_t (* hwaddr2)[6]) {
|
|||
struct sdk_g_ic_netif_info *netif_info = g_ic->v.station_netif_info;
|
||||
struct netif *netif = netif_info->netif;
|
||||
sdk_wpa_set_bss(netif->hwaddr, hwaddr2, g_ic->s._unknown20a, g_ic->s._unknown20c,
|
||||
g_ic->s.sta_password, g_ic->s._unknown1e4.sta_ssid,
|
||||
(g_ic->s._unknown1e4._unknown1e6 << 16) | g_ic->s._unknown1e4._unknown1e4);
|
||||
g_ic->s.sta_password, g_ic->s.sta_ssid.ssid,
|
||||
g_ic->s.sta_ssid.ssid_length);
|
||||
}
|
||||
|
||||
void sdk_wpa_config_assoc_ie(int arg0, int16_t *arg1, int32_t arg2) {
|
||||
|
|
@ -57,14 +57,14 @@ void sdk_wpa_config_assoc_ie(int arg0, int16_t *arg1, int32_t arg2) {
|
|||
*arg1 = arg2;
|
||||
}
|
||||
|
||||
void sdk_dhcp_bind_check() {
|
||||
void sdk_dhcp_bind_check(void *parg) {
|
||||
struct sdk_g_ic_netif_info *netif_info = sdk_g_ic.v.station_netif_info;
|
||||
uint8_t connect_status = netif_info->connect_status;
|
||||
uint8_t unknown20a = sdk_g_ic.s._unknown20a;
|
||||
|
||||
if (connect_status != 5) {
|
||||
if (connect_status != STATION_GOT_IP) {
|
||||
if (unknown20a == 7 || unknown20a == 8) {
|
||||
netif_info->connect_status = 2;
|
||||
netif_info->connect_status = STATION_CONNECTING;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -72,13 +72,13 @@ void sdk_dhcp_bind_check() {
|
|||
void sdk_eagle_auth_done() {
|
||||
struct sdk_g_ic_netif_info *netif_info = sdk_g_ic.v.station_netif_info;
|
||||
struct netif *netif = netif_info->netif;
|
||||
struct sdk_netif_conninfo *conninfo = netif_info->_unknown88;
|
||||
struct sdk_cnx_node *cnx_node = netif_info->_unknown88;
|
||||
|
||||
if (conninfo->_unknown08 & 1)
|
||||
if (cnx_node->_unknown08 & 1)
|
||||
return;
|
||||
|
||||
uint32_t channel = conninfo->_unknown78->channel;
|
||||
char *ssid = (char *)sdk_g_ic.s._unknown1e4.sta_ssid;
|
||||
uint32_t channel = cnx_node->_unknown78->channel;
|
||||
char *ssid = (char *)sdk_g_ic.s.sta_ssid.ssid;
|
||||
printf("\nconnected with %s, channel %d\n", ssid, channel);
|
||||
|
||||
RTCMEM_SYSTEM[61] = 0x00010000 | channel;
|
||||
|
|
@ -89,24 +89,29 @@ void sdk_eagle_auth_done() {
|
|||
sdk_os_timer_arm(timer, 15000, 0);
|
||||
|
||||
netif_info->statusb9 = 0;
|
||||
conninfo->_unknown18 = 0;
|
||||
conninfo->_unknown08 |= 1;
|
||||
cnx_node->_unknown18 = 0;
|
||||
cnx_node->_unknown08 |= 1;
|
||||
|
||||
// TODO lwip v2 removed the NETIF_FLAG_DHCP flag.
|
||||
if (netif->flags & 0x08) // NETIF_FLAG_DHCP
|
||||
if (dhcp_supplied_address(netif))
|
||||
return;
|
||||
|
||||
// lwip v2: if (ip4_addr_isany_val(netif->ip_addr)) {
|
||||
if (netif->ip_addr.addr == 0) {
|
||||
if (sdk_dhcpc_flag != DHCP_STOPPED) {
|
||||
printf("dhcp client start...\n");
|
||||
dhcp_start(netif);
|
||||
}
|
||||
if (sdk_dhcpc_flag != DHCP_STOPPED) {
|
||||
printf("dhcp client start...\n");
|
||||
netif_set_up(netif);
|
||||
dhcp_start(netif);
|
||||
return;
|
||||
}
|
||||
|
||||
system_station_got_ip_set(&netif->ip_addr, &netif->netmask, &netif->gw);
|
||||
if (ip4_addr_isany_val(sdk_info.sta_ipaddr)) {
|
||||
printf("expected a static ip address?\n");
|
||||
return;
|
||||
}
|
||||
|
||||
netif_set_addr(netif, &sdk_info.sta_ipaddr, &sdk_info.sta_netmask, &sdk_info.sta_gw);
|
||||
netif_set_up(netif);
|
||||
sdk_system_station_got_ip_set(ip_2_ip4(&netif->ip_addr),
|
||||
ip_2_ip4(&netif->netmask),
|
||||
ip_2_ip4(&netif->gw));
|
||||
}
|
||||
|
||||
void sdk_wpa_neg_complete() {
|
||||
|
|
@ -120,5 +125,3 @@ void sdk_wpa_attach(struct sdk_g_ic_st *g_ic) {
|
|||
wpa_callback2, sdk_wpa_neg_complete);
|
||||
sdk_ppRegisterTxCallback(sdk_eapol_txcb, 3);
|
||||
}
|
||||
|
||||
#endif /* OPEN_LIBWPA_WPA_MAIN */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue