今度は小型のこの機種。色々悩んでずっと保留にしていましたが、きっかけもあってエイヤと投げ込みました。
まとめていきます。
仕様
自分の中では初となるMT7628A搭載機。ハードウェア構成としては比較的WSR-1166DSに近いです。
Flashは16MiBのものを搭載するものの、メーカーファームウェアでは何故か前半半分 (8MiB)しか使われておらず後半半分は空。もったいない。
法律の関係上、無線機能の使用は非推奨です。
- SoC: MediaTek MT7628A
- RAM: DDR2 64 MiB
- Flash: SPI-NOR 16 MiB
- WAN/LAN: 100Mbps/100Mbps
- UART: J1, 57600bps("J1" の印刷側から 3.3V, GND, TX, RX)
その他詳細については、雑記を参照。
OpenWrt化
この機種もWRC-2533GHBK-Iと同様に、ヘッダ2つが使用される形式であり、どちらも構造を把握できていた為factoryイメージを生成するようにしました。
ルータモードに設定されていることを前提とします。
- WRC-1167FSをブート
- WRC-1167FSに電源ケーブルを接続し、通常通り起動
- WebUIを開き、ファームウェアアップデートページに移動
http://192.168.2.1/
にアクセスし、ファームウェアアップデートページを開く- アップデート実行
- OpenWrtのfactoryイメージを選択し、 "適用" ボタンをクリックしてファームウェアアップデートを実行
- 完了
- OpenWrtで起動してくれば完了
備考
- 上で触れたとおり、搭載されているFlashは16MiBのものながらメーカーファームウェアで使用されているのは前半ちょうど半分のみであり、OpenWrtでもそれに倣った結果OpenWrtにおいてKernel + RootFS + ユーザーデータで使用できる合計は 7.18 MiBと少し程度。
- "LAN" ポートそばのLEDに少々問題があり、SoC内蔵スイッチによって直接制御させようとしたところ挙動不審となる為、OpenWrtでは "INTERNET" と "LAN" どちらも接続の有無によって点灯/消灯するように構成した。トラフィックによる点滅は無し。
作業時の色々
- この機種で最も悩んだのがfactoryイメージに必要なヘッダ部分。前述の通り2つのヘッダが使用されており、1つ目はサポート済みのWRC-300GHBK2-IやWRC-2533GHBK-Iで1つ目として使われているもので、これは特に問題なし。問題は2つ目で、WN-AC1167GRや、WRC-2533GHBK-Iの2つ目として使われているものと似ているものの、全体的な構造がやや異なるほかチェックサムの種類やその値を取るタイミングが異なっており、それらをどうするかどうかで長期間悩んだ。
この機種の作業開始当初はWRC-2533GHBK-Iサポートよりもずっと前であった為1つ目のヘッダを生成するコードはまだ分離前であり、WRC-1167FSの為だけに1つ目と2つ目のヘッダ用に長い生成コードを書く必要がある(当時はWRC-300GHBK2-I等のコードからの分離に思い至らなかった)ことから気が引けてしまった。
ちなみに、途中で2つ目のヘッダをWN-AC1167GR等のフォーマットと一緒にC言語の生成ツールに書き直すことも考えたりした。
これが原因でかなり長期間保留となっていたが、WRC-2533GHBK-Iのサポートの際1つ目のヘッダの生成コードを分離したことからWRC-1167FSでは2つ目のみのコード追加で良いことになり、調整した上で投げ込んだ。
色々
グダグダとしたまま長期間経ってしまい長らく悩みのタネとなっていたものの、ようやく投げ込んでマージされて肩の荷が下りた。
若干大きい残念なポイントとしてFlashのパーティション構成があるものの、既に製造終了となってからしばらく経過していること、元々安価な機種であることから、イーサネットはFEながら何か小規模なものを動かしておくなどするのに良いかもしれない。