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分 ご回答ありがとうございました。 ポーリング実装であれば可能とのことですので、検討してみます。 コメントを投稿するにはログインまたは登録をしてください
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を検知可能と思います。 コメントを投稿するにはログインまたは登録をしてください
at_mizo
2019年4月18日 16時43分
溝渕です。
> Armadillo-IoTゲートウェイをAPモードで使用し、機器がWiFi接続した時に、その機器のMACアドレスを取得したいのですが、可能でしょうか?
イベントドリブン型での実装は私が調べた限りできなさそうです。ポーリング
実装であれば可能です。
station接続時のイベントはuserlandには通知されないよう実装されているよ
うに読めます。
stationが追加されるとLinuxカーネルの次の場所を通りますが、
周辺にイベント通知を行っている箇所は見当りませんでした。
# 私が読み間違えていたら申し訳ありません
接続されているstation一覧は次のように取得することができ、
egrep "^Station"等と組み合わせて定期的にファイルに保存しておくことで、
追加/削除されたstationを検知可能と思います。