This is an old revision of the document!


Location reporting

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.1468272037.txt.gz
  • Last modified: 2016/07/11 21:20
  • by AdrianChadd