Mountain LionとかいうOSで、昔の知識はほとんど役に立ちません。
初心者同然です。
そして、早速、トラブりました。
スターバックスなどで、公衆無線LANに接続しようとすると、2.4GHzのアクセスポイントばかり繋ぎに行ってしまい、なかなか5GHzのアクセスポイントを捕まえてくれないのです。
2.4GHz帯は都市部では無茶苦茶混雑しているので、可能な限り利用するのは避けたいものです。
初心者なりに色々調べた結果、次のような事がわかりました。
- MacOS上では2.4GHzと5GHzを選択する事はできない。
- docomo Wi-Fiやau Wi-Fi SPOTのように、同じ名前のSSIDで2.4GHzと5GHzの両方のAPがある時は、ほとんどの場合、2.4GHzのAPに繋がってしまう。
- optionを押しながらメニューバーのAirMacアイコンをクリックすると、SSID毎にチャネルや周波数が表示されるので、とりあえずどのAPに繋がっているのかはわかる。
- ただし複数のAPが同じSSIDを使っている場合は、そのうちの一つしか表示されない。
- また、Wi-Fi Diagnosticという隠しユーティリティを起動することができる。全てのAPのチャネルとMacアドレスを表示してくれたり、ノイズの状況をグラフ表示してくれたりして、それなりに便利。Wi-Fi Diagnosticについては、「那覇レポート: Mountain Lion新機能Wi-Fi Diagnosticsツール」に詳しい。
- /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport という隠しコマンドがある。AirPort Utilityとは似て非なるもので、Wi-Fi Diagnosticのコマンドライン版のようなもの。引数無しで起動すればオプションが表示されるので、それを見れば、使い方は大体わかる。
- 次のようなオプションがある。
- -c数字, --channel=数字 チャネルを指定する
- -z, --disassociate 全てのネットワークから切断する
- -I, --getinfo 接続中のネットワークの情報を表示する
- -s,--scan APの一覧を表示する
- -x,--xml XML形式で出力する
- -P,--psk パスフレーズからPSKを生成する
- -cや-zを使うには、管理者権限が必要。
という訳で、aiport -s で接続したいチャネルを調べて、airport -c で指定すれば5GHzなチャネルに接続できそうです。
早速、某所のスターバックスに行ったときに試してみました。目標はdocomo Wi-Fiの5GHz APへの接続です。
早速、某所のスターバックスに行ったときに試してみました。目標はdocomo Wi-Fiの5GHz APへの接続です。
airportに何らかの方法(略)でパスを通しておいて、まずは接続状況を調べます。
$ airport -I
agrCtlRSSI: -75
agrExtRSSI: 0
agrCtlNoise: -90
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 36
maxRate: 54
lastAssocStatus: 0
802.11 auth: open
link auth: none
BSSID: XX:XX:XX:XX:XX:XX
SSID: docomo
MCS: -1
channel: 1
となりました。チャネル番号は1〜14が2.4GHz、36〜140が5GHzですから、見事に2.4GHzなAPを掴んでしまっています(先述のように、optionを押しながらAirMacアイコンをクリックしても、チャネル番号を確認できます)。
そこで、5GHzなAPを探します。
スキャンすると…
スキャンすると…
$ airport -s| grep docomo
docomo XX:XX:XX:XX:XX:XX -70 1 N JP WEP
docomo YY:YY:YY:YY:YY:YY -75 36 N JP WEP
という結果でした。2つ並んだ数値の、右側の値がチャネル番号です。
このスタバに設置されているdocomo Wi-Fiは、チャネル1(2.4GHz)とチャネル36(5GHz)を使っている事がわかりました。
そこで、
$ sudo airport -c36
を実行してみると…