Google Wifi(ac-1304)にOpenWrtを導入した際のメモ

Google Wifiが1,000円で投げ売られているのに遭遇し、使う当てもないのに確保してOpenWrtを入れて性能を軽くチェックしてから戸棚にしまう、という全く無駄なルーチンをまたもや敢行してしまったので、簡単なメモを残しておく。

2018年にリリースされた初代Google Wifi

ハードウェア所感

  • CPU4コアでメモリ512Mにストレージは4GB(実際には3.4GB程度)を有する。大抵のことはできるだろう
  • Wifiは2.4GHzと5GHzが一系統ずつ。5GHz側はMIMO2x2で最大リンク速度866Mbpsと、無線周りは特に見るべきものはない普通スペックである
  • コンパクトで上品なデザインは流石のGoogleバイスである。売り文句のとおり、部屋の見えるところに置いても全然違和感がない。黒い弁当箱や巨大昆虫的な他社ルーターとは一線を画している

OpenWrtのインストール

特に難しくはないと思うが、本機種に独特のステップが多く、少々手間はかかる。毎度のことだがこの手順を確立してくれた有志の皆さんに感謝。USB周りの機器の相性とかUSBメモリ作成作業あたりがハマりポイントになるかもしれない。詳細な手順は公式サイトに書かれているのでここでは割愛して要点だけメモしておくと

  • 作業用機器の用意
    • PD給電ができるUSBハブとデータ転送可能なUSB-Cケーブル。私は自宅のDellモニタに付属のハブ機能を利用した
    • 4GB以上のUSBメモリ。実際にはUSBメモリは手順の中で2度必要になる。最初は本体初期化用で、次はOpenWrt起動用に使う。初期化用には4GB以上が必要。OpenWrt起動用は何でもいい

  • 本体の初期化
    • まず最初に本体を初期化せねばならない。初期化用のツール(OnHub Recovery Utility)を使って作業用USBメモリを作成して初期化する流れ。私は未使用品を入手してオフィシャルファームを一度も起動することなく直接OpenWrtを導入しに行ったので、このステップは飛ばした

  • OpenWrt導入
    • 公式からfactory.binをダウンロードしてUSBメモリに焼いておく。このメモリを使って本体をUSBブートさせてOpenWrtをインストールする
    • ケースを開封することになるが、外しやすい。ネジを一本外して外殻の隙間からツメ部分を軽くこじれば素直に開く。Youtubeの動画が分かりやすい
    • シリアルコンソールには入らず、特定のタイミングで基板上のデバッグスイッチを押していくというお作法で導入する。押すパターンはシンプルでシビアなタイミングが問われるわけでもないので簡単である
    • 無事OpenWrtが起動したら、SSHコンソール経由でsquashfsイメージをddで書き込んで終了。ストレージを4GBにフル拡張したいならここで併せて実行しておく

OpenWrt機としての所感

  • Wifi性能が送受信どちらもまずまず良い。エンタープライズ用のMerakiや、巨大アンテナ装備のWXR-2533DHPあたりには及ばないが、かなり近いレベル。コンパクトな筐体に完全内装アンテナでこの性能はさすがGoogleというべきか。ほぼ同じハードウェアでサイズも近い某◯二ーのNCP-HG100とは雲泥の差である。なぜなのか
  • ストレージはインストール直後で90MB弱ある。拡張せずとも結構広い
  • 給電がUSB-Cの5Vなので、そこら辺に転がっているであろうスマホ用のUSB充電器で動かせる。必要出力は3A(最大15W)とされているが、OpenWrtでは2Aで普通に動いた
  • 風を通すためのスリットもないコンパクトなファンレスボディだが、発熱は程よく抑えられている
  • 5GHzのみ稼働状態でアイドル時の消費電力は3W程度

まとめ

  • はっきり言って良デバイス
    • 筐体がコンパクトで場所を取らず、さらにデザインが上品。OpenWrt機としては随一ではあるまいか (OpenWrt化を敢行するような誤家庭でデザインが問われるかどうかはさておき)
    • 小さい割にはWifi送受信の性能が高く、期待以上に広い面積をカバーできる。トップスピードは控えめだが、安定した通信品質が期待できる
    • 省電力で発熱控えめ。良く考えられたハードウェアである
    • 4GBと広いストレージスペース


近頃は中古価格も下がり、2,000円前後で転がっているので遊びやすい。ハードウェアスペック自体は同じくオクで安く出ているNCP-HG100とほぼ同等だが、SIMを挿さずWifi運用オンリーならば圧倒的にこっちがオススメである。

 

 

OpenWrtで802.11sベースのWifiメッシュネットワークを組む

OpenWrtでメッシュを組もうとすると、かつてはチップセットとドライバの組み合わせを選ぶとか、WPA3を手動導入が必要だとかで若干クセがあったのだけど、近頃はすごく簡単になっていたので手順をメモ。端的にはwpadを入れ替えてメッシュアクセスポイント作るだけ。

最初に:メッシュWifiについて勘違いしやすいこと

  • メッシュ(ここでは802.11s)は、複数のWifiアクセスポイントを(網の目状に)相互接続するもの。メッシュ専用のメッシュアクセスポイントを各Wifiバイス上に作成して利用する
  • メッシュアクセスポイントはルータ間のメッシュ接続専用で、ここにはWifiクライアントは直接接続できない。メッシュとは別に、従来通りにクライアント用のWifiアクセスポイントを用意し、それらをメッシュアクセスポイントに接続する形になる。OpenWrtでは単一Wifiアダプタ上にメッシュアクセスポイントとクライアント用アクセスポイントが同居可能なので、そうしてもいいが、チャネルは分けられず同一周波数帯を共用することになるので、速度は落ちる
  • クライアントがアクセスポイントをまたいで移動する際のユーザビリティ向上(例えば高速ローミングなど)は、802.11k/v/rなどの別の規格/機能により提供されるものであり、802.11sでメッシュを組むこととは別の話である。利用するには追加で実装せねばならない

構築リファレンス

OpenWrt公式の構築手順はこちら

openwrt.org

用意するもの

  • 2台以上のOpenWrtを導入したWifiルーター
    • OpenWrtは19.07以降であること。経験上古いバージョンほどマイナーな制限があるので(ドライバ入れ替えないと動かないとか)、素直に最新版でいいと思われる

設定方法

  1. 初期設定で入っているmesh非対応のwpadを削除する。以下のどれかが入っているはずなので探してremoveする
  2. メッシュに対応したwpadを選んでインストールする。wpad-mesh-xxxxは802.11r/wと802.11sをサポートしており若干サイズが小さい。wpad-xxxxはフル機能サポートで具体的には802.11s/k/v/r/wが利用可能になるがフットプリントが大きくなる。あとopensslは比較的互換性が高く利用実績もあるがサイズが大きめ。wolfssl/mbedtlsは据え置きデバイス用に軽量化されているが、まあ個人の宅内利用的にはどれでもよろしいかと思う
  3. wpadの入れ替えが済んだら一旦リブート
  4. luciのwirelessメニューからメッシュアクセスポイントを作る。Modeに802.11sを選択し、Mesh IDには任意の文字列を指定する


    Wireless SecurityはWPA3-SAEを指定する。というかWPA3-SAEとNo Encryption以外は非対応で選択できない

  5.  こんな感じで動き始めればOK。立ち上がらない場合はログを見てトラシュー

  6. 同様に2台目以降のOpenWrtデバイスにもメッシュの設定を行う

  7. Associated Stationsにメッシュ内のデバイスが相互に表示されれば設定成功

  8. ちゃんと通信ができるかチェックする
    • 接続先のルータにPingを打つなどして疎通を確認する
    • iperf3とかを使ってスループットやエラーレートも見ておく

使い方

  • 基本的にはこれで終わり。普通に作ればメッシュアクセスポイントはLANのブリッジ(br-lan)に含まれるはずなので、メッシュをまたいで各アクセスポイントに接続したWifiクライアントや有線デバイスが相互に通信可能になる
  • 前述のとおり、メッシュアクセスポイントだけではWifiクライアントは接続できないので、通常のアクセスポイントも別途立ち上げる。ただし同一アダプタ上で同居させた場合は同一チャネルしか使えず、ルータ間の通信とルータ⇔クライアント間の通信が同一周波数帯でカブるので転送速度は落ちる

  • 速度を最大限に出したい場合はメッシュ用に別チャネルを割り当てる必要がある。方法としては以下のようなものがある
    • トライバンドルータで別のWifiアダプタを使う
    • 有線で別のWifiルータを増設してクライアント向けアクセスポイントをそちらに任せる
    • 2.4GHz帯と併用する(さらに遅くなりそうな気がするが)

うまくいかない時に試すこと

  • System logを読んで原因のあたりをつける。wpad-supplicantみたいな名前のついてるところを探す
  • 各メッシュアクセスポイントのチャネルは合わせておく
  • wpadを別系統のものに入れ替えて試す。openssl/wolfssl/mbedtls
  • ath10k系では標準でCandela Technologies版ファームウェアと、それらに最適化された?というドライバが使われているが、メッシュとの相性があるので、これを無印に入れ替えて試してみる。CT版は末尾に"-ct"が付いているので、これをlist opkg-installedで探して、見つかったらまずremoveして、無印のものをinstallして、ルータを再起動して様子を見る

余談

  • ステーション数が少なくて、単純に無線アクセスポイントを設けたいだけなら、WDS(無線ブリッジ)のほうがシンプルで組むのも速いので、そっちでいいんじゃないかと思う。一方メッシュはデバイスの配置換えや入れ替えが楽なので、ある程度頻繁にアクセスポイントの位置を変えたいような用途ならメッシュが向いている。そんな用途があるのか分からないけど
  • 中継器的に使って電波の到達範囲を拡張したい場合には有効だが、普通メッシュで組むと同一周波数帯で中継することになるので速度は落ちる。いわゆるリピーター型の中継器よりは大分マシではあるが。
  • 速度をできるだけ落とさずメッシュを拡張したいなら、中間点にはトライバンドないしはメッシュを有効にしたルータ2台を有線接続で組ませて、5GHz内でチャネルを分けて運用するのがいい。トライバンドでOpenWrtでメッシュが動くデバイスは選択肢が少ないので、コストや手軽さを考えると安物2台を組ませて疑似トライバンド(5GHzデュアルバンド)アクセスポイント化するのが有効な気がする。まあOpenWrtでメッシュ組んでる時点で手軽も何もないと思うが

では皆さん良きメッシュライフを。

OpenWrtを入れてみたデバイスのリスト:2023年末

この数年で意味もなく多数のルータにOpenWrtを入れてきたので、所感をデバイスごとにつらつらと並べてみました。Wifi6は未導入なのでWifi5機しか試しておりません。各機種に対応させてくれた有志の皆様に感謝。

Buffalo WXR-2533DHP

性能/使い勝手
  • 古いが、当時のフラッグシップ機だけあって、CPU性能は十分だしメモリも512MB積まれているし、ストレージも50MBくらいは使える。USB3.0ポートが2つあり、あれこれ繋いで遊ぶのにも向いている
  • 国内ベンダのコンシューマ機としては電波の送受信能力は最上位。遠くまで飛ばしたいとか壁を抜けて通信したいみたいな場合に好適。アンテナの向きは結構影響するので色々試してみるのがいい
  • 筐体とヒートシンクがデカいせいかそれほど熱くはならない
OpenWrtの導入
  • ほどほどの難易度。AOSSボタンでTFTP経由のinitramfsでブートしてsysupgradeするパターン。初体験だと少々戸惑うが慣れると特に難しくはない
所感とか
  • まずまず古いのでヤフオク等で中古で安価に出ている
  • 筐体がデカくて置き場を選ぶ。アンテナも含めると縦にも横にもデカい。モビルアーマーというかカニと言うか
  • 我が家では一時期メインでPPPoEでのインターネット接続ルータ+Adblock+WireGuard役として使っていたが、徐々にメモリリークというかBufferの使用量が増えていくようになり、Bufferが300MBを越えたあたりでリブートがかかるようになったので、スクリプトで毎週日曜早朝に再起動させて対処していた。しかしその他にも低頻度(月イチくらい?)でPPPoEが応答しなくなったりしはじめたので、結局引退させた。この機体以外のOpenWrtではBuffer増加は見られない現象だったので、おそらくハードウェア的にメモリの問題を抱えた個体を引いたのだろうと思っている。

Buffalo WXR-2533DHP2

性能/使い勝手
  • WXR-2533DHPと一緒。ヒートシンクが小さくなったので軽くなった。でもCPUの温度はあんまり変わってない不思議。USB3.0ポートが削られて1つだけになったが筆者は2つ同時に使うこともないのであんまり関係がない。電波の送受信能力も概ね一緒
  • 筐体サイズも全く同じなので相変わらずデカい
Openwrtの導入
所感とか
  • WXR-2533DHPと一緒(三回目)。デカい以外は特に文句はない。中古のタマ数はこちらのほうが多いので入手しやすいかもしれない

Buffalo WTR-M2133HS

性能/使い勝手
  • これも一応フラッグシップ寄りの機体で、作りはいい。CPUは周波数が低いので1Gbpsの回線で最大スループットを計測みたいなことをやらせるとちょっと厳しくなるかもしれないが、4コアなのでサービスを色々走らせる分には安心。メモリも512MBある。ストレージ領域がちょっと小さいのが難点だが、USBポートがあるのでextrootできる
  • 5GHz帯が2つ使えるトライバンド機だが、W52/53とW56でインターフェースが分かれており、それぞれMIMOは2x2でリンク速度は866Mbpsが最大である点に注意
OpenWrtの導入
  • ケース開腹不要なので、まずまずやりやすいほう。AOSS長押しでTFTPからinitramfsブートしてsysupgrade。Buffalo機では良くあるパターン
所感とか
  • 「それは家庭用Wifiルータというにはあまりにも大きすぎた」と言いたくなる存在感の強さ。円盤の直径もデカいが厚みが7cmもあり、その上に外付けアンテナが鎮座しているので実質10cm以上。感度調整で中央のアンテナを立てたりしたらもっとスペースを食う
  • ハードの質は良く、状態の良い機体が安価に中古で流れているのでOpenWrt機としては悪くないのだが、置き場所を考えてから確保するといい。私は確保後ほどなくして再放流しました

NEC WG2600HP

性能/使い勝手
  • 発売当時、BuffaloのWXR-2533DHPと競合するポジションだったNECのコンシューマ向けフラッグシップ機。CPUもメモリ容量も一緒。OpenWrtで使えるストレージは23MB程。まずまず大きいが、追加パッケージを色々突っ込みたいならUSBメモリでoverlay拡張する必要があるだろう
  • (ハイエンドにしては)筐体がコンパクトなのが強みだが、詰め込んでいるので熱々になる。無風状態だとアイドル状態で室温+40℃行く。最初からその前提でデザインされているのだから温度など気にせず使えばいいのだろうが。しかしUSBメモリを挿して運用したらポート周りがさらにアツアツになって動作に問題をきたすことがあったので注意。発熱の小さなUSBメモリを使ったほうがいい。当方では5v化した12cmファンの上に乗せて運用した
  • 電波の送受信は、WXR-2533DHPなどの筐体デカい系に比べると少々レベルが落ちる。我が家ではざっくり3~5dBm程度低く、階をまたいだ5GHzの通信ではちょっと心細い感じ。まあ大半のお宅では十分だろうと思うけども
OpenWrtの導入
  • 最も面倒な部類。固く閉まったケースを殻割りしてヒートシンクを外して基盤を露出させてシリアル接続でコンソールに入って環境設定を行ってからTFTPでinitramfsしてsysupgrade。ケースががっちり閉まりすぎているので、内側のツメを外す際にはケースをぶっ壊す覚悟完了が求められる。慣れるとコツがつかめるのだが、初見だと力の入れ加減なんて分からないし、こんなもん何度もやって習熟するもんでもないし。
所感とか
  • コンパクトで性能も良くOpenWrt機としては悪くない機体なのだが、発熱とストレージ容量の少なさが若干のマイナスポイント。そして何よりも殻割り&シリアル接続がハードル。ただし中古価格は相当安くなっていて1,000円くらいで手に入ることもあるので、ケースなんて飾りです、偉い人にはそれが分からんのです、くらいの感じでぶっ壊し上等で挑むといいだろう
  • NEC機はACアダプタのコネクタが独自仕様で他社ルータと共用できないのが微妙にマイナス。変換アダプタは売ってますけども。そういうとこやぞNEC

NEC WG2600HP2

  • 前モデルのWG2600HPと全く一緒。ケース外側の色使いがちょっと違うだけ。殻割りが大変なのも同じ。シリアル接続で起動させる際の手順だけが一部異なるので、musashinoさんのサイトを見てHP2用の手順でやること

Netgear Orbi RBR50

性能/使い勝手
  • Netgearから家庭内メッシュという売り文句で出ているトライバンドルータ。CPUに4コアのQualcomm Atheros IPQ4019でメモリは512MBと、ハードウェアスペックはGoogle Wifiに似ているパターンである
  • 5GHz帯用のWifiアダプタが2系統装備されていて、片方はW52/53を、もう片方はW56を担当している。W52/53はアンテナ2本で最大866Mbps、W56は4本で最大1733Mbpsである
  • USBポート1つを装備するが、2.0である点に注意
  • 電波の送受信はまあまあ。送信は弱め。WXR-2533DHPには全然及ばない。WG2600HPといい勝負か若干劣る程度
OpenWrtの導入
  • 開腹不要。まずまず簡単な部類に入る
  • Netgear純正ファームのWebUIから直接OpenWrtを突っ込んでアップデート可能とされているのだが、実際にはかなり難しい。WebUIからOpenWrtのファームウェア(factory.img)を指定して更新しようとすると「対応してないファームウェアなのでアップデートできない」みたいなエラーメッセージで弾かれる。何度やっても弾かれるが、ここで目を皿のようにしてWebコンソールを見ていると、エラーが出る前にほんの一瞬、おそらく0.1秒程度の僅かな間「アップデートしますか YES NO?」という文字列とボタンが表示されていることに気付く。おもむろにYESボタンの位置を覚え、改めてOpenWrtファームをアップロードし、すぐにマウスカーソルをYESボタンが出てくる位置に合わせて右クリックを連打して上手くクリックを差し込めれば、後は普通に更新されて再起動後にはOpenWrtが立ち上がってくる。のだが、このタイミングが非常にシビアで何度もやり直すことになり、時間がかかるし忍耐力が試される展開になるのでお勧めできない
  • 最初からnmrpflashを使ったほうがお手軽で早い
    https://openwrt.org/docs/guide-user/installation/installation_methods/nmrpflash
所感とか
  • これもまずまずの高級機で、性能は悪くない。トライバンドデバイスなので、5GHzオンリー環境で異なる周波数帯を併用したメッシュやWDSの中継器兼アクセスポイントとして活用できる。W52/53はリンク速度が866Mbpsまでだが、余程多くの端末を同時利用させない限りは実用上の影響はそれほどはないだろう
  • 4GBのflash(eMMC)が搭載されているのだが、OpenWrtで使えるoverlayの空きは22MBほどしかない。未使用の2GBパーティションがあるので、文鎮上等でこっちをoverlayとして使えないか試したが何故かmountできず失敗した
  • なので次にUSBメモリでoverlayの拡張(extroot)をしようとしたが、こちらも「unable to load configuration (fstab: Entry not found)」と怒られて失敗した。一部のeMMCデバイスで起きているバグらしいが回避方法不明。前述のeMMCボリュームのoverlayへのマウントが失敗するのもこのバグくさい。23.05特有なのかもしれないのでダウンバージョンして試そうと思うがとりあえず放置
  • 筐体がデザイン優先気味で丸みを帯びていて直立置きが前提で結構大きいので、置き場所は少々選ぶ。さらに背面のEthernetポートから90度の角度でケーブルが出ることになるので、余計に設置場所を選ぶ。もう少しコンパクトだと良かった。筐体はザラザラの白い表面仕上げで、汚れが付きやすく黄ばみがちなのがちょっと気に入らない
  • Netgear機はやらかして起動しなくなってもほとんどの場合nmrpflashですぐに復活するから気が楽でいい
  • 近頃は安価なタマ数が少ない感じ。あまり入手しやすくはない
性能/使い勝手
  • しばらく前のOpenWrt定番機。Ethernetはフルギガビットで5ポートあり、USBも2.0だが2ポートある。電波の飛びも悪くない
  • CPUは1コアでパワフルではない。いろいろやらせるほどの性能はない
OpenWrtの導入
  • 最も簡単。Webコンソールからfactory.imgを突っ込むだけでOpenWrt化できる。初めてのOpenWrt体験に向いている
  • TFTPでのリカバリもできるので気が楽
所感とか
  • 純正ファームだとNATのパフォーマンスがワイヤスピードに近いところまで出るのだが、OpenWrtにすると300Mbps以下くらいまで落ちてしまう。うーむ
  • 筐体は意外とデカく設置面積を食う
  • 長らくOpenWrtの定番だったが、流石に今となってはちょっと古い。初めてのOpenWrt体験を1,000円くらいでしてみたい、という用途にはいいかも

Asrock G10

性能/使い勝手
  • ハードウェアスペックはWXR-2533DHPやWG2600HPとほぼ同じ。よっぽど色々やらせなければOpenWrt用としては十分だろう。USBポートもある
  • 空きストレージ34MB
  • 送受信能力はまずまず。WXR-2533DHP > Asrock G10 > WG2600HP
OpenWrtの導入
  • Webコンソールからfactory.imgを指定するだけ。最も簡単なタイプ
  • 導入作業時はDHCPを配るルータの配下にWANポートをつなぎ、WANにIPアドレスが割り当てられる状態で作業すること。純正ファームは起動時にWAN側にIPアドレスが振られないと長時間タイムアウト待ちをするので、WANに何も刺さずに起動するとWebコンソールから操作が可能になるまでかなり時間がかかる。長すぎて最初は不良個体かと思った。ひとたびタイムアウトから脱して操作可能になっても、何か操作するたびにまた待ち状態に陥って非常に苛立たしい、というか作業にならない
所感とか
  • イロモノっぽい(というか実際イロモノである)が、中身は至って普通の当時のハイエンド機。WXR-2533DHPやWG2600HPと互角と考えていい
  • タマ数が少なく中古市場に全然出回っていない。この記事が誰かの役に立つこともないだろう。私はたまたまメルカリで1,500円くらいで見つけて意味もなく掴んでしまいました。多分全然売れなかったんだろうなあこれ。担当者が突っ走りました、または役員の一言で決まっちゃいましたパターンかな
  • かなり筐体がデカい。表面に謎に凹凸をつけているせいで縦置きしかできないのが面倒くさい

Buffalo WCR-1166DS

性能/使い勝手
  • 2016年発売の、一人暮らしワンルーム用を想定したと思われるルータ。性能はおしなべて低く特筆すべき点はない。ストレージ領域もギリギリなので色々追加はできない
  • Ethernetも100Mbpsだし
OpenWrtの導入
  • TFTPでinitramfsしてsysupgradeで行けたと思う。Buffaloお約束の手順
所感とか
  • 何ということもない古い機種なので、結構500円くらいで投げ売られている
  • 性能面では見るものはないのだが、筐体がコンパクトという強みがある。我が家ではメッシュの端っこに設置して、干渉しないよう出力弱めのAPとして未だに稼働中である。日本では小さいは正義

Netgear R6350

性能/使い勝手
  • かつて新品3,000円強で売られていたコンシューマ向けルータ。当時の大定番2コア4スレッドのMediaTek MT7621ATにメモリ128GBでUSBポートも搭載している。純正ファームだと5GHzがW52しか使えない残念機だが、OpenWrt化することで全チャネルの以下電波法がどうたらこうたら(略)
  • Wifiの送受信については受信性能は高いが送信が弱い
  • overlayは27MBほど空いていて比較的余裕があるほう
OpenWrtの導入
  • WebコンソールからOpenWrtのイメージで更新するだけ。最も簡単な部類
  • nmrpflashも使えるので安心
所感とか
  • メモリ搭載量が128MBしかなく若干の不安があるが、extrootもできるし、スペック的には一通りのことはこなせる
  • いかにもコストカットが最優先されたMT7621のコンシューマデバイスという感じで、カタログスペックは悪くないが作りは安っぽい(実際価格も安かった)。当方の運用ではハングアップやリブートすることもあり、長時間稼働時の安定性には(ハードウェア的に)欠けるイメージ
  • 意外と筐体がデカく設置面積を食う。殻の中はスカスカなのでもっとコンパクトにまとめて欲しかった。まあUS市場向けだろうからしょうがないけど
  • ヨドバシや尼で販売されていた頃は新品購入してOpenWrt化する候補として安価でオススメだったが、今は中古でも全然流れていないし、探してまで試す価値のある機体ではないと思う

Sony NCP-HG100

性能/使い勝手
  • 変わり種で中々面白い機体
  • (ITに疎いコンシューマにぼったくり価格で金を払わせる)高付加価値なサービスに付属させるルータであるせいか、ハードウェアは良い感じ。コンパクトな筐体の中にコストをかけてデザインされたと思われるボードが配置されている
  • スペックはGoogle WifiやNetgear RBR50と概ね同じ。Qualcommの4コアCPUに512MBメモリ、4GBのeMMCを搭載。OpenWrtを動かすにあたって能力が不足するシーンはあまりないだろう
  • ビルドをポートしてくれたmusashino_205先生の配慮のおかげで、OpenWrt導入直後から1.6GBという圧倒的に広大なストレージ領域を利用できる。ラズパイやx86などを除くと、extrootせずにこれだけのストレージを使える機体は滅多にない
  • さらにGoogle Wifi向けと同じ手法を使ってcfdiskからresize2fsすることで、OpenWrtでは使うあてのないセカンダリのOSイメージ用の領域2GB弱をごっそりoverlayに持ってきて合わせて3.4GB程度のストレージ領域を利用できる。しかしこのステップは文鎮化の危険を伴う自己責任行為であり純正ファームに戻れなくなる可能性があるのでやめておきましょう。1.6GBで十分だよね
  • ネットワークポートはWANとLANそれぞれ一つ、合計二つ。これもGoogle Wifiと同じ
  • USB3.0ポートもある
  • SIMスロットがありモバイル回線に接続ができる、というかそのためのデバイス楽天回線固定にするための小技や、接続を安定させるための通信カードUSB2.0化工作などのテクニックが必要になるらしい。私はモバイル通信を使ってないのでこれらの改造はしてません
  • この手のルーターとしては珍しくファンを搭載していて高温時に回る。ハードウェアでの自動制御らしくOpenWrt側では制御できない。うるさくて気になるわ!という場合はボードからケーブルを抜いて強制的に黙らせる選択肢もある。アイドル状態だと基本的には静かであるが...
  • 外周部にぐるっとLEDが配置されていて派手というか眩しい。純正ファームだと起動後しばらくすると消えるがOpenWrtだと常時点灯するので、視界に入る位置で定常運用する気にはならない。ボード上のLED用コネクタを抜けば常時消灯にすることはできる
  • Wifi電波の送受信能力は低め。遠くまで飛ばないし受信も弱く、階を隔てると結構厳しい。遠いところにいるピアと通信させるのには向かないと思われる
  • ACアダプタは外径5.5mmで内径2.5mm。BuffaloとかNetgearで標準的に使われている内径2.1mm版だと刺さらない
OpenWrt化
  • まあまあ面倒。ケースを開けてUARTにピン立ててシリアル通信でパラメータ等を指定した上でTFTPにinitramfsイメージを取りに行かせて、ブートしたらsysupgradeのパターン
  • ただしケースは比較的開けやすい。薄いプライヤーがあれば問題ないだろう。上蓋と本体がケーブルで繋がっているので、爪が外れて上蓋を持ち上げる際にはケーブル周りを損傷せぬようゆっくり上げていくこと
所感とか
  • 新品2,000円程度でヤフオク等で調達できる。中古本体のみなら1,000円ほど。LEDが無駄に眩しかったり、たまにファンがうるさかったり、ルータとしての性能以外のところで微妙に使いづらい印象があるが、ハードウェアのスペックを考えると、現在入手可能なOpenWrt機としてはかなりの高コスパである。モバイル通信で遊びたい人にとっても数少ない選択肢の一つ
  • しかしOpenWrt化は少々面倒なので、シリアル通信って何?という人はやめておくおくのが無難
  • 1.6GBのストレージ領域は魅力的。これのためだけに本機種を選ぶのもアリだろう

Cisco Meraki MR42

MR42についてはインストール手順と所感を切り出して別途まとめています

nanotech.hatenablog.jp

性能/使い勝手
  • 大人数のオフィススペース等で使われることを想定した企業向けデバイス。利用目的も価格も全然違うので当然だが、OpenWrtで良く使われるコンシューマ向けデバイスとは作りが別格である
  • CPUには1.4GHzで動作するQualcomm Atheros IPQ8068を搭載。4コアとされているが、このうち2コアは暗号化か何かの特定目的専用コアらしく、OpenWrtでは2コアしか使えない。WG2600HP等が持つIPQ8064と同等の性能だろうと思われる
  • メモリ512GB、ストレージの空き領域は57MBほど
  • Ethernetは1ポートだけ。USBポートはないのであれこれ繋いで遊ぶには向かない
  • Wifi送受信能力はトップクラス。WXR-2533DHPよりもさらに一段階性能が高い。MIMO3x3なのでリンク速度は最高で1300Mbps止まりになるが、実用上の問題はあまりないだろう
  • CiscoWifiバイスにたまにある「スペクトラム解析専用のWifiアダプタ」が装備されている。オフィシャルファームではこれを周辺の電波状況スキャン専用に使い、結果に応じてバンドステアリングとか色々なクライアント制御に活用しているらしい。OpenWrtではこの第3のチャネルを独立したWifiアダプタとして普通に利用できる。従って、実はこれトライバンドデバイスである。ただしこの第3のアダプタはアンテナ1本なので、リンク速度は5GHzで433Mbpsが上限で、実測だと200Mbpsちょっとになる。スマホタブレット用には十分使えるが
  • PoE給電対応だが設備がないので試してない
  • ACアダプタは外径5.5mm内径2.5mm。純正は2.5Aだが、単体で11acだけで使う分には1.5Aでも一応普通に動いた。Buffaloとかのルータに付属する内径2.1mmのやつだと刺さらないので変換アダプタが必要になる
  • 巨大な金属板がヒートシンクとして働くせいかCPU温度は非常に低く抑えられている。ファンレスだがアイドルだと室温+15℃くらいである
OpenWrt化
  • 最も手間のかかる部類。プラのガワを外して多数のネジで固定された金属外殻を開けてUARTにアクセスして、有志謹製のpythonスクリプトでu-bootを流し込んでTFTPでinitramfsしてsysupgrade。途中でパーティション情報を弄る操作などもする必要がある。ハックしてくれたメンバーに大感謝
  • プラ外殻はそこまで強固にはまっておらず爪が小さいので、薄いプライヤーで少しずつスライドさせていけば案外素直に外せる
所感とか
  • クラウド管理型」という謳い文句の機種で、管理機能が全てインターネット越しのクラウド側にある。ライセンスが切れてしまうと単体では何の機能も使えず全くの文鎮と化すので、役目を終えて撤去されたと思しき機体がヤフオクあたりで格安で投げ売られている。2023年末現在、特に苦労せずに2,000円台で入手できる。ビジネス的には合理的な仕組みなのだが、なんともはや...
  • 電波の送受信能力が高くCPUの性能もあり、動作も極めて安定していて、無線LANアクセスポイントとして大変使いやすい。Ethernetポートが一つしかないのが残念だが、ハブをぶら下げれば解決できるし。OpenWrt化が面倒なことを除けば言うことはない

Cisco Meraki MR52

性能/使い勝手
  • MR42にEthernetポートが追加されて2ポートになり、5GHzのアンテナが4本になってMIMO4x4に強化されたもの。その他のスペックはいっしょ
  • マイナーチェンジに見えるのだがそうでもないらしく、筐体は一回り大きくなり、外殻の下に収められているアンテナの形状も全く別のものになっている
  • CPUはMR42と同じ。放熱用の金属板も同じ、というかむしろ巨大化しているのだが、CPU温度は何故か5℃から10℃程度高い。なんでやねん。しかしMR42比較では高いというだけであり、発熱はプラの外殻を触るとほんのり暖かい程度である
  • 電波の送受信能力もMR42とほとんど同等で、良好である
OpenWrt化
  • MR42とほぼ同じ。スクリプト実行時の名前指定と、途中のパーティション削除のステップが不要になるところが差分。作業時にはちゃんとMR52向けのInstructionに沿って実行しよう
所感とか
  • Ethernetポートが2つになったので、有線でのインターネットルータとしても使えるようになった
  • まだ中古のタマ数が少なく、入手しづらい。もうちょっとすると増えてくるのだと思われる。私は偶然ヤフオクで見つけて確保しました
  • MR42と同じく、作りがしっかりしていて安定動作する良い機種。長期連続稼働で安定しているのが何といっても素晴らしい

FortiGate 50E

性能/使い勝手
  • Wifiを搭載しない有線オンリーのデバイス。合計7つのEthernetポートを持ち、多数の機器を有線でぶら下げたい場合や、複数のセグメントを切ってNWを構成したい場合などに向いている
  • CPU性能がまずまず高く、RAMが2GBあり、USB3.0ポートもあるので、拡張して色々楽しみたい場合にも向いている
  • 使えるflashの空き容量が小さいのが残念
  • コンソールポートがあるので雑に弄っても気が楽である
  • ACアダプタのコネクタが独自形状なので注意
OpenWrt化
  • ケースを開けずに導入できる。手順自体はそれほど複雑ではないが、RJ45タイプのシリアルケーブルが必要になる点に注意
  • コンソールポート経由からシリアル接続してTFTPでinitramfsを取得させてブートしてsysupgradeのパターン
所感とか
  • Wifi不要な使い方をしたい場合に向く。CPUパワーとメモリ量もある。ストレージ空き容量が狭いのが残念。extrootはできる
  • ライセンスが切れた機体なら3,000円以下でヤフオク等で入手できる
  • (公式には何も発表されていないが) 製造時期が古い機体で基盤の不良でNW接続が不安定になるような感じの報告がフォーラムで見受けられる。中古を入手する際には少なくとも「管理コンソールにアクセスできる」ところまで動作確認が取れている個体を狙うのを推奨する
  • 前述のとおりACアダプタ形状は独自なので、本体とセットで確保すること。安く売られている機体は本体のみの場合が結構多い
  • 1,000円くらい足して、SSD内蔵の52Eを狙ったほうが遊べていいかもしれない

GL.iNet GL-AR750S-ext

性能/使い勝手
  • 小型のトラベルルータ。CPUはQualcomm Atheros QCA9563で775MHzのシングルコアでメモリ128MBと、色々やらせるには若干力不足感があるが、トラベルルータなので当然である
  • USB2.0ポートとSDカードスロットがありextrootはしやすい
  • 発熱は結構あり、夏場に無風で常時稼働させるのは若干不安になる。ファンを併用したい。トラベルルータなので当然である(2回目)
OpenWrt化
  • ファームウェアの選択など多少の注意点はあるが、基本的にはWeb GUIからOpenWrtを突っ込むだけ。最も楽な部類である
所感とか
  • 中古で2,000円くらいで転がってたので何故か掴んでしまった。小型でUSB給電(Micro-Aだが)で動くので置き場所がないところで使ったり、ちょっとしたテストをするのに向いているが、基本的にトラベルルータなので以下略
  • GL.iNetは順調に新製品の投入を続けており、OpenWrtを導入できる同サイズで高性能な機種の選択肢が増えている。2023年の今となっては、積極的にこの機種を選ぶ必要はないだろう
  • 我が家での役回りは旅行時のTailScaleゲートウェイ

以上

Why / Dominic Fike 歌詞和訳

You ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why? I, I-I, I
I, I-I, I
I, I

アンタ、どうして?って考えたことあるのかい
オレは、オレは、オレは

Said the lady with the long legs
In the lawn chair
She liked the strings on my guitar neck
And my blonde hair
I write about her thighs
In my latest lines
I remember her eyes
When I asked her why

脚の長いレディが言ったよ ローンチェアーに座って
オレのギターの弦と金髪を好いてた
オレは最新作に彼女の太モモのことを書く
どうしてなんだ?ってオレが聞いたときの彼女の目を覚えてる

Why would you pay for this apartment
You don't belong in?
You take this shit from all your bosses
And all your boyfriends
I guess I get surprised
When you let it slide
But it's no business of mine
How you waste your time

どうしてこのアパートメントの家賃を払おうとするんだよ
アンタが住むわけでもないのに
ボスやらボーイフレンドどもみんなに痛い目にあわされて
このままズルズル行くんならオレは驚くだろうね
でもオレには関係ないことだな
アンタが自分の時間をどう無駄にするかなんて

(Yeah)
Don't crash, don't text, go renew your tags
No sex, no sleep, just that job
I bet you miss what you had
You can't get no sleep at night
Do you ever wonder why
Everyone is out to get you every day
Or do you question anything?

事故るなよ、テキストすんな、タグを更新してこい
セックスなし、睡眠なし、その仕事だけ
失くしちまったもんが恋しいだろ
夜も全然眠れない
考えたことあるのかい
誰も彼もが毎日アンタを捕まえようとしてるのは何故なのか
というか、何かを疑うことってあるのかよ

How many warning signs 'til it hits you, darling?
Gravity's your friend
You fall out of touch sometimes
But your history calls you back to it again
Too many factors to be sure
So many reasons to think twice
And nobody asked you to before

気付くまでにいくつの危険サインがあるんだろうな、ダーリン
重力は君のお友達
たまに縁が切れそうになることもあるけど
ビョーキがアンタをまたそこに呼び戻す
正気に戻るきっかけは多過ぎるくらいある
考え直す理由ならいくらでもある
そして今まで誰もアンタにそうしたらとは言わなかった

But do you ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why?
Why

でも、どうして?って考えたことはないのかい
オレは、オレは、オレは

どうして?って思ったことないのか
なんでなんだよ

 

===============================

Dominic Fikeのアルバム"What could possibly go wrong"に収録された"Why"の歌詞和訳です。筆者は帰国子女でもなんでもなく普通に高校大学で英語を勉強しただけの日本人で、ネイティブの感覚は全く持ち合わせていません。なので翻訳には間違いが多分に含まれている可能性があります。

さて、この曲はとても気に入ったのですがWeb上に翻訳例がないので自分でやってみました。端的にいうと「社畜ソング」でしょうかね。やりがい搾取ソングかもしれません。仕事やら人間関係にどっぷり浸かって仕組みの中で搾取されながら、状況を変えようともせずズルズルと疲弊していくだけの女性に対して、そんなのはやめろ、そんなんでいいのか、という疑問(Why)を主人公が発している構図に見えます。ぶっちゃけ分からないところが多かったのですが、どうしてそう訳したのか補足を書いておきます。

You ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why? I, I-I, I
I, I-I, I
I, I

Said the lady with the long legs 
In the lawn chair

"lawn chair"はベランダやらビーチによくある編み上げスタイルの椅子のことでしょう。70年代のアメリカで一般的だったとのこと。

She liked the strings on my guitar neck
And my blonde hair
I write about her thighs
In my latest lines

"my latest lines"が良く分かりませんが、おそらく主人公がDominicだとすると、最新作の歌詞のことを指していそうです。そんなイメージ。

I remember her eyes
When I asked her why
Why would you pay for this apartment
You don't belong in?

"belong in"は「所有する」ではなくて、フィットするとかハマるとかしっくり来てる、納まりがついてる、所属している、あるいはシンプルに「住んでいる」のような意味合い。ここでは"you don't belong in"なので、住んでいない、おそらくは仕事が忙しすぎて全然帰ってこない、という意味に解釈しました。日本いうところの「家には寝に帰るだけ」みたいな激務ブラック企業所属サラリーマン像のイメージです。

You take this shit from all your bosses
And all your boyfriends

"take this shit"が良く分かりません。直訳すれば「ボス全員とボーイフレンド全員からこのクソを受け取って」ですが、上司やボーイフレンド全員から罵倒されたり酷い扱いを受けていて、それを甘受している、という話なのでしょう。直前に「なんで金を払おうとするのか」とあるので、文脈的には「周囲の人間からひどい扱いをされながら稼いだ金なのに何故それを筋の通らないことに使うのか」ということなのか。うーん難しい。というか、ここでの主人公の立場は何なんでしょうね。ヒモなのかな。また、all your bosses and all your boyfriedsなので、ボスやボーイフレンドが複数いる(いた)という状況なのでしょうかね。仕事を掛け持ちしてして複数のボーイフレンドと付き合っているのか、短いサイクルで次々と変わっていくけれどもそのことごとくからいいように使われている、あたりでしょうか。allが強調されているので、ことごとく全員=ある程度の長きに渡ってずっと続いている構図、というニュアンスなのだと思います。

I guess I get surprised
When you let it slide
But it's no business of mine
How you waste your time

"let it slide"は、そのままにしておく、問題を放置する、なすがままにする。知りながら見て見ぬふりをする。主人公は、あんたがどうしようが俺には関係のない話だ、と言っていますが、実際にはそう思ってはいませんね。

(Yeah)
Don't crash, don't text, go renew your tags

ここも難しいですが、おそらく女性は車を運転する機会の多い職種に就いていて、職場の上司から、車をブツけるな、(運転中に)テキストすんな、タグを更新してこい、みたいな小言を日々言われながら仕事をしていると解釈しました。textはスマホでメールやメッセージを送ること。tagsは良く分からんのですが、ここではおそらくアメリカでのregistration tag(車の登録証明書)なんだろうと思います。

またここには歌詞サイトによっては"don't remove your tags"としているところもあり、それだと「登録証明書を外すな」あるいは単純に「タグを外すなよ」みたいな意味になります。またSpotifyでは"don't remove your text"となっていて、テキストを外すな?うーん意味ワカラン、という感じです。なので何度か一生懸命ヒアリングした上で、話の流れに最も合いそうな"go renew your tags"説を採用しました。

No sex, no sleep, just that job
I bet you miss what you had
You can't get no sleep at night
Do you ever wonder why
Everyone is out to get you
Every day or do you question anything?

"is out to"は○○のために乗り出す、繰り出す、外にでる、というニュアンス。この女性に何かと仕事をさせたい、働かせたい誰かが周りにたくさんいて、彼らにいつもターゲットとして狙われている、といったところでしょうか。そして女性は疑問を持つこともなくそれらをただ受け入れて「都合のいい人」になっているようです。

How many warning signs 'til it hits you, darling?
Gravity's your friend
You fall out of touch sometimes
But your history calls you back to it again

"Graviti's your friend"はそのまんま「重力は君の友達」なんですが、つまり下向きに引っ張る力、そこに留まらせようとする力が君を誘惑する、ということが言いたいのでしょう。"fall out of touch"は「連絡がつかなくなる、途絶える」。そしてここでの"history"は「歴史」ではなくておそらく病歴、過去の経験で染みついた悪い癖や傾向、というニュアンスだと解釈しました。たまに抜け出せそうなタイミングはあるが、結局は元の淀みに戻ってしまう、みたいな。

Too many factors to be sure
So many reasons to think twice
And nobody asked you to before

「ちょっとマズいんじゃないの。考え直してみたら?」と誰も君に指摘したり忠告したりはしなかったけど、しかしそれにしたってそのチャンスはいくらでもあるでしょうが。いくらなんでも。という感じかと。

But do you ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why? I, I-I, I
I, I-I, I
I, I
You ever wonder why?
Why

以上です。いい曲です。中毒性のあるポップなメロディーに乗った哀愁のミックスブレンドが素晴らしいですし、粘り気を保ちつつも流れるようなスムーズ感がたまりません。日本語だとなかなかこういう流れる感は出ませんね。しかしこの曲を翻訳すると、Dominic Fikeのキャラクターもありますが、自動的に若干ヤンキー口調に寄ってしまいます。まあよかろう。

Meraki MR42にOpenwrtをインストールする手順のメモ

Meraki MR42というWifiルータにOpenwrtを入れて第二の人生を歩ませるための作業手順のメモ。

参考にした情報

以下のサイトと動画に必要な情報は概ね記載されている。先達の知恵に感謝

openwrt.org

qiita.com

www.youtube.com

事前に用意するもの

作業手順

Linux PCのセットアップ

メジャーなディストリなら何でもいけるはず。私はUbuntu 22.04でやりました

  1. python3とpyserialとminicomをインストールしておく
  2. TFTPサーバをセットアップする。ソフトウェアは好きなのを使う
  3. Openwrt公式からMR42用のsysupgradeイメージをダウンロードしておく
  4. こちらのGithubページから以下の3つのファイルをダウンロードしておく
    • mr42_u-boot.bin
    • openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb
    • ubootwrite.py
  5. "mr42_u-boot.bin"と"ubootwrite.py"を適当な作業ディレクトリに一緒に置く
  6. TFTPサーバのディレクトリに"openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb"を置く
  7. LinuxIPアドレスを192.169.1.250/24に変更する(または追加する)

MR42を殻割りしてUARTにアクセスする

こちらのページに画像がある。冒頭のYoutube動画も分かりやすい

  1. 裏ブタについている4つのゴム足を剥がす。両面テープで貼り付けてあるだけなので、つまんでそのままゆっくり引っぺがす。左側から外すと綺麗に外れやすい。4個あるので、なくさないように置いておく
  2. ゴム足を剥がすと出てくるネジ4か所を外す。なくさないように取っておく
  3. 表側の白いプラの外殻を外す。ケースプライヤーを隙間に突っ込んでケースに沿ってスライドさせていくと、ペキペキという音とともに内側の固定爪が外れていく。四辺全部外す。爪の固定は適度に弱く、結構簡単に外れる。しかし爪自体が薄いので、雑にやったら一か所折れた。実害はないので良しとする
  4. グレーのプラの裏蓋から金属の外殻に包まれた本体を外す。固定はされていないので手で外れる。外殻の外側にアンテナがついているので、曲げないように注意して取り扱うこと
  5. 金属殻の外周にある8つのビスを外してフタを開け、マザーボードを露出させる
  6. ボード上のUARTポートを確認する。4つのホールの端の四角い印のあるところがVCC。その隣から順にTX、RX、GNDの並び

Openwrt導入前の動作確認

  1. Linux PCとMR42をイーサネットケーブルでつなぐ。直結でもハブ経由でもOK。(理屈上はWifi接続でも行けるはずだが)
  2. UARTアダプタにジャンパワイヤをつなぐ。TXD/RXD/GNDの3本だけをつなぐ
  3. Linux PCにUARTアダプタを挿す。自動認識される(はず)
  4. ジャンパワイヤをMR42のUARTホールに挿す。アダプタのGNDとMR42のGND、アダプタのRXとMR42のTX、アダプタのTXとMR42のRXをつなぐ
    • ジャンパワイヤをそのままUARTポートに挿し込むと、ボードの下の金属のガワにワイヤの先端が接触してしまい、シリアル通信が失敗することがある。これを防ぐため、紙か何かの薄くて絶縁になるものを脇からボード下に差し込んで短絡しないようにする
  5. Linuxコマンドコンソールからminicomを起動する
    $ sudo minicom -s
    バイスが/dev/ttyUSB0、ハードウェア制御なしになっていることを確認する。異なるデバイス名で認識されている場合は、それをメモしておく。自分の環境ではデフォルトでOKだった
  6. MR42の電源を投入する。全て正しくセットアップされていれば、minicomのコンソールにMR42の起動メッセージが表示され流れていく
    • 何も表示されない場合や、表示されるが文字化けしている場合は接続と設定を順番に確認しなおす。良くある原因は、RXとTXのワイヤ接続違い、ジャンパワイヤとホールの接触不良、minicomの設定(ttyポート番号とボーレート)などなど
  7. (任意) MR42が起動してDHCPIPアドレスを取りにきていることを確認する
  8. 動作確認が済んだらminicomを終了し、MR42の電源を一旦落とす

Openwrt導入本番作業

  1. TFTPサーバを立ち上げる。192.168.1.250/24で"openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb"が取得できる状態で待ち受けていること
  2. "ubootwrite.py"と"mr42_u-boot.bin"を置いたディレクトリに移動し、以下のコマンドでPythonスクリプトを走らせる
    $ sudo python3 ubootwrite.py --write=mr42_u-boot.bin
    Waiting for device... というメッセージが出てシリアルポートからの入力待ち状態になる
    • 裏でminicomを終了し忘れていてシリアルポートが占有されているとスクリプトの実行がコケるので注意する。何らかの理由でUARTアダプタがdev/ttyUSB0以外で認識されている場合は、起動オプション"--serial"で明示的に指定すること
  3. MR42の電源を入れる。ubootwrite.pyがデバイスの起動を検出して起動イメージ(mr42_u-boot.bin)のシリアル転送を開始し進捗率が表示される。完了まで15分程度かかるので待つ
    • スルーホールにジャンパワイヤを突っ込んだだけの状態だとわずかな振動で簡単に転送がコケるので、転送中は本体やデスクに触らず静かに待つのがベター
    • Waiting for device状態から電源オン後に転送が始まらずエラーでコケる場合は、ジャンパワイヤとUARTホールの接触不良を疑う
  4. シリアル転送が正常に完了すると、MR42が自動的にTFTPサーバからinitramfsイメージを取得して起動する
    • TFTPにinitramfsの取得に行く処理が走らずu-bootで止まってしまう場合、エラーが表示されていなくてもシリアル転送中の問題でmr42_u-boot.binが正しく起動していない可能性がある。ジャンパワイヤの接触を確認して、一旦電源を切って改めて起動イメージの転送をやり直すと正常に動くことがある
    • TFTPサーバに取りに来ない場合はIPアドレスの設定とイーサネットの接続を再確認する。取りに来ているがイメージ転送が失敗する場合は、miiコマンドを使ってイーサネットの接続速度を10Mbps half duplexに設定してリトライするといいらしい。私の場合はハブ経由のギガビット接続のままで成功したが
  5. Linux PCでminicomを立ち上げ、シリアル接続でOpenwrtのコマンドコンソールに入る。SSHで接続してはならない。以下のコマンドを入力する
    insmod mtd-rw i_want_a_brick=1
    mtd erase /dev/mtd8
    nandwrite -pam /dev/mtd8 /root/mr42_u-boot.mbn
    nandwriteコマンド入力後に以下のメッセージが表示されることを確認する
    Writing data to block 0 at offset 0x0
    Writing data to block 1 at offset 0x20000
    Writing data to block 2 at offset 0x40000
    注意:この後は必ず連続して手順7のイメージのflashまで完了させること。flash前にデバイスを再起動してはならない
  6. この後Merakiファームを再利用する気がない場合は、該当のボリュームを削除することでストレージ(/overlay)容量を60MB程度まで拡張できる。そうしたい場合は以下のコマンドを入力する。
    for i in diagnostic1 part.old storage part.safe ; do
    ubirmvol /dev/ubi0 -N $i
    done
  7. Webブラウザで192.168.1.1にアクセスするとLuciに入れるので、Flash new firmware imageからSysupgradeイメージをflashする。SCP等でイメージを転送してsysupgradeコマンドを叩いてもよい。MR42のIPアドレスを変更して作業したい場合はシリアルコンソールから設定を変更する。Flash後はデバイスが自動的に再起動する
  8. FlashしたイメージでOpenwrtが立ち上がってきたことを確認し、電源を切って、ケースを組み立て直す

これでOpenwrtの導入は完了。お疲れさまでした。

MR42雑感

  • 売値が高価なので当然だがハードウェアはめちゃくちゃいい。(ド素人がガワを外してボードを眺めただけの印象だが) 基盤上の実装や金属製の保護ケースとアンテナの作りなど、コンシューマ向けとは別格の高級感である。中小企業向けとはいえ、さすがCisco製品。完全クラウドマネジメント製品ということでライセンスが切れると(オフィシャルなファームでは)使いみちが全く無いこともあり、オクで2000円程度で捌かれているのはなんとも悲しいものである
  • 実際の電波の送信受信能力も非常に良好で、量販店で売っているコンシューマ向け機種とは一線を画している。一軒家の階をまたいだ通信も感度良好で安定している。MIMO3x3なのでリンクスピードは若干下がるが実用上の問題は(私の使い方では)全くない
  • とりあえずメインのWifiアクセスポイントとして、10台程度のデバイスがブラ下がる程度の環境で半年ほど連続稼働させているが完全ノートラブル。本当に放置で何のトラブルもないのは(個人的な経験上だが)結構珍しい
  • Openwrtで使えるストレージ容量は60MBほどありメモリは512MB搭載で、普通に使うには十分だろう。CPUにはQualcomm Atheros IPQ8068が搭載されており、これは4コアなのだが、そのうち2コアは暗号化か何かの処理のアクセラレータ的に使う特殊コアらしく、Openwrtでは現状この2コアを扱えない。なのでシステム上では2コアCPUとなる。それでも処理能力は十分高いが
  • 11acのみオン、デバイス10台程度接続で消費電力は5~6W程度。基盤全体を包む分厚い金属ケースがヒートシンクとして働くせいか、内部温度は室温+20℃程度で安定
  • Ethernetポートが一つしかないので有線ルーターとしては使えない。USBポートもないのであれやこれや接続して遊ぶことはできない。後継製品のMR52はEthernet2ポートかつMIMO4x4でありつつ既にOpenwrtでサポート済なのでこっちが欲しいところだが、まだ市場でリプレースの時期を迎えていないため安価な入手は難しい
  • PoE対応らしいが当方には環境がないので活用できていない
  • CiscoWifiバイスにたまにある「スペクトラム解析専用のWifiアダプタ」が装備されている。オフィシャルファームではこれを周辺の電波状況スキャン専用に使い、結果に応じてバンドステアリングとか色々なクライアント制御に活用しているらしい。Openwrtではこの第3のチャネルを独立したWifiアダプタとして普通に利用できる。従って、実はこれトライバンドデバイスである。ただしこの第3のアダプタはMU-MIMO非対応なので、速度はあんまり出ない(とはいえ実測で200Mbps程度は出るが)。使いみちが微妙なところではある
  • ACアダプタは一般的な外径5.5mm内径2.5mmの12Vのものが使える。純正は2.5Aだが、ご家庭で11acだけで使う分には1.5Aでも問題はなかった。Buffaloとかのルータに付属する内径が少し小さい(2.1mm)やつだと刺さらないので変換アダプタが必要になる
  • 外側ケースは、薄いプライヤーさえあれあばかなり外しやすい。ケースをぶっ壊しそうになりながらヒヤヒヤ作業をしたWG2600HPとは雲泥の差である

まとめ

2023年現在、日本で比較的容易に入手できるOpenwrt対応デバイスとしては価格性能比が最高クラスだと思われる。特に動作の安定性と電波の送受信性能が優れている。ヤフオクで頻繁に2,000円前後で投げ売られていて、人気もないので買いやすい。Ethernetポートが一つしかないこと、USBポートがないこと、導入作業が若干面倒であること、の3点が問題にならないなら、圧倒的にオススメである