OpenWrt One – オープンハードウェアルーター
(openwrt.org)- OpenWrt Oneは、OpenWrtエコシステムに合わせたオープンハードウェアルーターで、MediaTek Filogic 820 SoC、WiFi 6、2.5Gbit WANを備え、実用ルーターと開発・復旧機器の両方の役割を狙うもの
- 工場出荷時の状態にはOpenWrtリリースファームウェアとLuCI GUIが含まれ、NANDから起動後、
192.168.1.1でWeb UIまたはSSHからすぐにアクセス可能 - ファームウェアアップグレードはUSB、NAND復旧、NOR完全復旧に分かれ、ブートスイッチとボタンの組み合わせによって復旧経路が変わる
- NANDが壊れてもNOR復旧モードで再フラッシュでき、NOR自体の復旧にはUARTブート、TFTPサーバー、
NOR WPジャンパー作業が必要 - 内蔵のUSB-Cシリアルコンソールと復旧用NORがあるため、ファームウェア実験中にブートローダーやNANDが損傷しても復元できる余地を残している
ハードウェア構成と出荷時ファームウェア
- OpenWrt OneはMediaTek Filogic 820 SoCベースのデバイス
- 主なハードウェア仕様は以下のとおり
- WiFi 6
- デュアルバンド
- 3×3/2×2無線構成
- 1× 2.5Gbit WAN
- 1× 1Gbit LAN
- 1GB DDR4 RAM
- 256MiB NAND
- 復旧用16MiB NOR
- M.2 SSD
- USB-Cシリアルコンソール
- USB 2.0
- Power Over Ethernetは、IEEE 802.3af/at互換デバイスがRJ-45 2.5Gbps WANコネクタ経由で電力を供給する方式で動作する
- 各デバイスは、製造バッチの日付時点で利用可能な最新のOpenWrtリリースファームウェアがフラッシュされた状態で出荷される
- LuCI GUIがインストールされており、標準のデフォルト設定ですぐに実行可能な状態
初回起動とデフォルト接続
- 電源を入れる前に、NAND/NORスイッチがNANDに設定されている必要がある
- Ethernetケーブルをデバイスの1Gポートに接続し、
192.168.1.1を使用する - デバイスの電源を入れた後、緑色LEDが点灯し続ければ起動完了状態
- ブラウザでは
192.168.1.1でLuCI GUIにアクセスし、ターミナルではssh root@192.168.1.1を使用できる - 出荷時のデフォルト状態からSNAPSHOT Branchへアップグレードすると、LuCI GUIはデフォルトではインストールされない
- 初期設定はQuick Start Guideに従えばよい
USBベースのファームウェアアップグレード
- USBアップグレードは、FAT32でフォーマットしたUSBドライブに
openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itbファイルを用意する方式- SNAPSHOTまたはReleaseリポジトリにある完全なバージョン名付きのファイルを、この名前に変更して使用する
- 手順は、電源を外す、USB-AポートにUSBを挿入する、NAND boot switchを選択する、背面のResetボタンを押し続ける、電源を入れる、すべてのLEDが消えたらボタンを離す、中央のLEDが緑色になるまで待つ、という順序
- デバイスはNANDから起動し、ブートローダーがNAND上のカーネルとルートファイルシステムを再フラッシュする
- 一部のUSBドライブでは互換性の問題が確認されており、FAT32フォーマットとMBRパーティションテーブルの使用を試せる
- U-Bootで
Bad device specification usb 0エラーが発生する場合は、usb_pgood_delay値を増やす方法が役立つことがある - 24.10.0リリース以前のSNAPSHOTを搭載した初期のOpenWrt Oneでは、USBベースのsysupgrade終了時に緑色LEDが点灯しない問題があった
- この場合でもアップグレードは成功している
- この異常動作はGreen LED doesn't turn on at end of OpenWrt One USB-based sysupgrade issueに関連しており、その後コミットで解決された
NAND復旧モードとインストールイメージ
- initramfs NAND Recovery ModeアップグレードはUSBベースのファームウェアアップグレードに似ているが、背面Resetではなく前面ボタンを押し、USBドライブの準備は不要
- 手順は、電源を外す、NAND bootを選択する、前面ボタンを押し続ける、電源を入れる、すべての前面LEDが消えたらボタンを離す、中央LEDが緑色になるまで待つ、という順序
- デバイスは復旧用
initramfsイメージを起動し、その後ほかのアップグレードオプションを使用できる - インストール用に
factory.ubi、sysupgrade、rawkernelイメージが提供される - 復旧目的のフラッシュ用に、uboot
bl31-uboot.fipFIP、factory.bin、preloader.binも、NAND向けおよび縮小版の復旧用NOR向けのバリエーションとして提供される
NOR完全復旧によるNANDの再フラッシュ
- NANDから起動できなくなった場合は、NOR/full recovery modeで起動してNANDを復旧できる
- NAND上のTF-Aまたはブートローダーが損傷した場合でも、この方法を使用できる
- FAT32 USBドライブにNAND preloaderとfactory imageを用意したうえで、電源を外す、USBを挿入する、NOR bootを選択する、前面ボタンを押し続ける、電源を入れる、前面LEDがすべて消えたらボタンを離す、LEDが緑色になるまで待つ
- NOR復旧システムは、NANDメモリ全体をfactory状態に再フラッシュする
- 必要なファイルはSNAPSHOTまたはCurrent Stable Release Download Pagesから入手できる
NORメモリ自体の復旧
- NOR recovery memoryも再フラッシュでき、手順は2段階に分かれる
- UART boot:
mtk_uartbootを使い、DDR4初期化イメージとNORブートローダーイメージをUART/シリアルコンソール接続でRAMへコピーし、RAMから起動する - NOR flash: ブートメニューの復旧機能で、TFTPサーバーからNORへイメージを再フラッシュする
- UART boot:
- 2段階目ではSPI NOR WPジャンパーが工場出荷時のデフォルト位置にあり、TFTPサーバーがOpenWrt OneのLANポートに接続されて新しいイメージを提供している必要がある
mtk_uartbootバイナリはmtk_uartboot ReleasesのassetsからOSに合ったアーカイブをダウンロードし、展開して使用する- macOSでは
xattr -d com.apple.quarantine mtk_uartbootで隔離属性を削除する必要がある場合がある - DDR4初期化ファイルとNOR BL31/ubootイメージは、SNAPSHOTまたはCurrent Stable Release Download Pagesの
<release-version>/targets/mediatek/filogicサブディレクトリから入手する - TFTP準備時、コンピュータのEthernetインターフェースは以下の手動設定を使用する
- IP:
192.168.11.23 - Mask:
255.255.255.0 - Gateway:
192.168.11.11
- IP:
- TFTPサーバーは
192.168.11.23で待ち受ける必要があり、OpenWrt Oneは192.168.11.11のIPを使用する - ダウンロードしたファイル名にはリリースバージョンが含まれているため、ルーターが要求するバージョンなしのファイル名に変更する必要がある
- 例:
openwrt-25.12.2-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip→openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip
- 例:
UARTブートとTFTPフラッシュ手順
mtk_uartbootコマンドはUSB-Cで接続された状態でブートファイルをコピーし、その後GNU Screenでシリアルコンソール接続を開ける- コマンド実行時は、ダウンロードしたファイルパスとホストシステムのシリアルデバイスパスを実際の値に置き換える必要がある
- Linuxホストで
/dev/ttyS*、/dev/ttyUSB*のようなシリアルデバイスへのアクセス権限が必要な場合は、ユーザーをdialoutおよびuucpグループに追加して再ログインする必要がある mtk_uartbootがHandshake...を表示した後にルーターの電源を入れると、hw code: 0x7981ログとともにBL2およびFIPのアップロードが進む- アップロードが成功するとGNU Screenが起動し、ブートメニューが表示される
- NOR更新前にはデバイスを開けて
NOR WPにジャンパーを装着する必要がある - デバイス背面のスイッチを
NOR位置に設定し、UARTシリアルポートに接続した状態で電源を入れる - ブートメニューが表示されたら下矢印キーで起動プロセスを中断し、
3. Unlock NOR. (Make sure the NOR/WP jumper is populated)を選択する - その後、TFTPから必要なファイルを要求してフラッシュするブートメニュー項目を選択する
- フラッシュ後は、再びブートメニューで
7. Lock NOR. (Remove jumper afterwards)を選択する - 正常なNORフラッシュは、実際にはフラッシュが行われていない場合よりも時間がかかる
- ファームウェアを再フラッシュした後、ルーターを再起動してジャンパーを取り外せる
シリアルコンソールと物理サイズ
- OpenWrt Oneは、前面パネルのUSB-Aホストポートの隣に内蔵USB-Cシリアルコンソールポートを備える
- このポートは統合USB-to-serial変換器を使用し、通常はPC上で追加ドライバーなしに仮想COMポートとして表示される
- コンソールまたはシリアルアクセスは、ファームウェア環境の保守、復旧、復元確認に必要
- デバイスサイズは148 x 100.5mm
- Banana Pi BPI-R4ケース設計と互換性がある
1件のコメント
Hacker Newsの意見
いま OpenWRT Two を開発中で、このモデルは Wi‑Fi 7 に対応する予定とのこと
OpenWRT は多くのハードウェアで動作し、メーカーのパッチ提供が終了した後もルーターの寿命を延ばしつつ、機能を大きく拡張できる良い方法だと思う
今後は OpenWRT をサポートしない市販ルーターは買わないつもり
ほかにも、GL.iNet のこのルーターは OpenWRT がプリインストールされており、Wi‑Fi 7 と 5つの 2.5G ポートに対応している: http://www.gl-inet.com/en-gb/products/gl-be9300
10個の SFP スロットだけがあり、スイッチングなしで全部がルーティングインターフェイスになっている製品が出たら本当にうれしい
MikroTik の本当のオープンソース代替になり得ると思う
でも、できることを知ってからは、もう OpenWRT 用ではないルーターを買う気がなくなった
たとえば自分の ISP には PPPoE 接続オプションが2つあり、1つは旧式の IPv4 専用で IPv6 がなく、もう1つは IPv4 が CGNAT の背後にあるが現代的な IPv6 がある
OpenWRT なら同じ回線上に PPPoE 接続を2つ作れるので、両方の利点を得ることができた
話題から少し外れるが、Wrt という名前が面白いのは、もともと25年前の Linksys WRT54G ルーター向け代替ファームウェアに由来する名前だという点
なぜか名前が残り続けているが、おそらく使っている人の多くがギークで、それが何なのか知っているからだろう
Linksys は GPL で結び付いたファームウェアを公開するよう訴えられ、そのダンプを修正して WRT54G を Linksys が計画していたよりずっと強力なものにした
結果として Linksys も当時の想定よりはるかに長くハードウェアを売ることができた
これがトップページに上がってきたのを見ると、偶然が不思議だ
たいていのルーターの品質が信用できず、ちょうど OpenWrt One を受け取ったところだった
以前ルーターとして使っていた古い PC を復活させたいとは思わない。しばらくそうして使っていたが、うるさすぎてやめたし、電源ユニットのファンもそろそろ壊れそうだ
それでも、大きなアンテナの付いた Qualcomm Wi‑Fi PCI カード、とても安い PC、古い Ubuntu、単純な hostapd 設定という組み合わせが、これまで使った中で最も安定した Wi‑Fi ルーターだった
OpenWrt One がそれより良いことを願っている :-)
この5年間、VLAN の調整と 6in4 トンネル設定以外ではほとんど触る必要がなく、性能も本当に安定していた
自宅ネットワークは機器数が数百台に達し、おそらく多くの家庭より大きく、多様で複雑だが、それでも OPNSense の UI に入るのは年に2回ほどで、たいていは好奇心からだけだ
消費者向け製品より学習曲線は少し急だが、OpenWRT を使える人にとってはまったく無理のあるレベルではない
ドキュメントとフォーラムのサポートも、この25年間に見てきたオープンソースプロジェクトの 99.9% より良かった
Juniper は今もスイッチとして使っている。古い Juniper SRX は uPNP はいまひとつだが、再びルーターとして使いたいなら、それ以外は今でも十分優秀だ
中位クラスの MikroTik は電源サージを受けてポートの半分を失ったが、交換品を入手するまで必要な分はルーティングしてくれた
最新の MikroTik も問題なく動作している
正直なところ、OpenWrt One が自分に何を提供してくれるのかはよく分からない
好きなオープンハードウェアに OPNSense を載せて、複雑な無線まわりは別の AP に任せるのはどうだろうと思う
OpenWRT はとても良いが、インストールとアップグレードは簡単ではない。ハードウェア別のイメージ、インストールオプション、ツールが多すぎる
小さな機器で動かす必要があるので制約もあり、Wiki 文書も散らばっていて改善の余地は大きい
自分のルーターに合うカスタムパッケージのインストール方法を探すのに、フォーラムを数週間あさる必要があった
今も LUCI で最新版へのアップグレードを試しているが、止まっている。たぶん数週間待ってから CLI で進め、またフォーラムをあさることになりそう
少し高い x86 ミニ PC と AP を使わない代わりに、かなり大きな時間を払っている気がした
OpenWrt 25.12 からは、適切なデフォルトイメージ構成にはすべて含まれている
私は x86 ベースのルーター、AP、マネージドスイッチまで全部 OpenWrt で動かしていて、後悔はない
owut upgradeでやる。かなり簡単ルーターにするのは文字どおり、カーネルパラメーターをいくつかと NAT 用の iptables ルールをいくつか設定するだけで済む。今なら Claude を使えば 5 分もかからない作業
こうすれば BSD システムより性能とハードウェア互換性がずっと良く、リソース使用量と攻撃対象領域も減る。GUI や不要な構成要素もない
BSD の Wi‑Fi サポートは良くないが、Linux なら hostapd でほぼすぐに AP を作れる
同じハードウェアで他のサービスも動かす予定なら、当然 Linux の方が良い
忠実なユーザー以外にどのセグメントを狙っているのか分類しにくいが、価格に対して良いハードウェアとソフトウェア、という方向なのかもしれない
メインルーターとして OpenWrt One を使っていて、とても満足している
1 台が壊れたときすぐ交換できるように 2 台持っている
完全にサポートされたハードウェアなのでイメージとパッケージがよく揃っており、OpenWrt を動かすには最高のデバイス
ルーティング速度、バッファ、レイテンシが良く、すべてがそのままうまく動き、価格も非常に妥当
AP としては使っていないが、それはすでに OpenWrt を載せた TP-Link ルーター 3 台をダム AP としてうまく使っていたから
もう一度構成するなら OpenWrt One を買うと思う
ただし Deco のメッシュキットも試してみたところ非常によく動いたので、ルーターや AP で任意のパッケージを動かすつもりのない友人や家族には、今はそちらを勧めている
ただ良い Wi‑Fi ルーターや AP が欲しく、Wi‑Fi 7 や 10Gbit/s Ethernet のようにこの製品ができない機能が不要で、今も今後もルーターに最小限の時間しかかけたくないなら、これを買えばいい
これを買ってからは、もうクローズドなルーターを買う理由が見当たらない
別のルーターの設定方法を学んだり覚えたりする必要もない。全部 OpenWRT なので常に同じ見た目で、常に同じやり方で動く。新しいデバイスの設定も最大 2 分で終わる
最近の OpenWRT アップデートで、プロジェクトに最も足りなかった機能である、デバイス UI のシンプルな「最新ファームウェアをダウンロードしてインストール」ボタンも付いた
あとは無人アップグレードのオプションさえ追加されれば、初期設定後に再ログインすることはなさそう
そこにオープンソースを買うという温かい満足感まで加わって、1Gbps 制限と古い Wi‑Fi があっても私には価値がある。私も別の AP を使っている
ソフトウェア側でポートを入れ替えて 1Gb WAN と 2.5Gb LAN にし、そのおかげで LAN ポートから入る PoE でルーターにも給電できる
ケースとアンテナ込みで 106ドル、なしなら 84ドルとは、価格は悪くない
RAM が 1GB より多ければ良かったが、データセンターのせいで仕方ないのだろう
最近はたいてい 64MB も使わない
この用途で 1GB はものすごく多い RAM だ :) もっと必要になると予想する理由が何なのか気になる
Wi‑Fi の話が出たついでに https://www.wiisfi.com/ に触れておきたい
これまで見つけた中で 最高の Wi‑Fi 参考資料
Google Wifi からこれに替えたが、安定性は同程度で、範囲と信号強度はより良く、望んでいたペアレンタルコントロール設定を適用するのも簡単だった
夜間の時間帯にインターネット接続を許可するデバイスをホワイトリスト指定できると本当に良さそう
AliExpress N100 ルーターに OPNSense を載せて使っている。とてもよく動いていて満足している
ただしアップグレードは本当に怖い。一度だけアップグレードが失敗したことがあった
ZFS スナップショットも全部用意しているが、ヘッドレス機器なので、システムが再び起動したことを知らせるビープ音を待つたびにアップグレードが非常に不安になる
最近 SPR[1] を試している。Wi‑Fi ルーター向けのセキュリティ重視ディストリビューションである
このチームは Wi‑Fi セキュリティに真剣に取り組んでおり、Apple のネットワークスタックなどにおける複数の CVE で認められた研究所[2]も運営している
中核機能は、半信頼状態のゲストやホームオートメーション機器を強力に分離することで、ソフトウェアスタックはコンテナ化され、監査済みの Go デーモンを中心に構成されている
短期賃貸の宿泊先でインフラネットワークを他の世帯と共有しなければならなかったとき、Raspberry Pi と Netgear A7500 USB ドングルで急造したトラベルルーターとしてかなりうまく動作した
最近は、メインの自宅 Wi‑Fi として使うために、Wi‑Fi 7 と 2.5GbE PoE に対応する CM5 ベースのモデルも試験中である
1: https://www.supernetworks.org
2: https://www.supernetworks.org/security-labs.html