Android P developper preview が 802.11mc / FTM / ToF / Indoor positioning with Wi-Fi RTTに対応したというこで802.11mcの評価環境について調べてみました。
自分の理解では、この機能を使うには対応したAPを用意しないと使えません。
現時点(2018-03)には、市販されているAPは対応していません。(そのうち Google Wifiが対応するような気がしますけど。)
追記:2019年1月ごろにGoogle Wifiが802.11mcに対応したらしいです。→→ https://speakerdeck.com/napplecomputer/wi-fi-rttniyoruwu-nei-ce-wei-apuriwozuo-rou
結論から言うと、「 Intel 8260 を搭載したLinuxマシンを使って、802.11mc対応APを構築できる。」です。 (でも自分は試せてません)
手順は
https://bugzilla.kernel.org/show_bug.cgi?id=197187
のチケットのコメントとリンクに書いてありますが、まとめてみます。
追記
Google I/O 18 の セッション How to get one-meter location-accuracy from Android devices (Google I/O '18) で、Google WiFiがまもなく11mc対応することが正式発表されてました。ビデオの21分ごろです。
802.11mc対応AP構築手順
準備
- Intel 8260 を搭載したLinuxマシンを2台用意する。
- https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git/ からCore30リリースをダウンロード
- https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release の手順でビルドしインストール
- https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release からIntel8260 Core31 のFWをダウンロード
- hostap 2.6 をダウンロードしてビルド
- iwの最新版をダウンロード
- e nl80211.hをCore30のドライバソースコードからコピー
- https://bugzilla.kernel.org/attachment.cgi?id=258801&action=diff をiwにパッチしてビルド
AP 操作手順
- ドライバをロード
- hostapでAPを起動
driver=nl80211
interface=wlan0
hw_mode=g
channel=13
wmm_enabled=1
ssid=tof_test
ftm_responder=1
ftm_initiator=1
- sysfsからtof responderの設定を行う
# cd /sys/kernel/debug/iwlwifi/0000:06:00.0/iwlmvm/netdev:wlan1
# echo channel_num=1 > tof_responder_params#
# echo bssid=bb:bb:bb:bb:bb:bb > tof_responder_params
# echo rate=1 > tof_responder_param
# echo ftm_per_burst=5 > tof_responder_params
# echo send_responder_cfg=1 > tof_responder_params
STA 操作手順
- ドライバをロード
- tofリクエストを送信して、tofレスポンスを表示
bb:bb:bb:bb:bb:bb
はAPのMACアドレスに置き換える。
# cd /sys/kernel/debug/iwlwifi/0000:06:00.0/iwlmvm/netdev:wlan1
# echo send_tof_cfg=1 > tof_enable
# echo 'num_of_ap=1' > tof_range_request
# echo 'ap=0 1 0 0 bb:bb:bb:bb:bb:bb 0 10 0 5 5 0 0 0 0 -40' > tof_range_request
# echo 'send_range_request=1' > tof_range_request
# cat tof_range_response
request_id = 0
status = 2
last_in_batch = 1
num_of_aps = 0
- iw を使ってftm requesstを送信して、レスポンスを受信。
bb:bb:bb:bb:bb:bb
はAPのMACアドレスに置き換える。
# echo bb:bb:bb:bb:bb:bb bw=20 cf=2472 > /tmp/config.txt
# iw dev wlan0 ftm_request /tmp/config.txt
phy #1: FTM result! Status: 0
Target: bb:bb:bb:bb:bb:bb, status: 4, rtt: 0 psec, distance: 50 cm
あとがき
- さて、これ本当に動くんでしょうかね。
- まぁ、もうちょっとしたら、お手軽に試せるようになるとは思います。
- それから、802.11mcのスペックは2017/12/31にpublishされたので、半年後の2018/06/01にget802のページから無料でダウンロードできるようになります。