This is an old revision of the document!
Location reporting
| Driver | HAL | Supported Hardware | 802.11n support | Debugging |
The AR9380 and later devices support a “time of flight” feature which can be used to estimate the distance between devices.
Overview
This is in note form for now!
- there's a separate location timer register and control register
- the counter is fed from the mac clock, so 44MHz in 20MHz wide operation, and 88MHz in 40MHz operation
- a specific bit is set for a TX frame, which causes the full packet exchange to be returned
- right now the only way to get the location timestamp is to enable the location timer, which causes /all/ frames to be timestamped with the location timestamp - ie, the TX/RX descriptor timestamps are no longer TSF.
The normal way this happens is:
- fire off a TX frame with location_mode=1, not_sounding=0
- get an RX frame (ACK) with the more bit set
- .. and the second frame in the set is the sounding data with the rate, timestamp, etc and the payload is the CSI.