目录
一、内核配置
打开终端,运行环境脚本,再进入SDK的内核目录SDK/source/kernel/linux-4.4.y目录下,执行
make ARCH=arm hi3798mv200_defconfig
make ARCH=arm menuconfig
1.1 配置WEXT
WEXT 即Wireless Extension,是内核中WiFi 驱动和用户态进程的标准接口。
有的内核版本中,WEXT 没有直接的配置选项,需要在Device Drivers->Network device support->Wireless LAN 中将依赖于CONFIG_WIRELESS_EXT=y 的驱动打开,这样CONFIG_WIRELESS_EXT 会自动打开。如图1-1 所示,将ZD1201 设置成M。
如图 所示,内核中已经附带了多款WiFi 的驱动,但实际上并没有使用内核中的驱动程序,而是直接从厂家获取驱动程序,集成到SDK 中,因此内核中的相同型号WiFi的驱动程序不要打开,否则会出现编译冲突。
1.2 配置CFG80211
CFG80211 是内核中 WiFi 驱动和用户态进程的标准接口,在 CFG80211 出现之前是WEXT,现在越来越多的使用 CFG80211,WiFi Direct 功能只有 CFG80211 才支持。
进入Networking support->Wireless,设置cfg80211 和mac80211 为M,如图所示。
Atheros 的WiFi 驱动中带有他们修改过的CFG80211 程序,只能使用驱动中的CFG80211,如果内核中的CFG80211 设置为y 会引起WiFi 驱动中的CFG80211 程序编译冲突,因此内核中的cfg80211 和mac80211 要设置成M。
1.3 配置USB
1.4 配置Netlink
wpa_supplicant、hostapd 模块和内核通信采用了Netlink,所以需要配置Netlink。
进入Network support->Networking options,设置Network packet filtering framework(Netfilter)为y。再进入Network packet filtering framework (Netfilter),设置Advanced netfilter Configuration 为y,再进入Core Netfilter Configuration,按下图进行设置。
1.5 配置NAT转发
如果需要SoftAP 的网络共享功能,进入Network support->Networking options->Network packet filtering framework (Netfilter)->Core Netfilter Configuration,设置Netfilter connection tracking support 为y。再进入Network support->Networking options-> Network packet filtering framework (Netfilter)->IP: Netfilter Configuration,按下图