/** * In this function, the hardware should be initialized. * Called from wlif_init(). * * @param netif the already initialized lwip network interface structure * for this ethernetif */ static err_t low_level_init(struct netif *netif) { /* device capabilities */ netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_IGMP; /* NETIF_FLAG_LINK_UP must be set only when we have an wlan assoc */ /* set MAC hardware address length */ netif->hwaddr_len = ETHARP_HWADDR_LEN; if (wl_get_mac_addr(netif->hwaddr) != WL_SUCCESS) return ERR_IF; /* maximum transfer unit */ netif->mtu = 1500; return ERR_OK; }
cmd_state_t cmd_status(int argc, char* argv[], void* ctx) { struct net_cfg *ncfg = ctx; struct wl_network_t* net; uint8_t mac[WL_MAC_ADDR_LENGTH]; printk("wl_api version " WL_API_RELEASE_NAME "\n"); /* print mac address */ if (wl_get_mac_addr(mac) != WL_SUCCESS) { printk("failed to get mac address\n"); return CMD_DONE; } printk("hw addr: %s\n", mac2str(mac)); /* print network info */ net = wl_get_current_network(); printk("link status: "); if (!net) { printk("down\n"); return CMD_DONE; } print_network(net); /* print ip address */ if (netif_is_up(netif_default)) printk("ip addr: %s\n", ip2str(netif_default->ip_addr)); else printk("ip addr: none\n"); printk("dhcp : "); if (ncfg->dhcp_enabled) { printk("enabled\n"); } else { printk("disabled\n"); } return CMD_DONE; }