俺の Advent Calendar 2024
1月目

YAMAHA WLXで、ご家庭にWAP3 Enterpriseをもたらす

WLX212を天井に設置

Wi-Fi 4からの移行とWPA3 EnterpriseのデビューにWLX212を購入。高速化のため、パフォーマンスチューニングも施してしまった。

無線LANアクセスポイント | 製品情報 | ヤマハネットワーク製品
WLX212技術資料
WLX212 スタートアップガイド
WLX222技術資料
WLX222 ユーザーガイド
WLX322技術資料

更新履歴 見出しにジャンプ

日時 変更内容
2024-12-26
  • 参考文献と説明の追加

基本設定 見出しにジャンプ

WLXでは、シリアルコンソールやtelnetでの操作は限定的で、Web GUIで設定を行う。例外的に、基本設定だけはCLIで行えるようだ。
コマンドリファレンス
WLX212は、1台のAPにコントローラーが同居している。このため2つのIPアドレスが設定され、一つは物理AP、もう一つは仮想コントローラーのIPになる。
5. Web GUIへのアクセス方法 Web GUI WLX212技術資料
WLX212の仮想コントローラーやSSIDはIEEE 802.1Q Tagに対応し、上位スイッチ・ルータのトランクポートに接続することで任意のVLANに所属できる。

管理モード
項目 設定値 説明
YNOエージェント機能の使用 使用しない ご家庭でちょっとWPA3-EAPを使いたいだけなので

仮想コントローラーとクラスターAPの共通ネットワーク設定 WLX212技術資料

項目 設定値 説明
アクセスVLAN ID 1

仮想コントローラーやSSIDに設定したVLAN IDのうち、Untaggedで上位スイッチ・ルータに送信するVLAN ID。

VLAN ID

仮想コントローラーのネイティブVLANの設定。同様にSSID毎にネイティブVLAN IDの設定がある。いずれもアクセスVLAN IDと一致させればUntagged、不一致ならTaggedで送信させる。
管理VLANのVLAN IDが望ましい。クラスターはL2セグメントに依存し、AP選出(ff:ff:ff:ff:ff:ff宛の0xeec3)やL2MSがブロードキャストされるからだ。仮想コントローラーとの通信をTaggedにするには、アクセスVLAN IDと異なるVLAN IDを指定する。
クラスター管理機能 WLX212技術資料
5.4 IP アドレスの設定 コマンドリファレンス
5.2 アクセスポートの設定 コマンドリファレンス
各APのWeb GUIからスタンドアローンモードにしてもよいが、ブロードキャストは止まらない。
スタンドアローンモード WLX212技術資料

仮想コントローラーのネットワーク設定 WLX212技術資料

項目 設定値 説明
DHCP (IPv4) 有効

IPv4アドレス、ネットマスク、デフォルトゲートウェイ、DNSサーバーを自動設定する。IPv4アドレスは、上位スイッチ・ルータにてWLX本体底面に書かれたMACアドレス(物理AP)と+1したもの(仮想コントローラー)を固定すると便利だ。
2.2.1. 製品ラベルの表示内容 各部の名称と機能 WLX222 ユーザーガイド
WLX212の各機能はIPv4シングルスタックで、IPv6シングルスタックに非対応。
5.4 IP アドレスの設定 コマンドリファレンス
7.4 仮想コントローラーの IP アドレスの設定
8.4.4. CONSOLEポートでAPや仮想コントローラーのIPアドレスを変更する 補助的な設定 WLX222 ユーザーガイド

日付と時刻の設定 WLX212技術資料

項目 設定値 説明
問い合わせ先NTPサーバー IPv4アドレスまたはFQDNを設定

IPv6に非対応。フレッツIPv6ではIPv4のNTPサーバは提供されないため、上位ルータにIPv4のNTPサーバを用意させた RTX IX
4.2 NTP による時計の設定 コマンドリファレンス

NTPサーバーによる自動調整

起動時に時刻を設定する
定期的に時刻を設定する

直接問い合わせるなら、jitterの小さい深夜から早朝が良い。
8.1 スケジュールの設定 コマンドリファレンス

設置場所の調整 見出しにジャンプ

YAMAHAは実機でサイトサーベイを行い、WLX222とWLX212の特性を比較してくれている。

図に設置向きが明記されていないため、LANケーブルの取り回しや映り込んだフロアの構造物と照らし合わせる必要があった。
YAMAHAロゴは本体左上・右下にあり、窓らしきものはWLXの側面が向いているのは間違いない。本体上下方向に電波が強いと推測できた。
2.4.1. サイトサーベイの実施風景 ホワイトペーパー WLX212技術資料
さらにLEDの表示位置に対する柱の位置関係や、窓から入る光がN6と書かれた北側に比べ遥かに明るいことから、WLX222の前面が西、つまり図の左を向いていると推測した。天井の模様からWLX212も同様と思われる。
LED表示 WLX212技術資料
上記を踏まえて、当家の設置位置をオーバーレイしてみると、下図のようになった。

WLX212の電波特性を考慮した設置向き

本当にそうだろうか?

Wi-Fiミレル 見出しにジャンプ

同世代の別モデルであるWLX413では、前面に分があるように見受けられる。WLXの背面の電波が強いのは直観に反した。
5.3. 測定方向 ホワイトペーパー WLX413技術資料

結局のところ、YAMAHAのサイトサーベイだけで設置位置を決めるのは無理があった。見通しの良いオフィスと異なり、一般家庭では構造やLGSの鋼材、防火の石膏ボードに大きく干渉される。

悪い設置例
天井裏を通る金属製レールの上やパイプの上に設置する
6.7. 設置場所と設置方法の選択 WLX212 スタートアップガイド

そこで、一般的なスマートフォンに搭載されたWi-Fiチップで計測可能な範囲で、実際の電波状況を確認した。
Wi-Fiミレル | かんたんWi-Fi電波状況確認ツール「Wi-Fiミレル」 | アイ・オー・データ機器 I-O DATA

Wi-Fi APのスループットは、設置方向や位置を数センチ移動するだけで大きく変動する。複雑に遮蔽・反射した電波を、MIMOがどのように選択しているかは未知数だ。そこで、全ての方位を測定した。具体的には、8方位であたりをつけて、結果の良かった方角だけ16方位と位置を試した。

WLX212を様々な方角で設置したときのWi-Fiミレルの計測結果に、YAMAHAによるサイトサーベイを重ねたイメージ

容易に向きや位置を変えられるよう、布と突っ張り棒で豆腐が自由に動き回れるようにした。

WLX212を布張りで天井設置

無線設定 見出しにジャンプ

7.7. 無線設定 Web GUI WLX212技術資料

基本無線設定 見出しにジャンプ

無線LANの使用場所
項目 設定値 説明
2.4GHz、5GHz(1)の使用場所 屋内で使用する 2.4GHz帯とW56だけが屋外で使用できる。Fast DFS非対応機種や6GHz対応機種は屋内モードがよい。
電波の指向性
項目 設定値 説明
電波の指向性の選択 指向性あり

戸建ての1階天井付近に設置し、2階に届かせるなら無指向性がよいだろう。
いわゆるゲーミングWi-Fiルーターに搭載される棒状のアンテナは「ロッドアンテナ」「オムニアンテナ」と呼ばれ、棒に巻き付くドーナツ状に利得がある。無指向性といえどゲインの強さにより電波の弱い死角が存在し、アンテナの棒の先を電波を飛ばしたい方向に向けると逆効果なのはこのためだ。WLXの無指向性アンテナも前面と背面の利得が小さい。

# show environment
WLX212 BootRom Ver.1.04
~~
Antenna setting: 2.4GHz: omni-directional,  5GHz: omni-directional

5GHz帯では製品前面、背面の利得が小さい
5.2. 「指向性なし」の指向性 アンテナ指向性 アンテナ指向性 WLX212技術資料

集合住宅など、1フロアで最高の性能を出したくば、他の階に干渉し(こちらも干渉を受け)ないよう指向性ありが望ましい。
WLX212に内蔵されている指向性アンテナは、おそらく「パッチアンテナ」と呼ばれ、パッチ平面が向いているWLX本体天面方向に偏った利得がある。

Antenna setting: 2.4GHz: directional,  5GHz: directional

こちらもドーナツ状であることに変わりはなく、死角が存在する。これにより水平方向の届きが一見悪そうに見えるが、天井設置なら問題ない。

製品本体の影響を受けて、偏りのある指向性です。4.1.2で記載した通り、壁面、天井面に近接する面なので、実使用上大きな問題はありません。
5.1. 「指向性あり」の指向性 アンテナ指向性 アンテナ指向性 WLX212技術資料
猫の高さにおける電波強度は、サイトサーベイの方が参考になりそうだ。

全方向性アンテナと指向性アンテナ - Cisco
EM Simulation of Dual-Band and Wideband Dual-Polarized Cylindrical Dielectric Resonator Antennas for WLAN | Remcom

Radio Optimization機能
項目 設定値 説明
Radio Optimization機能 使用しない

送信出力や、マルチキャスト送信レートおよび受信レートが自動設定されるが、これらは静的に手動設定したいので使わなかった。よく分からない場合は有効でも可。
5.1. 自動設定変更される項目 Radio Optimization機能 WLX212技術資料

無線機能
項目 設定値 説明
2.4GHz 使用しない

2.4GHzは本当に必要なときだけ使う

5GHz(1) 使用する

2.4GHz 基本 見出しにジャンプ

欠けた項目は5GHzで解説している。2.4GHzは基本的に無効が推奨されるため、多くの場合そちらだけ見ればよいはずだ。

項目 設定値 説明
無線モード 11b+g+n

11axで2.4GHzを使わない。
ビーコンレートを引き上げると11bを制限できる

チャンネル 自動 見える化ツールで、2.4GHzの6chに自動設定されたことを確認。干渉APが多い。

1, 6, 11チャンネルのみ使用する。干渉APが存在する環境で、40MHz幅にチャンネルボンディングすると迷惑なのでやめよう。

多数のAPを並べるような用途では、1-6-11chを使うのが業界のベストプラクティス
2.4GHz帯無線LANのチャネルはぶつけてしまった方がよい - hgot07 Hotspot Blog

2.4GHz networks should only use channels 1, 6, and 11.
do not use 40MHz channel width with 2.4GHz.
Recommendations & Best Practices for Wi-Fi and Apple Devices

チャンネル幅 20MHz
自動チャンネル選択範囲 推奨値を使用する
起動後/設定送信後のチャンネル再選択 端末接続中の動作: チャンネルを変更する
チャンネルの自動再選択

5GHz 基本 見出しにジャンプ

項目 設定値 説明
無線モード all
チャンネル 自動
チャンネル幅 80MHz IEEE 802.11ac wave1の最大までチャンネルボンディング。広い分干渉しやすくなるため、チャンネル選びが重要だ。
プライマリチャンネル 下側波帯

干渉APがセカンダリチャンネルに被ると、2.4GHzと同様に逆効果

プライマリチャネルにおいて競合信号を検知できない場合は,衝突確率がアロハ方式と同様になる.この場合,干渉源が1の場合であってもチャネルボンディングを行うAPのスループットがほぼ0まで減少する
4.2.3 ボンディングAPがPt.1(CSMA/CA)の場合 5.3.1 チャネルボンディングを行うAPの媒体アクセス制御がCSMA/CA(パターン1)の場合 IEEE802.11ac準拠の機器におけるチャネルボンディング機能の性能評価

また、132chを80MHz幅で使用するとき、144ch非対応端末が接続できなくなるためデフォルトがよさそうだ。

プライマリ40MHzチャンネル
自動チャンネル選択範囲 W56

見える化ツールで確認できるように、集合住宅では2.4GHz帯だけでなく、DFSのないW52も混雑する。SNRが小さい干渉APは周波数帯を共有するため、衝突を引き起こし、スループットが低下する。

Design for signal-to-noise ratio of 25 dB or better.
Recommendations & Best Practices for Wi-Fi and Apple Devices

では、DFSのあるW53やW56はどうだろうか。
私はこれまで、国家に支援された組織「気象庁」によってWi-Fiの電波が強制停止される被害に遭っていた。レーダーの照射を受けると、Wi-Fiに仕込まれたDFSが発動して、電波出力が数分止められてしまう(syslogの030n番を参照)。きっと総務省の陰謀に違いない。

DFS に(誤検出であれ実際のレーダー検出であれ)引っ掛かると全システムが一斉に停止し1分以上再稼働しない可能性があるというのは大問題で、W53 や W56 チャネルを業務で使う上での障壁
5IEEE 802.11h のはなし|Wireless・のおと|サイレックス・テクノロジー株式会社

これについては、Fast DFS対応機種ならレーダー検出前にチャンネルのスキャンが行えるため、問題にならない。
Fast DFS v2機能 WLX323技術資料
また、Fast DFS非対応機種でもW52帯であれば即座に切り替わるので十分だろう。欠点は、切り戻し時刻まで隣人の周波数帯と被り、速度が大幅に低下してしまうことだ。
そこで、DFS時にAPを再起動するようにした。これにより、日を跨がずに即座(電波法に則って、W53/W56帯の使用にタイムアウトが設けられている)にお気に入りの周波数帯に戻れる。タイムアウトがあるため、可用性が求められる機器はDFSのない周波数帯か有線に繋げておく必要がある。
そもそも、設置場所を工夫すると建物が遮ってDFSを食らわなかったりする。送信出力が大きいとDFSになりやすいのではないかと思ったが、WLX212は最大でも10mWのため影響ないだろう。
5.6GHz 帯無線 LAN の導入について(報告)
総務省 電波利用ホームページ | 技術基準適合証明等を受けた機器の検索 2.4GHz
総務省 電波利用ホームページ | 技術基準適合証明等を受けた機器の検索 5GHz

近頃はW56も気が抜けない。100chでCRCエラー率が急上昇し、132chで治った。前述の通り、セカンダリチャンネルの干渉APは全く通信できなくなるほど致命的だが、144chを含む132ch 80MHz幅は最近日本で許可されたので、潜在的に空いている可能性がある。
見える化ツールで、W56 100chの高いCRCエラー率を確認

隠れノード問題と同様で、APからは見えないか十分なSNRを確保できていても、STA付近に干渉APが存在しうる。動かせる端末にチャンネルスキャンアプリを入れて家中回って、それでも被らないかSNRを十分確保できるチャンネルを選ぶのがよいだろう。

Wi-Fiルーターのチャンネル設定をチェック(1)【自宅Wi-Fiの“わからない”をスッキリ!】 - INTERNET Watch

起動後/設定送信後のチャンネル再選択 端末接続中の動作: チャンネルを変更する
チャンネルの自動再選択
DFSチャンネル選択範囲 W52

Fast DFS非対応機種でも、W52ならタイムアウトなくフォールバックできる

DFS チャンネル選択範囲でW52のチャンネルのみを選択すると、レーダー検出によりチャンネルが移動したときに1分間の通信途絶を防ぐことができます。
自動チャンネル変更機能 WLX212技術資料

ローミングの設定 見出しにジャンプ

項目 設定値 説明
適応型ローミングアシスト機能 使用しない

Apple iPhoneは11k/r/vに対応しているので不要。そもそもご家庭なので1台しかないし。

本機能はIEEE802.11k、IEEE802.11r、IEEE802.11vを使用しない
適応型ローミングアシスト機能 WLX212技術資料

11kはバッテリーに優しい?
Products - Enterprise Best Practices for iOS, iPadOS, and MacOS Devices on Cisco Wireless LAN White Paper - Cisco

ローミング検出による自動切断 切断する

2.4GHz 詳細 見出しにジャンプ

項目 設定値 説明
プロテクション rts-cts

11bを使うならCTS-to-Selfが必要。ただしパフォーマンスが低下する。2.4GHz帯にパフォーマンスが必要かと言われれば否だが。
Configuring Advanced Wireless Settings
Chapter 2: RTS-to-CTS and CTS-to-Self – Home

送信出力 3
show status airlink module module1
~~
          Bit Rate:192 Mb/s   Tx-Power=10 dBm

可能なら、2.4GHz帯を使わない。

Use an 802.11a/n/ac/ax 5-GHz-based design for all Apple devices.
Products - Enterprise Best Practices for iOS, iPadOS, and MacOS Devices on Cisco Wireless LAN White Paper - Cisco

If possible, don’t use 2.4GHz channels.

端末の対応や屋外で2.4GHz帯が必要な場合、遠くまで届くため一般住宅では出力をかなり絞る必要がある。
RSSIを表示できるアプリ(AirMac, WiFiman)やWLXの見える化ツールで確認するとよい。

調整レベルは 7 10 の2段階で調整します。
電波出力自動調整機能 WLX212技術資料

Reduce the Radio Transmit Power (TX) to minimal levels. because 2.4GHz has tremendous range.
2.4GHz channels may cover a wider physical area than expected.
If 2.4GHz channels are required, the 2.4GHz channels should be set 10 dBm lower than your hottest 5GHz

AppleのWi-Fiを用いた測位「ネットワークとワイヤレス」には2.4GHz帯が用いられるが、あくまでビーコンとしての利用のため接続できるAPを用意する必要はない。

In order to use certain services related to physical location, Apple devices need to detect, but not necessarily join, an SSID that uses the 2.4GHz radio space.
Recommendations & Best Practices for Wi-Fi and Apple Devices

無線QoS (WMM-EDCA) 使用する
受信レート

Basic Rate: 11Mbps(11b)/12Mbps
Option Rate: 12/18Mbps-
サポートしない: -9/11Mbps

ヤマハは、受信レートを変更してパフォーマンスを向上させる方法を公開している。
遅い無線端末の接続を拒否 : Web GUI設定
IEEE 802.11bは最大11Mbpsのため、Basic Rateを12Mbpsにすると接続できなくなる。低いBasic Rateはオーバーヘッドになるため、11n/a/gに対応していてカバレッジが不要なら上げてしまうとよい。

5GHz 詳細 見出しにジャンプ

項目 設定値 説明
ショートガードインターバル 有効にする

少しだけスループットが上がる。
MCSインデックスの見方 | 8 Hack.
手元のiPhone 13では、Wi-Fiミレル/Wi-Fi Sweetspots読みで1ストリームの理論値前後は出ていそうだ。当然2ストリームに対応しているはずだが、MCS 9が出る気配がない。
AppleデバイスのWi-Fi仕様 - Apple サポート (日本)
「Wi-Fi SweetSpots」をApp Storeで

ビーコン間隔 100ミリ秒

無線端末(STA)は、その多くがバッテリーの制約を抱える。端末はListen Interval毎に無線インタフェースに火を入れ、APが送信を待っているユニキャストトラフィックの情報(TIM)やマルチキャスト・ブロードキャスト(DTIM)を受信する。
802.11 - TIM and DTIM Information Elements - Hewlett Packard Enterprise Community

これらのBeaconフレームはオーバーヘッドになるが、Beacon/TIMの間隔を300ms程度に大きくすると、スループットが微増するがレスポンスが非常に悪くなる。Beacon Intervalは変えずにBasic Rateの設定でチューニングした方がよい。
5.1.1. マルチキャスト送信レートおよび受信レート Radio Optimization機能 WLX212技術資料
Wi-Fi Beacons & Beacon Interval: Everything You Need To Know

Wi-Fi 6はTarget Wake Time(TWT)が使えるため、何も手を加えずとも下図のようにバッテリーが持つかもしれない。しかしながらWi-Fi 5のWLX212にもできることがある。
1.1.3. Wi-Fi 6(第6世代のWi-Fi規格)はじめに ユーザーガイド
Wi-Fi 5にもかかわらず、iPhoneに触れていない間バッテリーが減らない

DTIM間隔は、STAのバッテリーライフに直結する。マルチキャストやブロードキャストは、殆ど無意味であっても全てのSTAが起床するからだ。
DTIM – WIFI_NC
iPhoneのバッテリー持ちはBackground Tasksも絡むため一概には言えないが、ルータ側でIPv6 NDを、APでDTIM Intervalをチューニングして改善をみた。

AppleのエンジニアはDTIM Intervalに3を推奨しているらしい。
MinneapoliteさんはTwitterを使っています: 「@Ben_SniffWiFi Apple engineers have strongly suggested a DTIM of 3. I wonder if that plays a role. Maybe test that setting and see if helps?」 / Twitter
Go To Sleep, Go To Sleep, Go To Sleep Little iPhone

If an AP, for instance, expresses a Delivery Traffic Indication Message (DTIM) of 3, then the AP will send a multicast packet every 3 packets. In fact, when any single wireless STA associated with an AP has 802.11 power-save mode enabled, the AP buffers all multicast frames and sends them only after the next DTIM beacon.
4.3. Buffering to Improve Battery Life RFC 9119: Multicast Considerations over IEEE 802 Wireless Media

iPhoneはDTIM 1を無視する

With DTIM = 1, iOS ignores DTIM if it has no active stream
Optimize Your WLANs for iPhones and Tablets

iPhoneのListen Intervalは20らしい。全てのモデルに言えるかは不明だが、DTIM Intervalを決めるにあたりさして問題ではない。

The listen interval of a Samsung Android is 0x000a and I have no problem with this device. As soon as the iphone device register I have this behavior with very limited bandwidth. The listen interval of the Iphone is 0x0014. So twice longer.
Wrong "More Data" bit value in multicast with PSM enabled - MikroTik

Usually the Listen Interval is an even value like 10, 14 or 20
Listen Interval vs DTIM, how important is to have these 2

DTIMとの最小公約数は60のため、60 x 100ms = 6秒間STAは眠ることができる。

DTIMを減らす目的で、IGMP/MLD snoopingのような機能を持ったAPもある。
Battery Boost

DMS is not currently implemented in products
4.6.3. Directed Multicast Service (DMS) RFC 9119: Multicast Considerations over IEEE 802 Wireless Media

Apple公式サイトにDMS対応と載ったことがあったが、ガセだったか……

DTIM間隔 3
Beacon Interval = 100ms 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ~ 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
AP DTIM Interval = 1
AP DTIM Interval = 3
STA Listen Interval = 20 20 40 60
RTS閾値 2304 bytes

WLANでは、限られた帯域幅を時間軸で細切れに分割して複数の端末と共有する。このとき「隠れノード問題」という、APとそれぞれの端末は通信でき、APは被らないようにデータを送れるが、端末は他方の端末を認識せずに送信して衝突してしまうときがある。同じAPに多数の端末が繋がるとスループットが大きく低下する一因だし、ご家庭に複数のAPを高密度設置する意味が薄い理由でもある。これを軽減する仕様の一つに、RTSを送ってCTSが返るか確認する仕組みがあり、多くの場合bytesを閾値にRTSをトリガーする。

RTS/CTSは元々、端末間の距離が長すぎるなどの原因で互いの電波を検知できず、フレームの衝突が起こる「隠れ端末問題」を解決するための仕組みでしたが、11acではこれを伝送帯域確保のために活用
802.11acと無線LAN仕様のこれから:解剖! ギガビット無線LAN最新動向(3)(1/2 ページ) - @IT

CSMA/CA with拡張RTS/CTS手法はIEEE802.11ac標準規格においては,オプション機能(必須機能ではない)[1]となっているため,実装の有無,および実装方法についてもメーカ依存
IEEE802.11ac準拠の機器におけるチャネルボンディング機能の性能評価

隣接チャネル(120,116,108,104チャネル)に信号が漏れており,1ch隣の116,108チャネルでは−65 dBm以上,2ch離れた120,104チャネルでも−90 dbm以上の電波として検出
CCA閾値を用いると誤検知が発生し,チャネルボンディング時の送信制御に影響を与える可能性
IEEE802.11ac準拠の機器におけるチャネルボンディング機能の性能評価

RTS/CTS Operation for Wider Bandwidth

RTS閾値(1-2345 bytes)は高めの2304 bytesに設定。
RTS threshold configuration for improved wireless network performance [updated 2020] | Infosec
干渉の原因は不明だが、W56で5%未満のCRCエラーが時々ある環境で、iperf3(iPhone側が-s, AP側が-cまたは-c P8)のスループットが向上した。
iPerf - Speed Test Tool on the App Store

Arubaのデフォルトは2333 bytes。2345に限りなく近いので実質offでは。
Multi-User MIMO

Recall that the original goal of the RTS/CTS hand-shake is to avoid collisions, so if collisions are not likely to occur(e.g., low network load), there is no need to use RTS/CTS and in-cur the additional overhead.
As shown in Figure 7, for most data rates and small-to medium packet sizes, there is no benefit in using RTS/CTS whenthere is no hidden terminal. These results confirm the importanceof accounting for network contention when deciding whether touse RTS/CTS.
A machine learning approach for dynamic control of RTS/CTS in WLANs

unless your network is really small (less than maybe 6 nodes and covering only a small area) and not isolated from other networks using the same channel, using RTS/CTS almost always has a rather positive effect in practice.
RTS threshold, fragmentation, and other advanced WiFi settings - Server Fault

11axではRTS/CTSのオーバーヘッドが軽減されているようだが……
次世代高効率無線LAN規格IEEE 802.11axに関する国内外の動向

最大ステーション数 STA(端末)を制限する機能
無線通信平滑機能 無効

遅い端末が速い端末の足を引っ張るWi-Fiの性質を、少し改善してくれる機能。是非とも使いたいところだが、iperf3のスループットがマルチ・シングルコネクション共に下がったので無効のままにした。スピードテストのBulkトラフィックが速くてどうするという話ではあるが、Access Categoryが影響する類の設定ではないと思うので。
無線通信平滑機能 WLX212技術資料

図1. APでの下りトラヒックの滞留例
VoIP 向け無線 LAN QoS 制御方式 (EDCA) の拡張

送信出力 7
show status airlink module module2
~~
          Bit Rate:866.7 Mb/s   Tx-Power=17 dBm  

5GHz帯は届きにくいので、集合住宅一戸全体をカバーするにはiPhoneのアンテナピクト読みで7程度必要だった。オフィスか豪邸でもない限り自動で恩恵を得ることはなさそうだ。

調整レベルは 7 10 の2段階で調整します。
電波出力自動調整機能 WLX212技術資料

SNRの出してくれるShortcutsや、iOSの設定AppにRSSIを表示させる構成プロファイルが役に立つ。
Yet another Wi-Fi details shortcut for iOS - Intuitibits

Wi-Fi for iOS/iPadOS
Profiles and Logs - Bug Reporting - Apple Developer

iOSでWi-FiのSNRやRSSIを表示する

こちらの構成プロファイルは1週間で失効してしまうため、下記のShortcutsが有効だ。

送信出力を上げて改善しようとするな、マルチキャスト送信レートを足切りせよと書かれている。

DON’T turn up the Tx power to increase capacity, it will increase interference and reduce capacity. It is better to reduce Tx and increase AP density.
DON’T increase AP density without revisiting your RF plan and reducing Tx power.
DO disable lower MCS attach rates to prevent low speed clients eroding bandwidth.
Antenna Selection and Positioning Guide - 7Signal-AntennaPositioningWP.pdf

Optimal cell edge recommendation for iOS devices is -67 dBm or better (-65 dBm is better for typical high-density enterprise deployments). Mac computers can accept a cell edge at -72 dBm. An optimal WLAN deployment will require, at the cell edge, a minimum of two APs in 5 GHz at -67 dBm as measured by the Apple client.
Products - Enterprise Best Practices for iOS, iPadOS, and MacOS Devices on Cisco Wireless LAN White Paper - Cisco

マルチキャスト送信レート 自動

EDCAパラメータはshow status airlink wmmでも確認できる。

通常、APからSTAに送信される下り通信はAC_BE (Best Effort)に分類される。STAから発せられる上りも同様だ。これは多くのパケットのDSCP値はDF(0)のためだ。
スマートデバイスでのVoIPの難しさ 1.NWでのQoSについて | ネットワンシステムズ
無線ネットワークにおけるフロー特性を考慮したQoS制御方式の実装評価
RFC 8325にあるように、上位ルータのQoSで下りトラフィックをL3マーキングすると、そのDSCP値に基づいてAC_VO (Voice), AC_VI (Video), AC_BK (Background)に優先付けされる。特にCS1のパケットを送るとかなり遅延する(優先度が低い)ことが確認できる。

WLXのECWmin, ECWmaxはaCWmin, aCWmaxを指数表記にしたもの。2^ECWmin - 1 = aCWmin
TxOPがμsでなくUnits単位のAPもある。
Configuring Dynamic WMM Queue Management

TxOPはIEEE 802.11revmcで変更があり、AC_BEやBKでもTxOP burstを許可することでAPの負荷が下げたようだ。最近のAironetもこの値に倣うらしいので、WLXにも設定した。

  • For BE and BK, the “0” can exceed 3ms or 1.5ms because of frame size, thus hurting Voice and Video
  • IEEE 802.11revmc is updating this to give BE and BK non-zero values, thus giving voice and video ACs better treatment DGTL-BRKRST-2515 - DGTL-BRKRST-2515.pdf

Solved: Re: EDCA: Use fastlane or optimized-video-voice in C9800 - Cisco Community

By default EDCA, you will see TXOP value 0 for BE & BK classes resulting all those WiFi frames with default UP marking has to go through contention every time they transmit one frame (not efficient).
9800-Auto QoS | mrn-cciew

Only devices that send/receive frames in the AC_VO or AC_VI access categories will also benefit from this AP burst. This is because AC_BE and AC_BK have a default TXOP of 0.
Power Save Methods – How I WI-FI

端末からの上り通信がL3マーキングされる状況は少ないし、フレッツにおいては帯域制限の対象のため望ましくない。Cisco Fastlaneに対応したWLC配下のAPにAppleデバイスを接続すると、自動でSTA側もL3マーキングが行われる。構成プロファイルでこの挙動を制御できるが、WLXは対応していないのでAC_BEに分類されるだけだ。

In a non-Fastlane network, upstream DSCP is generally unmarked, and the concept of a whitelist does not apply.
Products - Enterprise Best Practices for iOS, iPadOS, and MacOS Devices on Cisco Wireless LAN White Paper - Cisco

iOS Compatibility with Cisco QoS Fastlane & Adaptive 802.11r - Apple Support

無線QoS (WMM-EDCA) 使用する
Accesspoint
ITEM / Access Category ECWmin (slots) ECWmax (slots) AIFSN (slots) TxOPLimit (μs)
be 4 6 3 2528
bk 4 10 7 2528
vi 3 4 1 4096
vo 2 3 1 2080
Station
be 4 10 3 2528
bk 4 10 7 2528
vi 3 4 2 4096
vo 2 3 2 2080
アグリゲーション A-MSDU / A-MPDU
受信レート

Basic Rate: 24Mbps
Option Rate: 36, 48, 54Mbps
サポートしない: 6, 9, 12, 18Mbps

CiscoとAppleは12Mbpsと24Mbpsの2つのBasic Rateを推奨している。

Cisco and Apple recommend a minimum data rate of 12 Mbps and enabling 12 Mbps and 24 Mbps as the two mandatory data rates as a general best practice for Apple devices on a Cisco WLAN. If the 5-GHz coverage is marginal, setting 6 Mbps as the lowest mandatory rate could potentially resolve issues.

マルチキャストは最も高いBasic Rate、ブロードキャストは最も低いBasic Rateで送信される。

If more than one data rate is set to mandatory, multicast is sent at the highest common mandatory rate of all associated clients. Broadcasts are always sent at the lowest (not highest) mandatory rate.
Products - Enterprise Best Practices for iOS, iPadOS, and MacOS Devices on Cisco Wireless LAN White Paper - Cisco

マルチキャストを頻発させるIPv6 NDやWindows UpdateやLogicool製品によってブロードキャストが頻発する状況は、パフォーマンスにも端末のバッテリー寿命にも悪影響だが、有線区間でケアする問題であり、WLAN側でケアする問題ではない。

Basic RateはDTIM Intervalで頻繫に送られるBeacon Rateにも影響する。高密度WLANでは最低18か24MbpsのBeacon Rateがよいとされるが、一般のご家庭は(オフィスや学校と比較して)狭いため当てはまるだろう。24Mbpsに設定し問題ないことを確認した。

The first or lowest mandatory rate is the speed at which beacons will be sent. The highest mandatory rate is the speed at which multicast will be broadcast. The design for a high-density WLAN should use a minimum mandatory data rate of 18 or 24 Mbps.
Wireless LAN Design Guide for High Density Client Environments in Higher Education

MBO 使用する

Multiband Operations(MBO)では、2.4GHz/5GHz/6GHz帯を束ねることができる。設置状況や端末側の実装が強く影響するローミングが適切に機能しなければ遅くなるだけなので、必ず2.4GHzを無効にする。
Wi-Biz通信Vol.87【ニュース&トピックス】 | 一般社団法人 無線LANビジネス推進連絡会【WiBiz(ワイビズ)】 - メルマガ - 技術情報一般社団法人 無線LANビジネス推進連絡会【WiBiz(ワイビズ)】
WLAN SSID Profiles

マルチSSID 見出しにジャンプ

無線設定 -> SSID管理

WLX212でマルチSSIDを設定

複数のSSIDを吹く目的は大きく2点だろう。一つは互換性のないWi-Fi規格に対応するため。例えばIoT機器がWPSを求める場合、WPA2-PSKが最大となる。また、2.4GHzにしか対応していない端末もあるだろう。
もう一つは管理者・家族用・仕事用・来客用で分けるなどアクセス制御目的のVLAN。WLXには1つのRJ45端子しかないが、スイッチのトランクポートに接続し複数のL2セグメントに属することができる。

WPSでIoT機器と接続 見出しにジャンプ

IoT・ゲスト用SSIDをVAP9に設定した。IoT機器の接続にWPSが必要だった。また、ゲストWi-Fi用のVLANが上位ルータで用意されており、来客があるかどうかは別としてそれ用のSSIDも必要だった。WLX212には2.4GHz・5GHzそれぞれ一つアンテナしかなく、周波数帯を共有するため、これらの用途をまとめた。

VAP9 設定
項目 設定値 説明
インターフェース動作モード vap

WPS 機能はVAP9でのみ動作
WPS 機能 WLX212技術資料

バインドする無線モジュール 設定不可 搭載した無線モジュールをすべて使う
WPS 使用する
次の場合SSIDを有効にする 常に

災害時モード(00000JAPAN)の開放には申請が必要
00000JAPAN事業者登録申請の開始について | 一般社団法人 無線LANビジネス推進連絡会【WiBiz(ワイビズ)】 - 00000JAPAN - お知らせ - 新着情報一般社団法人 無線LANビジネス推進連絡会【WiBiz(ワイビズ)】

VLAN ID 3 802.1q
SSIDの通知 設定不可 常に通知される
プライバシーセパレータ 使用しない

IoT機器のセットアップや操作には、mDNSが使われることが多い。
例えば、ご家庭向けエアコンのゴールドスタンダードである三菱電機の霧ヶ峰REMOTE(現MyMU)は、mDNSをセットアップ時のみ用いるためプライバシーセパレータは有効でよい。

認証方式 WPA2-PSK WPSではWPA2-PSKまで。代わりにかんたん接続のQRコードが使用できるため、プライバシーセパレータを有効にできるならゲストWi-Fiとしても使えそうだ。
ブロードキャストキー更新間隔 3600秒 NEC Atermに倣った。WLXのデフォルトは無効だが、有効でも安定性に問題はなかった。
内蔵DHCPサーバー 使用しない スイッチ・ルータ側でやるべき
WPS設定
項目 設定値 説明
Virtual Push ボタン 実行 WLXには物理ボタンがないため、これがWPSボタン

プライバシーセパレータ 見出しにジャンプ

VAP2 設定
項目 設定値 説明
インターフェース動作モード vap
バインドする無線モジュール 5GHz

Apple iPhoneは 802.11k/r/vに対応しているため、バンドステアリングも正常に機能する。
しかし遠くまで飛んでしまう2.4GHz帯のRSSIを下げ、5GHzのSNRを上げてローミングを促すのは結構難しい。頑張ったところで2.4GHzを掴んだまま離れない端末もあるため、できれば同じSSIDで周波数帯を混ぜない方がよい。
バンドステアリング機能 WLX212技術資料
AppleデバイスでのWi-Fiローミングのサポート - Apple サポート (日本)

次の場合SSIDを有効にする 常に 災害時モード(00000JAPAN)は登録が必要
VLAN ID 2 802.1q
SSIDの通知 通知する ステルスモードはオカルト
プライバシーセパレータ 使用する

ご家庭のネットリテラシーを考慮し、またWPA2-PSKは割れやすいためプライバシーセパレータで緩和を試みる。
あくまでWLXに繋がった同セグメントの端末同士でL2通信ができなくだけで、他社APや上位スイッチ・ルータの同セグメントとの通信は許可される。WLX同士なら(ARPテーブルを共有してか)1つの巨大なAPとして振舞うようだ。
AP 間プライバシーセパレーター機能 WLX212技術資料

認証方式 WPA2-PSK/WPA3-SAE 互換性のためにWPA2-PSKも残しているが、端末が対応しているなら切ろう
ブロードキャストキー更新間隔 3600秒
内蔵DHCPサーバー 使用しない スイッチ・ルータ側でやるべき

WPA3 Enterprise 見出しにジャンプ

VAP1 設定
項目 設定値 説明
インターフェース動作モード vap
次の場合SSIDを有効にする 常に 災害時モード(00000JAPAN)は登録が必要
VLAN ID 1 untag
SSIDの通知 通知する ステルスモードはオカルト
プライバシーセパレータ 使用しない
認証方式 WPA3-EAP
192bit暗号 使用する

eduroamでは、互換性のため192bit暗号を使うなとある。
eduroam® and Wi-Fi CERTIFIED WPA3™ Security - eduroam.org
逆に192bit暗号が有効でないと接続できないiPhoneも存在した。ユースケースに合わせて選ぶのがよいだろう。家庭に192bit暗号が必要かは議論のあるところだ。
Apple社の一部の製品と無線LANアクセスポイントWLX222・WLX413・WLX212・WLX313との無線LAN接続についてのご注意

事前認証 使用する 802.1X Pre-Authentication
プライマリRADIUSサーバー 内蔵のRADIUSサーバーを使用する

WLX212の目玉機能。RADIUSサーバーは通常APとは分かれているものだ。
Android13以降で使う場合、処理性能が欲しい場合はファームウェア更新だけでなく初期化が必要とのこと。
RADIUSサーバー機能 WLX212技術資料
iPhoneへの証明書の設定に、構成プロファイルを使う。

プライマリRADIUSポート番号 1812
PMF (管理フレーム保護) 設定不可

WPA3を使用するときは、PMF (管理フレームの保護機能)を無効にすることができません。 WPA3-SAE / EAPモードで無線端末が接続できない、もしくは接続できても「スループットが極端に低下する」「定期的に切断が発生する」などの現象が発生するときは、WPA2-PSK / EAPモードに切り替えPMFを無効にして接続をお試しください。また無線端末の無線LANドライバーの更新版がないかご確認ください。
WPA3 WLX212技術資料

ブロードキャストキー更新間隔 更新しない

構成プロファイル 見出しにジャンプ

RTXのVPNプロファイルをつくったように、Wi-Fiプロファイルもまたほぼxmlのため、Apple Configuratorを使わずともテキストエディタで作成できる。
WiFi | Apple Developer Documentation

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadCertificateFileName</key>
            <string>PKCS12</string>
            <key>PayloadContent</key>
            <data>
            bnlhbnNoaWJh...
            </data>
            <key>PayloadDisplayName</key>
            <string>PKCS12</string>
            <key>PayloadIdentifier</key>
            <string>com.example.vlan0pkcs12payload</string>
            <key>PayloadType</key>
            <string>com.apple.security.pkcs12</string>
            <key>PayloadUUID</key>
            <string>bb20825e-b512-4014-87d3-96038d6c54ce</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
        </dict>
        <dict>
            <key>AutoJoin</key>
            <true/>
            <key>CaptiveBypass</key>
            <true/>
            <key>DisableAssociationMACRandomization</key>
            <true/>
            <key>EAPClientConfiguration</key>
            <dict>
                <key>AcceptEAPTypes</key>
                <array>
                    <integer>13</integer>
                </array>
                <key>TLSCertificateIsRequired</key>
                <true/>
            </dict>
            <key>EnableIPv6</key>
            <true/>
            <key>EncryptionType</key>
            <string>WPA3</string>
            <key>HIDDEN_NETWORK</key>
            <false/>
            <key>IsHotspot</key>
            <false/>
            <key>PayloadCertificateUUID</key>
            <string>bb20825e-b512-4014-87d3-96038d6c54ce</string>
            <key>PayloadDisplayName</key>
            <string>doremi</string>
            <key>ProxyType</key>
            <string>None</string>
            <key>SSID_STR</key>
            <string>doremi</string>
            <key>TLSCertificateRequired</key>
            <false/>
            <key>PayloadIdentifier</key>
            <string>com.example.vlan0wifipayload</string>
            <key>PayloadType</key>
            <string>com.apple.wifi.managed</string>
            <key>PayloadUUID</key>
            <string>5bf1e389-eac6-4583-b379-0d2bacaabff2</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
        </dict>
    </array>
    <key>PayloadDisplayName</key>
    <string>WLX212 WPA3 Enterprise</string>
    <key>PayloadIdentifier</key>
    <string>com.example.wlx212wpa3eap</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>756113c1-6111-497a-b15d-01088f1ba11c</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>
  • PayloadContentに書くために、展開したPKCS12(.p12)ファイルをBase64エンコード
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("$env:USERPROFILE\Downloads\hoge.p12"))

CertificatePKCS12 | Apple Developer Documentation
Wi-Fiプロファイルを用いたeduroam/OpenRoamingのパスワードレス設定

  • Passwordは書かない。証明書インストール時・初回接続時に求められるので、パスワードマネージャにでも入れておこう。
  • DisableAssociationMACRandomization プライベートWi-Fiアドレスを無効化すると、RTXのDHCP固定設定IXのリンクマネージャを使ったIPv6パケットフィルタが書きやすい。
  • ユニークなPayloadUUID を指定する。

WPA3-EAPの構成プロファイルをiOSにインストール

「ネットワークのリセット」後など、接続に再度「信頼」が必要なときがある。

管理機能 見出しにジャンプ

L2MS 見出しにジャンプ

L2MS L2MSを有効化すると、ヤマハネットワーク製品同士でトポロジ図を表示したり、configを一括管理できる。
WLX212では、クラスター管理機能のブロードキャストに加えて、01:a0:de:00:e8:12宛の0xe812パケットが増える。

switch control config get lan1:4 
設定ファイル(ac_44_f2_c0_ee_b0.conf)を受信しています...
エラー: 指定された機器に対して実行することができません

53.2 スイッチの制御switch selectがなまじ動いてしまうから勘違いするが、WLXは53.4 アクセスポイントの制御ap select
LAN側の物理ポート4に挿したWLXを選択

#
# Schedule configuration
#

schedule at 9 */Sun 12:12:12 * ap control config get syslog

#
# Switch Control configuration
#

switch control mode manager
switch control watch interval 10 2

#
# AP Control configuration
#

ap config directory sd1:/ap_config
ap control config-auto-set use off

### AP lan1:4 ###

ap select lan1:4
 ap config filename wlxconfig.txt

複数の無線LANアクセスポイントを自動的に設定 : コマンド設定 + WLX202 Web GUI設定

Syslog 見出しにジャンプ

WLXのsyslogクライアントでは、端末の接続や気象レーダーのログを取得できる。
ログメッセージリファレンス WLX212技術資料
syslogサーバには、NEC IXと同様にrsyslogdを使用した。RTXをsyslogサーバにしてもよい。

  • jounaldに出す。ログ閲覧にはjounalctlが使えるが、RHEL系ならCockpitのWeb GUIにそのまま表示されるはずだ。
module(load="imudp")
module(load="omjournal")

ruleset(name="remote") {
       action(type="omjournal")
}

input(type="imudp" port="514" ruleset="remote")

DFS発生ログを受信したら、WLXの無線を再起動する
03 DFS (Dynamic Frequency Selection) ログメッセージリファレンス WLX212技術資料

このコマンドを実行すると、すべての無線インターフェースが一時停止する
6.2.1 無線設定を有効にする

module(load="imudp")
module(load="omjournal")

ruleset(name="remote") {
       action(type="omjournal")
}

input(type="imudp" port="514" ruleset="remote")


module(load="omprog")

if $msg contains 'Radar detected' then {
    action(
        type="omprog"
        binary="/home/user/restart-by-dfs.sh"
    )
}
#!/bin/bash
(sleep 1; echo ""; sleep 1; echo "administrator"; echo "password"; echo "airlink configure refresh"; sleep 10) | telnet 10.0.0.22

「rsyslog」のデータベース出力機能やテンプレート機能、スクリプティング機能を活用する | さくらのナレッジ

  • Promtailに渡す
    WLXのsyslogはRFC準拠でないため、rsyslogが必要。