802.11 ACK takes too long on a usermode stack, causing retransmissions

Viewed 197

I'm developing a minimal usermode 802.11 Wi-Fi stack. The development setup is an Atheros based USB stick set to monitor mode over an Ubuntu 18.04 Machine. I'm able to send and receive packets, but the problem I'm facing is that it takes the stack too long to respond with 802.11 ACK frame, which causes the other party to re-transmit each frame many times. Legitimate ack originating from the driver\chipset takes 0.000132 seconds while my ack takes 0.0118 seconds.

Is there any way to "negotiate" the ACK timeout (duration) with the client I'm talking with?

Any solution or creative idea will be appreciated.

1 Answers

Ack should send after a SIFS,seems it is not negotiable. And wifi card usually ack packets in firmware or hardware. You can “enable” wifi card to ack incoming unicast packets in monitor mode use iw utility: “iw dev wlan set monitor active”, but the driver must supports IEEE80211_HW_SUPPORTS_ACTIVE_MONITOR.

So, you’d better to find a suitable driver. PS: Please let me know if you find one _

Related