Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
概念:
cfg80211是Linux 802.11用于管理配置的一套API,它是用户和驱动之间的桥梁,替代了WEXT,提供和802.11相关的功能。用户空间通过nl80211用来配置80211设备,即cfg80122与用户空间的交互窗口。
WEXT代码虽然还在,但新功能已经不做添加,只做bug的fix。为了兼容性,cfg80211支持WEXT的所有功能,提供给用户空间调用,如果想使用WEXT,要开启宏CONFIG_CFG80211_WEXT。
WEXT使用的是IOCTL方式,cfg80211使用的是netlink方式。
架构:
代码结构:
kernel/net/wireless
core.c: 核心代码
nl80211.c: nl80211 generic netlink code
scan.c: 扫描部分
util.c: cfg80211和driver的utility功能
wext-xxx.c: wext兼容代码