背景:路由器AP的beacon-interval 是100ms, WIFI scan过程中在每个channel停留的时间默认是70ms, 所以存在WIFI在某个channel收不到beacon的可能性的。也就是说WIFI不能保证一次能把所以的AP全部scan到。
解决方法: 在mtk模组MT7663的解决方法,在WIFI driver驱动里微调 scan时的停留时间:
file: wlan_driver/gen4m_mt7663/mgmt/ais_fsm.c
/* using default channel dwell time/timeout value */
prScanReqMsg->u2ProbeDelay = 0;
prScanReqMsg->u2ChannelDwellTime =100; //原来为0
prScanReqMsg->u2ChannelMinDwellTime =60; //原来为0
prScanReqMsg->u2TimeoutValue = 0;
DBGLOG(AIS, STATE, "ttgctt u2ChannelDwellTime=%d, u2ChannelMinDwellTime=%d\n",
prScanReqMsg->u2ChannelDwellTime,
prScanReqMsg->u2ChannelMinDwellTime);