大破ログ

日々大破、それと側転少々。PC関連その他、気になったことなどをつらつらと。

I-O DATA WN-AC733GR3

WN-AC733GR3内部

WN-AC1167GRに引き続きI-O DATA機。今回は無線が一段下の "733" です。
しばらく諸事情により保留していましたが最近PRを出し、少々GPIO周りでツッコミがありましたがマージされました。まとめます。

仕様

私個人のサポートマージ済みとしては2機目となるMT7620A搭載機です。
SoC自体が搭載するswitchはFEまでながら、RGMIIでRTL8367RBを接続することによりGbE対応を行っています。
また、WN-AC1167GR同様、無線の2.4GHz帯はSoC内蔵のものを、5GHz帯はPCIeにぶら下がるMT7610Eを利用しています。
なお、いずれの無線機能も使用は法律の関係上非推奨です

  • SoC: MT7620A (580MHz, 1C1T)
  • RAM: DDR2 SDRAM 64MB
  • Flash: SPI Flash 8MB
  • WAN/LAN: 1000Mbps x1 / 1000Mbps x4 (RTL8367RB)
  • UART: 57600bps(LED側からVcc, RX, GND, TX)

その他の詳細については、雑記を参照。

OpenWrt化

メーカーファームのフォーマットがWN-AC1167GRとはごくわずかに異なるものの、全体としてはほぼ同じであり、結果WN-AC1167GR用のfactoryコードをそのまま流用できfactoryを用意することができました。このため、簡単にインストールすることができます。

WN-AC733GR3を起動
WN-AC733GR3に電源ケーブルを繋ぎ、普通に起動。
WebUIにアクセス
PCとWN-AC733GR3をLANケーブルで接続し、 http://192.168.0.1/にアクセスしてファームウェア更新ページへ移動する
ファーム更新
WN-AC733GR3用のfactoryファームを選択し、アップデートを実行
完了
Flashへの書き込みが完了後再起動され、OpenWrtで起動してくる

既知の問題

各RJ-45ポートサイドのLEDが点灯/点滅しない
OpenWrtのRTL8367(R)B用ドライバはLED関連のコードが抜け落ちており、コントロールできないためポートLEDは点灯/点滅しません。

作業時あれこれ

  • メーカーファームのフォーマットがWN-AC1167GRと近いことは把握していたものの、ヘッダ部にわずかな差異があり、多少手を加える必要があるかなというのをぼんやり考えていた。
    が、WN-AC733GR3の実機を入手して検証したところWN-AC1167GRサポート時のコードそのままでビルドしたfactoryファームもチェックをパスできた。
  • 前述の通りRTL8367RBを搭載してGbE対応を行っており、これのRESETラインにSoCのGPIO 0が接続されRESETをコントロールしている。この場合理想としてはswitchの "reset-gpios" としてDeviceTreeに記述されるべきであるものの、OpenWrtのRTL8367RBドライバにはreset-gpiosの実装が無いため、GPIOをexportすることで対処する。 このexportの方法が雑記に書いた通り現在OpenWrtではどの方法を採るか定まっておらず、当初regulatorとして記述しPRを出したところ、"RESETであり、なおかつDTSに書きたいならgpio-hogで" とコメントがあり、"gpio-hog" を利用して書き換えた。
  • 既にしばらく前に確保していたWRC-733GHBKと基板が8 - 9割方共通であり、WN-AC1167GR/WRC-1167GHBK2-I同様にかなり近いレベルで製造されていたと思われる。

色々

今回はfactoryについては特に問題無く、GPIO周りで少々時間が掛かってしまったものの新たにgpio-hog関連の知識が得られたので良し。また、メーカーを跨いでほぼほぼ同一の基板を使用している機種が複数あるということがわかり、とても興味深い。
WN-AC733GR3はAC対応機とはいえ1T1Rであり旧型であるものの、NATは平均して600Mbps以上は出ていたのでお役御免になったものをOpenWrtで再活用するのに良さそう。
GR/GR2はそのうちもし確保できればサポート(or 互換性確認)やるかもしれません。