hostapd-supplicant源码走读

hostapd源码

AP设备必须先检测雷达当前工作的信道,这个过程称为CAC (Channel Availability Check).一旦AP设备检测到雷达的工作信道,AP会通知工作在此信道的Client停止数据传输,该信道成为不可用信道
NOP (非占用周期Non-Occupancy Period)时间内,当检测到雷达的工作信道后,在此信道WIFI无线设备不能进行任何的数据传输
在正常的通信期间,AP也需要监测雷达的工作信道,这个过程称为In-Service Monitoring.
在正常的通信期间,AP也需要监测雷达的工作信道,这个过程称为In-Service Monitoring.
Channel 可用检查时间(>= 60s)
Channel 从检测到雷达的工作信道,停止所有Client数据传输的时间,移动时间(<= 10s)
Channel 关闭传输时间(<= 1s)
Non-Occupancy Period (NOP): (>= 30mins)


hostapd中bss的状态有以下几类
enum
{
    UNINITIALIZED,
    DISABLED,
    COUNTRY_UPDATE,
    ACS,
    HT_SCAN
    DFS
    ENABLED
}
hostapd在启动的过程中,如果设置了country,那么此时将进行国家码的配置,
国家码配置完成后,如果是ACS信道自动选择,则会进行ACS信道选择一个合适的信道
如果是自定义信道,判断此信道是否是DFS信道,如果是DFS信道且当前的信道状态不为available,则进行CAC检测(大于60秒),检测完成后使用此信道,检测失败后还没看,
ACS选择了一个信道后,就固定了,如果是DFS信道,因为在自动信道选择的时候已经走了类似CAC检测(大于60秒),会检测到DFS all channels available (SKIP CAC): yes,
进入enabled状态


国家码的设置要求国家码需要设置正确,否则就会导致可能使用了非法的频段,

 

 

wpa_supplicant源码:

源码关键函数
wpa_supplicant_add_iface
       wpa_supplicant_init_iface
wpa_supplicant_set_driver
              wpa_config_read
wpa_supplicant_init_iface2
       wpa_supplicant_init_eapol
       wpa_drv_init
       wpa_drv_set_param
       wpa_supplicant_init_wpa
       wpa_supplicant_driver_init
             wpa_supplicant_req_scan // trigger scan state

wpa_supplicant_scan

posted on 2022-02-24 14:42  sudochen  阅读(490)  评论(0编辑  收藏  举报

导航