greearb / ath10k-ct

Stand-alone ath10k driver based on Candela Technologies Linux kernel.
111 stars 41 forks source link

TX frame capture in monitor mode #59

Closed jhaakana closed 5 years ago

jhaakana commented 5 years ago

Problem description

I'm capturing TX/RX frames while doing UL throughput tests. I've one VIF in managed mode (which is used for the test) and one VIF in monitor mode (which is used for capturing traffic sent/received by the managed mode VIF).

Captured RX frames look correct, but TX frames are missing certain information, for example:

Locally captured frames look like below. Qos Data frames are seen as Data frames, and retry bit is never set for any frames: local_capture

If I use an external device to take the capture, QoS TID is correct (6), and I can also see retries:

external_capture

Is this a limitation of ath10k driver / FW, missing feature, or a bug?

Thanks, Jussi

greearb commented 5 years ago

The tx capture happens in the wifi stack before it ever gets to the driver or firmware, and you will also be missing any frames generated by the firmware itself (like retransmitted frames, ACK, blockack, etc). This is not something that can really be fixed for any reasonable amount of effort. Just use a second NIC as sniffer in case you need to see all of the frames exactly as they hit the air.