Armadilloフォーラム

APモードでWiFi接続された時

inad

2019年4月18日 15時33分

お世話になります。
Armadillo-IoTゲートウェイをAPモードで使用し、機器がWiFi接続した時に、その機器のMACアドレスを取得したいのですが、可能でしょうか?
機器が「WiFi接続された時」というイベントが発生するかどうかが重要なのですが、ご教授お願い致します。

コメント

at_mizo

2019年4月18日 16時43分

溝渕です。

> Armadillo-IoTゲートウェイをAPモードで使用し、機器がWiFi接続した時に、その機器のMACアドレスを取得したいのですが、可能でしょうか?

イベントドリブン型での実装は私が調べた限りできなさそうです。ポーリング
実装であれば可能です。

station接続時のイベントはuserlandには通知されないよう実装されているよ
うに読めます。

stationが追加されるとLinuxカーネルの次の場所を通りますが、

net/mac80211/sta_info.c
static int sta_info_insert_finish(struct sta_info *sta) __acquires(RCU)
  :(snip)
    list_add_tail_rcu(&sta->list, &local->sta_list);

周辺にイベント通知を行っている箇所は見当りませんでした。
# 私が読み間違えていたら申し訳ありません

接続されているstation一覧は次のように取得することができ、

[armadillo]$ iw dev wlan0 station dump

egrep "^Station"等と組み合わせて定期的にファイルに保存しておくことで、
追加/削除されたstationを検知可能と思います。

inad

2019年4月19日 10時09分

ご回答ありがとうございました。
ポーリング実装であれば可能とのことですので、検討してみます。