Macで5GバンドWi-Fiの使用を強制する方法

著者: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を下回ると、送信が不安定になる可能性があります。

おすすめ

転載: blog.51cto.com/250823/2539793