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.

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.
  • dev/ath_hal_4/locationreport.1468272105.txt.gz
  • Last modified: 2016/07/11 21:21
  • by AdrianChadd