やろーじだい

ブログです

OSX (10.11.6) で BSSID を指定して接続する

別な帯域だが同じ SSIDwifi が飛んでいるという場面に遭遇し、選択して接続する方法に困ったが解決したのでまとめておく。

まず BSSID を取得する

Linuxiwconfig のようなものは MacOSX では airport が提供されている。場所は以下にあるので Path を通すなりしておく。

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

airport-bssid を導入する

現在 airport では BSSID を指定することができないので、公開されている airport-bssid というものを利用する。Path の通った場所に実行ファイルをコピーしている。

$ git clone https://github.com/qpSHiNqp/airport-bssid.git
$ cp airport-bssid/Build/airport-bssid /path/to/bin

実行

まず BSSID と channel の情報を取得する。

$ airport scan
...(略)

channel については airportのissue で指定しておくと動いたというケースがあったので、もし動かない場合は対処できるかもしれない。channel が 11 だとすると以下のように指定できる。

$ sudo airport -c11

Ethrenet の port も確認しておく。

$ networksetup -listallhardwareports

Hardware Port: Wi-Fi
Device: en0
...(略)

最後に以下で接続する。

$ airport-bssid EthernetPort BSSID password
...
Associated to network "入力したSSID" (BSSID: 入力した BSSID)

となれば成功しているはず。以下で現在接続している wifi を確認できる。

$ airport -I