1. 问题背景 特殊需求想要修改 AP 模式使用的 IP 地址、子网掩码、网关。
2. 问题描述 xradio_skylark_sdk 中如何设置 AP 模式默认 IP 地址、子网掩码、网关?
3. 问题分析 目前 SDK 中使用都是使用静态的方法去配置 AP 模式的 IP 地址、掩码、网关以及 DHCP 的地址池范围。若要修改,则需要到指定文件中修改。注意:若修改了 AP 的 IP 地址,需要确保 DHCP 分配的地址池与 AP 的 IP 地址是同一子网段下。
4. 解决办法
(1) 修改 AP 模式的 IP 地址的方法 在 project/common/framework/sysinfo.c 的 int sysinfo_default(void) 函数内部进行修改:
/* netif AP */
IP4_ADDR(&g_sysinfo.netif_ap_param.ip_addr, 192, 168, 51, 1);
IP4_ADDR(&g_sysinfo.netif_ap_param.net_mask, 255, 255, 255, 0);
IP4_ADDR(&g_sysinfo.netif_ap_param.gateway, 192, 168, 51, 1);
(2) 修改 DHCP 地址池范围的方法 在 src/net/udhcp-0.9.8/dhcpd_cfg.h 进行修改:
#define DHCPD_ADDR_START "192.168.51.100"
#define DHCPD_ADDR_END "192.168.51.104"
#define DHCPD_INTERFACE "en1"
#define DHCPD_OPTION ""
#define DHCPD_OPT ""
#define DHCPD_REMAIN "yes"
#define DHCPD_MAX_LEASES "5"