著者:gc(at)sysin.org、ホーム:www.sysin.org
最新バージョンを表示するには、元のリンク< https://sysin.org/article/use-5ghz-wifi/>にアクセスしてください。
シーン
パブリックWi-Fiでは、SSIDは単一(つまりネットワーク名)であり、複数の2.4Ghzおよび5Ghz BSSID(アクセスポイントのMACアドレス)があります。2.4Ghz信号の方が優れている場合、Macはアクティブに2.4に接続します。 Ghzネットワークでは、おそらく2.4Ghz周波数帯域しかサポートできないパブリックWi-Fiデバイスが多数あるために、ネットワークが異常にフリーズします。
Appleのルール:macOSは常にデフォルトで2.4GHz帯域ではなく5GHz帯域になります。前提条件は、5GHzネットワークのRSSIが-68dBm以上であることです。
ただし、パブリックWi-Fi信号は要件を満たしていない可能性があり、その結果、わずかに強い信号で2.4Ghz周波数帯域が優先的に使用される可能性があります。
airport
ツールを使用する
空港はデフォルトで次のパスにあります(現在は10.15が適用されます)。
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
リンクを作成します。
# sudo mkdir -p /usr/local/bin
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
注:エイリアスを使用して環境変数を書き込むこともできます。
aiprotコマンドパラメータ
LEGACY COMMANDS:
Supported arguments:
-c[<arg>] --channel=[<arg>] Set arbitrary channel on the card
-z --disassociate Disassociate from any network
-I --getinfo Print current wireless status, e.g. signal info, BSSID, port type etc.
-s[<arg>] --scan=[<arg>] Perform a wireless broadcast scan.
Will perform a directed scan if the optional <arg> is provided
-x --xml Print info as XML
-P --psk Create PSK from specified pass phrase and SSID.
The following additional arguments must be specified with this command:
--password=<arg> Specify a WPA password
--ssid=<arg> Specify SSID when creating a PSK
-h --help Show this help
ご覧のとおり、これらのコマンドはAppleによってLEGACY COMMANDS(古いバージョンのコマンド)として識別されており、最新バージョンのmacOSで実行できます。
OS X 10.6より前のバージョンでは、airportコマンドを直接使用して、指定したBSSIDに接続できます
airport --associate=XXX --bssid=YYY
。XXXはSSID(ネットワーク名)、YYYはBSSID(MACアドレス)です。
このパラメーターは、OS X10.6以降では廃止されています。
解決
1.ワイヤレスネットワークスキャンをスキャンします
$ airport -s
SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
aWiFi 80:f6:2e:b1:ca:85 -92 161,-1 Y CN NONE
ChinaNet 80:f6:2e:b1:ca:80 -92 161,-1 Y CN NONE
sysin.org a8:bd:27:75:b5:d0 -91 149 Y CN NONE
aWiFi 80:f6:2e:d7:3f:c5 -90 161,-1 Y CN NONE
sysin.org a8:bd:27:75:b7:50 -90 52 Y CN NONE
aWiFi 80:f6:2e:b1:d4:85 -89 161,-1 Y CN NONE
ChinaNet 80:f6:2e:b1:d4:80 -89 161,-1 Y CN NONE
ChinaNet 80:f6:2e:d7:3f:c0 -89 161,-1 Y CN NONE
TP5G b0:95:8e:af:d6:44 -88 149 Y CN WPA(PSK/AES/AES) WPA2(PSK/AES/AES)
sysin.org a8:bd:27:75:ba:30 -87 52 Y CN NONE
sysin.org a8:bd:27:75:d9:50 -84 36 Y CN NONE
......
同じSSIDを持つ複数のBSSIDのCHANNELを確認できます。36以上の値は5GhzCHANNELであり、RSSIが最小の5GhzCHANNEL番号を記録します。
WiFi Explorer Proなどのソフトウェアを使用して、より直感的に表示できます。
2.Wi-Fiをオフにします
3.チャンネルを設定します
$ sudo airport --channel=36
# or
$ sudo airport -c=36
周波数帯域の帯域幅は、サードパーティのツールを使用して確認できます。値は通常、20Mhz、40Mhz(Wi-Fi 4)、80Mhz(Wi-Fi 5)、160Mhz(Wi-Fi 6)です。
次のように、周波数帯域帯域幅パラメータを追加できます。たとえば、周波数帯域は44、周波数帯域帯域幅は80Mhzです。
$ sudo airport --channel=44,80
# or
$ sudo airport -c=44,80
Airtoolを使用してチャネルを設定すると、ChanelWidthと同じ効果があります。
4. Wi-Fiをオンにして、SSIDに再接続します
5.指定したチャンネルが接続されているか確認してください
Altキーを押しながらWi-Fiアイコンをクリックするか、次のコマンドを実行します。
$ airport -I
6.ローミングをオフにします
Appleのルール:macOSクライアントは、RSSIが-75 dBmのしきい値を超えるまで、現在のBSSID接続を監視および維持します。RSSIがしきい値を超えると、macOSは現在のESSIDをスキャンして、ローミングBSSIDの候補があるかどうかを確認します。
RSSIが-75dBmを超える環境では、安定したWi-Fi接続を維持するためにローミングをオフにすることを検討してください。
$ sudo defaults write /Library/Preferences/com.apple.airport.opproam disabled -bool true
plistファイルは現在のシステムバージョン(10.15)にまだ存在しますが、残念ながら、関連情報は、plistファイルが10.10または10.11バージョンのシステムによってのみ呼び出されることを示しています。
そのため、問題が発生します。現在のRSSIが-75 dBmのしきい値を超えると、macOSはネットワークをスキャンした後に2.4G帯域に再接続し、ネットワークの不安定性の無限のループに入る可能性があります。これは著者の実際の経験であるため、これは論文。
結論として
5GHzネットワーク上のmacOSのRSSIが-68dBm以上の場合、デフォルトでは常に5 GHz周波数帯域が最初に接続され、現在のBSSIDRSSIは-75dBmしきい値を超えません。クライアントは安定した接続を維持し、ローミングは発生しません。
上記の条件が満たされない場合、airport
ツールは問題を解決できません。
現時点で考えられる解決策は2つあります。1つはワイヤレスネットワークカードの2.4Ghz周波数帯域を無効にすることであり(現時点ではそれを実現する方法はないようです)、もう1つは2.4GhzネットワークのMACアドレスをローカルでブロックすることです(これはLinuxのiptablesとBSDのiptablesを介して実現できます)。 pfはイーサネットフレームのタグ付けによって実現されます。macOSのpfは直接適用できません。今後の調査用です)。
付録:用語の説明
SSID:サービスセット識別子の略、サービスセット識別子。SSIDテクノロジーは、ワイヤレスローカルエリアネットワークを、異なる認証を必要とする複数のサブネットワークに分割できます。各サブネットワークには独立した認証が必要です。認証に合格したユーザーのみが対応するサブネットワークに入ることができ、不正なユーザーを防ぐことができますこのネットワークに入ります。コンピューターや携帯電話を使用してアクセス可能なネットワークを検索する場合、表示されるネットワーク名はSSIDです。
BSSID:Basic Service Set Identifier(Basic Service Set Identifier)は、ステーションのMACアドレスを参照します。デフォルトのBSSIDは、対応するネットワークカードのMACアドレス(ベースMACアドレス)です。APが同時に複数のSSIDをサポートできる場合、APはこれらのSSIDに対応するように異なるBSSIDを割り当てます。このとき、BSSIDはベースMACアドレスに基づいて生成されます。
RSSI:RSSI(受信信号強度インジケーター)は、受信信号の強度インジケーターです。最も理想的な状況は、RSSIが0 dBmである場合です(dBm:電力の絶対値、1 mWの電力に基づく比率を表します)。ただし、実際の状況では、RSSIが-50 dBmを超えている限り、信号は非常に良好です。RSSIが-75 dBmを下回ると、送信が不安定になる可能性があります。