ほぼ一年前の2022年8月に、こんな記事を書いていました。当時のファームウェア v11.6.4-1333 では、CLIからごそごそいじって、やっとPasspointがだましだまし使えるレベルでした。一応v12からGUIに設定メニューが入ったものの、紆余曲折あって、v12.3.1でもまだGUIだけでは設定が投入できない状況。うーん……
待望のまともに動く版GUIのファームウェアが出ました!ヽ(・∀・)ノ
v12.4.1です。ファームウェアはこちらでダウンロードできます。
https://support.edge-core.com/hc/en-us/articles/4404531198233-EAP101
https://support.edge-core.com/hc/en-us/articles/4405892429081-EAP102
Passpoint設定の変更点
実は、一つ前のv12.4.0でも、GUIだけでPasspointの設定が投入できるようになっていました。OpenWrtベースのEAP101では、設定ファイル /etc/config/wireless の中で、config wifi-iface セクションに、Passpoint (Hotspot 2.0)関係のオプションが入る仕組みでした。しかし、これでは、バンドごとにPasspointの設定を書かないといけないという面倒くささがありました。Passpoint設定をインタフェースから独立させて、バンドステアリングできるようにするのが、正しい方向性でしょう (Merakiと同様)。
そこで、他にも色々と不具合のあったPasspointまわりの修正と、機能改善をEdgecoreにお願いしていたところ、以下の変更が入りました。
- Passpointの設定がProfileとして独立して、/etc/config/hotspot20 というファイルに格納されるようになった。
- Wirelessのバンドごとの設定では、どのPasspointプロファイルと紐づけるかを選択するだけになった。
- 分かりにくかったHESSIDとOperating Classに、自動的に初期値が設定されるようになった。
- NAI realmやPLMNなどの設定が楽になって、hostapdの記法を調べなくてもよくなった。
ちなみに、v12.4.0の設定画面は以下のとおりです。例えば NAI realm に '0,example.com,21[2:1][3:1][5:7]' のように入力しないといけないなど、大変面倒くさいものでした。
OpenRoaming設定
えっ、Passpoint設定じゃないんですか!?
なぜか分からないのですが、管理画面にPasspointやHotspot 2.0の文字が見当たらず……。しかし、OpenRoaming以外のPasspointの設定も投入できるので、画面だけの問題です。
NETWORKメニューの中にOpenRoamingというのがあるので、この中で設定します。最大32個まで登録できるようです。
Add newをクリックして、新しいプロファイルを作ります。HESSIDには初期値が入っているので、基地局が一台だけの場合はそのままでOKです。複数台を並べて仮想的に一台とみなす場合は、どれかのHESSIDに合わせます。
最低でも、Venue Name, Venue URL, Operator Friendly Name, Domain Nameの設定が必要です。
PLMN ListやRoaming Consortium List、NAI Realm Listは、自分が使うPasspointの設定に合わせて、値を入れていきます。
Roaming Consortium Listには、5オクテットまたは3オクテットのRCOI (Roaming Consortium Organization Identifier)を並べていきます。
NAI Realmの設定が、本当に楽になりました。EAPタイプとAuthentication Methodを選択していくだけです。
実はここだけの話、こんな感じで設定できるようにして欲しいと昨年からEdgecoreにお願いしていたら、2023年3月にAccton/Edgecoreの台北オフィスで打ち合わせした際に、GUIのモックができていました (・∀・)
(さりげなくべたに貢献をアピールしていくスタイル)
一通り設定を入れると、/etc/config/hotspot20 の中に、こんな感じでセクションが追加されます。
config profile
option name 'example'
option iw_internet '1'
option iw_access_network_type '3'
option iw_hessid 'F8:8E:A1:xx:xx:xx'
option iw_venue_group '3'
option iw_venue_type '0'
option network_auth_type '00'
option iw_ipaddr_ipv4_type_availability '4'
option iw_ipaddr_ipv6_type_availability '0'
option hs20_operating_class '5173'
option iw_ipaddr_type_availability '10'
option iw_enabled '1'
option anqp_domain_id '88'
option iw_anqp_3gpp_cell_net '999,002'
list iw_venue_name 'eng:testVenue'
list iw_venue_url '1:https://www.example.com/info-eng'
list hs20_oper_friendly_name 'eng:testOperator'
list iw_roaming_consortium 'deadbeef99'
list iw_domain_name 'example.com'
list iw_nai_realm '0,example.com,21[2:1][3:1][5:7]'
Passpoint Profileの紐づけ
WIRELESSメニューの中で、Passpointを有効化したいSSIDごとに、OpenRoaming Passpoint Profileを紐づけます。
/etc/config/wireless の中に、以下のような行が追加されます。随分シンプルになりました。
option hs20 '1'
option hs20_profile 'example'
端末からのテスト
基地局に設定したものに対応したPasspointプロファイルを端末にインストールして、動作確認します。Windows 11の例はこのとおり、EAP101から正しくPasspoint対応の電波が出ていることが分かります。
なお、WindowsやiOS/iPadOSでは、一度見たPasspointの値をキャッシュに保持して、なぜかずっとその情報を維持してしまう問題があります。基地局に新しいNAI realmを登録しても、端末を再起動するか、SSIDを変更するまで、端末が検出できないことがあります。(このヘンテコな実装をしたヤツは誰だ!(ガラッ))
おわりに
Edgecoreの基地局も、やっと本格的にPasspointが使えるようになりました。自分はまだ試していないのですが、ecCLOUDからの設定投入もできるみたいです。既に大規模な導入事例も出てきているので、探してみてください。
再見