首页 > 解决方案 > 802.11 ACK 在用户模式堆栈上花费的时间太长,导致重传

问题描述

我正在开发一个最小的用户模式 ​​802.11 Wi-Fi 堆栈。开发设置是一个基于 Atheros 的 USB 记忆棒,设置为在 Ubuntu 18.04 机器上监控模式。我能够发送和接收数据包,但我面临的问题是堆栈响应 802.11 ACK 帧的时间太长,这导致对方多次重新传输每个帧。来自驱动程序\芯片组的合法确认需要 0.000132 秒,而我的确认需要 0.0118 秒。

有没有办法与我正在与之交谈的客户“协商” ACK 超时(持续时间)?

任何解决方案或创意将不胜感激。

标签: wifi

解决方案


Ack 应该在 SIFS 之后发送,似乎不可协商。wifi卡通常在固件或硬件中确认数据包。您可以使用 iw 实用程序“启用”wifi 卡以在监控模式下确认传入的单播数据包:“iw dev wlan set monitor active”,但驱动程序必须支持 IEEE80211_HW_SUPPORTS_ACTIVE_MONITOR。

所以,你最好找一个合适的司机。PS:如果你找到了请告诉我_


推荐阅读