首页 > 代码库 > 【Atheros】禁用CSMA之后pktgen发包一分钟后无法发送的问题
【Atheros】禁用CSMA之后pktgen发包一分钟后无法发送的问题
无线网络中各个节点不断地广播信标帧,收到某节点的信标帧之后才知道这个节点存在,知道它的网络配置是怎么样的,才能知道应该怎么和它通信。
那么问题来了,禁用了CSMA之后,发送节点全力发送,那么它会永远占用信道,邻居节点的信标帧再也收不到了,那么,等本地对邻居节点保存的信息超时之后,就认为对方节点已经不存在,就无法再正常发送了。
那么知道了原因,解决方案也就很简单了,把这个超时时间设长,长到完全可以满足实验需求就可以了。
打开net/mac80211/ibss.c,就在前几行宏定义里面找到:
#define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * HZ)
这里的默认超时时间是1分钟,比如我可以改成1个小时:
#define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * 60 * HZ)
这样就能保证pktgen在前一个小时里可以正常工作。
【Atheros】禁用CSMA之后pktgen发包一分钟后无法发送的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。