MLME解释


MLME:  MLME是 MAC Sublayer Management Entity,MAC子层管理实体。物理层(PHY)MAC状态机就位于MLME中。
fullmac: 是指使用硬件管理MLME的无线网卡类型。
softmac: 是指使用软件管理MLME的无线网卡类型。
cfg80211: 用于在内核空间中对无线设备进行配置管理,和FullMAC,mac80211和nl80211一起工作。
mac80211: SoftMAC类型网卡的驱动API。
nl80211: 用于在用户空间内对无线设备进行配置管理。它是一个基于Netlink的用户空间协议。
iw: 基于nl80211的无线设备命令行配置工具(用于取代iwconfig)。

mac80211:
mac80211是一个无线设备驱动开发框架,驱动开发者可以使用mac80211来开发SoftMAC类型的无线设备驱动。
SoftMAC设备允许对硬件有更精细的控制,允许通过软件来替硬件完成802.11帧的管理,允许解析和生成802.11无线帧。今天,大部分的802.11设备都是这种类型的,FullMAC类型的设备会越来越少。
mac80211为SoftMAC设备实现了cfg80211回调函数,然后mac80211依赖于cfg80211来完成向网络子系统的注册和设备管理。无线设备的配置可以使用nl80211或者wireless extensions(一套老的配置工具),这两个工具的操作最终会由cfg80211来处理。
在mac80211中,STA模式的MLME是在内核中完成的,而AP模式则是在用户空间完成的(例如使用hostapd)。
目前,在新版本的Linux上推荐使用iw工具来管理无线网卡,而不是通过旧的iwconfig工具。