はじめに ~ 動機・前提
前回の投稿から随分と間が空いてしまった。
実はプライベートで転職活動が佳境に入っており、連日の面接→就労許可取得・引越準備といったイベントが怒涛の如く押し寄せ、ブログ更新どころではなかった。それはそれで、見方を変えれば日本在住では得難い体験ではあるのだが…あまり詳細を説明すると個人情報(勤務先・住所)に関するネタになりかねないため割愛。筆者は現在アイルランド在住だが、今回の転職で国境を跨ぐため、現地のIT事情なども今後ネタにしていきたい。
ところで、海の東西を問わず内定を受け取ってから新たな勤務先に転職する移行期間は1カ月+数日間程度しか猶予がない。筆者の場合5週間=35日間が設定されたが、有給消化を認められず引越先の物件を内覧する時間すら無かったため、長期契約のアパートを探すまでの仮の住居として新しい職場(駅前)近くにserviced apartment(あらかじめ家具等が備付られており、清掃などのサービスが含まれる、ホテルとアパートの中間的な物件)を契約した。
今回の御題はそんな引越・旅行にまつわる宅内の有線LANに関する話題である。
筆者の場合は短期間入居するアパートで無線LANによるインターネットアクセスが標準で提供されているのだが、旅行や出張でホテルやウィークリーマンションに滞在する場合にも同じような状況は発生する可能性がある。
筆者の自宅にはデスクトップPCやRaspberry Pi(RPi)など多数の有線LAN接続デバイスが存在するため無線LANインターネットアクセスを宅内で有線LANに変換するワイヤレス ブリッジがあれば便利である。
選択肢
ワイヤレス ブリッジはルーターの一種である、というか「無線ブロードバンドルーター」として販売されているハードウェアで実現可能な機能あるいはモードの一種である。
一般的な無線ブロードバンドルーターでは有線接続 x 2と無線接続があり、有線接続 1 ポートをWAN・残りの有線接続と無線接続をLANにそれぞれ割り当て、WAN⇔LAN間やLAN⇔LAN間のフォーワーディング処理を行う装置である。
これに対し、ワイヤレス ブリッジは無線接続1チャンネルをWAN・残りの無線接続や有線接続をLANに割り当て、WAN⇔LAN間やLAN⇔LAN間のフォーワーディング処理を行う装置である。
ワイヤレス ブリッジの実現方法は幾つか存在するが、ここでは以下のような選択肢を検討したい:
- ワイヤレス ブリッジ機能搭載ルーターを使用する
- 既存のルーターを改造してワイヤレス ブリッジ機能を有効化する
- 開発ボードを転用する
1. ワイヤレス ブリッジ機能搭載ルーターを使用する
LinksysやASUSなどの製品で標準ファームウェアでサポートしている製品もあるほか、GL.iNetのトラベルルーター製品ように、最初からホテルなどでの使用を想定してアピールポイントとしている製品もある。
この選択肢の利点は導入が簡単な点で、逆に欠点は (1) GL.iNetのようなケース以外では対応している製品が不明瞭な点と (2) 他の選択肢と比べコストが割高になるケースが多い点だろう。
もし、偶然にもLinksysやASUSなどのワイヤレス ブリッジ機能搭載ルーターを既に所有している場合は単に転用すれば済む話であるが、そうでない場合は購入すると最低でも$50~$100前後の出費が見込まれる。また、2022年8月現在の$50~$100前後の安価なルーターだとMediaTek MT7621A搭載製品など相対的に低性能な製品が多く、結果的に割高になってしまう。GL.iNet製品でも、~$75の製品はMT7621Aか同等クラスの製品が中心で、最近登場したGL-AXT1800だとQualcomm IPQ6000搭載でハードウェアは最新だが$130してしまう。
2. 既存のルーターを改造してワイヤレス ブリッジ機能を有効化する
日本では電波法・技適の都合で違法となる可能性があるが、OpenWrtのようなカスタムルーターOSではワイヤレス ブリッジが提供されている製品も存在する。実のところ、上述のGL.iNet製品を含め高機能を謳う中国製ルーター製品の一部はOpenWrtを搭載し同OSが提供する多様な機能を利用しているものが少なくない。日本国外での使用を想定する場合はこの選択肢も考慮に入ってくる。
この選択肢の利点は、もしユーザーが既に所有しているルーターがOpenWrtに対応している場合にそのルーターを使用できる点であるが、欠点は (1) OpenWrtが対応する市販ルーター製品は限定的で一般に一世代以上古いデバイスが多いこと(OpenWrt Table of Hardware 802.11ac Support、Table of Hardware 802.11ax Support)と (2) 導入までのユーザーの労力がそれなりに必要となることだろう。
欠点 (1) についてだが、例えばAliExpressなどで安価に入手できる中国Xiaomi製ルーターを例にとると最新のRedmi AX6000(MediaTek MT7986A, Arm Cortex-A53 quad-core @ 2.0 GHz, 512 MB RAM)は2022年8月現在でOpenWrtに対応しておらず、WiFi 6(IEEE802.11ax)対応・OpenWrt対応で最新のSoCを搭載しているルーターは全メーカーを見渡してもXiaomi製Redmi AX6S/AX3200ぐらいのものである。
欠点 (2) についてだが、OpenWrtのインストールが簡単でない場合がある。例えばRedmi AX6Sの場合OpenWrtのRedmi AX6S/AX3200のページを参照頂ければ解る通りTFTPを有効化したりPythonスクリプトを実行してアンロックしたりする必要がある。
3. 開発ボードを転用する
理屈の上ではRaspberry Pi(RPi)などの開発ボードに無線LANアダプターを接続・OSを設定して自作することも可能である。
この選択肢の利点は、もし手持ちでRaspberry Piなどの余剰機があれば導入できる点であるが、欠点は (1) 導入までのユーザーの労力が大きい可能性があること (2) 市販のルーターと比較して無線機能が低性能だったり不安定になり易い点である。
欠点 (1) については、RPiやFriendlyELEC製品のように開発ボード用にOpenWrtが提供されていれば少ない労力で実現できる。Raspberry Pi OSなどの一般的なLinuxでもユーザーが各種設定することでも実現できるが、本稿では引越先・旅行先を想定しているからOpenWrtの利用を想定すべきだろう(外出先でDIYや、それにまつわるトラブルシューティングをやりたい人など稀だろう)。
欠点 (2) についてであるが、昨今のRPiをはじめ、Wi-Fiモジュールが標準で搭載されている場合は対応OSでドライバーがサポートされていたりして比較的信頼性が高い場合が多いが、USB接続のWi-Fiアダプターの場合は、そもそもLinuxでの使用やルーターでの使用が想定されていなかったりして、そもそも使用できない場合や、使用できても不安定な場合もあるようだ。
さらに言えば、開発ボードというとRPiのようにセットトップボックス用やタブレット用のアプリケーションプロセッサーを流用したものが多く、CPU性能は優れる一方でWiSoCなどの専用プロセッサーと比較すると、どうしても性能がCPUに偏重でネットワーク機能が貧弱であることが少なくない。
RPiもRPi 4からはPCIe接続の1000BASE-Tが搭載されるようになったがRPi3+まではUSB2.0接続のSMSC製コントローラーだったし、WiSoCとは違い、QoSアクセラレーター・NATアクセラレーター・暗号エンジン・FastPathなど各種アクセラレーション機能も搭載されていない。
以下は具体例としてRaspberry Pi 3 Model B+(2016/18年)とRedmi AX3200(2022年の$50~$100ルーター)・FtitzBox 4040(2016年の$50~$100ルーター。筆者が現在使用中のもの)のスペックを比較したものである。これらは登場時期も異なるため単純比較はできないが、用途の違いによる搭載されている機能の傾向を見ることはできる。
RPi3はCPUコアやメモリー容量などは潤沢に搭載されており汎用的な演算に優れていることが伺えるが、AX6S/AX3200のMT7622BやFritzBox 4040のIPQ4018の方がネットワーク関連の機能が充実している。
Raspberry Pi 3 Model B+ | Redmi AX6S/AX3200 | FritzBox 4040 | ||
SoC | Model | Broadcom BCM2837B0 | MediaTek MT7622B | Qualcomm IPQ4018 |
CPU Core | Cortex-A53 | Cortex-A53 | Cortex-A7 | |
Threads | 4C/4T | 2C/2T | 4C/4T | |
CPU freq. | 1400 MHz | 1350 MHz | 638 MHz | |
NW Accel | N/A | Hardware NAT, Hardware QoS, Crypto Engine, Wi-Fi Warp | Hardware NAT, Crypto Engine, Wi-Fi CPU | |
Integrated MAC | N/A | 1000Mbps x 2 | 1000Mbps x 2 | |
RAM | LPDDR2 1GB x32 config | DDR3L 256 MB x16 config | DDR3L 256 MB x16 config | |
Wi-Fi | 2.4 GHz controller | Cypress CYW43455 (SDIOv3) | MT7622B integrated | IPQ4018 integrated |
2.4 GHz bandwidth | 150 Mbps (802.11n, 1x1) | 800 Mbps (802.11n QAM, 4x4:4 MIMO) | 400 Mbps (802.11n, 2x2 MIMO) | |
5.0 GHz controller | Cypress CYW43455 (SDIOv3) | MT7975AN (PCIe 2.0 x1) | IPQ4018 integrated | |
5.0 GHz bandwidth | 433.3 Mbps (802.11ac, 1x1) | 2400 Mbps (802.11ax, 4x4:4 MIMO) | 866.6 Mbps (802.11ac, 2x2 MIMO) | |
Wired | 1000BASE-T via SMSC LAN9515, up-to 300 Mbps | 1000BASE-T (WAN) 1000BASE-T (LAN, with 5 port switch) | 1000BASE-T (WAN) 1000BASE-T (LAN, with 5 port switch) |
これらの違いの結果、ワイヤレスブリッジという用途に限って言えば選択肢 1. (例:AX3200)や選択肢 2.(例:FritzBox 4040でOpenWrtを利用可能)のような専用のネットワーク機器を使用する方が性能は高くなる。もっとも、本稿で想定しているアパートやホテルの共用インターネットアクセスではRPi3程度の性能でも十分かもしれないし、逆を言えば普通のブリッジ用途ではRPi3のCPUやメモリーのリソースは余っている可能性が高く、余剰なリソースでDocker等を使ってアプリケーションを動作させることもできそうだ。