大破ログ

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

BUFFALO WSR-2533DHPL

WSR-2533DHPL内部

BUFFALOのramips機としては自分初。PRをオープンしてからramips/mt7621の5.4引き上げなど挟んだ関係でしばらく掛かりましたが、マージされました。
所謂 "2533" 機であり、上位寄りに位置するこの機種です。まとめていきます。
なお、このサポートはあくまでWSR-2533DHPLのものです。WSR-2533DHPL-Cについてはほぼ同一のハードウェアと推測されますが、実機を確認していない為断言はできず、DHPLのファームウェアの使用は推奨しません。
2020/05/25 追記: コメントくださった方によりWSR-2533DHPもほぼ同一であることが確認できた為、WSR-2533DHPについてもこのDHPLのサポートに含まれる形でサポート扱いとなりました。DHPL用の各ファームウェアを使用します。
ramips: add alternative name for Buffalo WSR-2533DHP · openwrt/openwrt@7b01567

仕様

SoCにはMT7621Aを搭載し、無線には2.4/5GHz帯でそれぞれにMT7615Nを搭載する、言ってしまえば奇をてらったところは無い一般的な構成です。 法律の関係上無線機能の使用は非推奨です

  • SoC: MT7621A (880MHz, 2C4T)
  • RAM: DDR3 128MiB
  • Flash: SPI-NOR 16MiB
  • WAN/LAN: 1000Mbps/1000Mbps x4
  • UART: J4, 57600bps(RJ45側からVcc, GND, TX, RX)

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

OpenWrt化

メーカーファームにおけるフォーマットの問題から、factoryイメージはありません。BUFFALO機で良く知られた、ブート時にAOSSボタンを押してイメージをロードさせる方法を利用します。

TFTPサーバを用意
PCのIPアドレス192.168.11.2 に設定の上、WSR-2533DHPLのinitramfsイメージを "linux.trx-recovery" にリネームしTFTPサーバを起動する
WSR-2533DHPLをブート
AOSSボタンを押しながら電源ボタンを押してWSR-2533DHPLをブート
10秒前後AOSSボタンを押し続けると、自動的にリネームされたinitramfsイメージがTFTPサーバからダウンロードされ、それを使用してブートされる
sysupgradeを実行
ブートされたinitramfsイメージ上でWSR-2533DHPLのsysupgradeイメージをwgetやscp等でWSR-2533DHPL上の/tmp/等に置き、sysupgradeを実行してFlashに書き込む
例:
sysupgrade openwrt-ramips-mt7621-buffalo_wsr-2533dhpl-squashfs-sysupgrade.bin
完了
1分から2分ほどで書き込みが完了して再起動され、OpenWrtで起動してくる

備考

  • Flashは16MiBのものを搭載しているが、OSイメージを2つ抱えている関係上KernelとRootFS、ユーザー領域で実際に使用できるサイズは7.75MiBほど。
  • 前述のとおりこの機種が属するramips/mt7621はPRをオープン後にKernel 5.4に切り替えられており、その際MT7530スイッチのドライバがLinux Kernelの持つDSAドライバに変更された。これに起因し、現状OpenWrtの設定システムではこの機種のVLANを自由に設定することはできない。
    ip コマンドなどを用い、手動で構成することは可能である模様。)
  • 2つあるOSイメージ用パーティションのうち、実使用は確認した範囲では1つ目 (bank1) のみと思われる。2つ目 (bank2) はあくまでバックアップとして使用され、bank1のOSイメージが壊れている際にbank2からbank1に書き戻される。bank1が正常である限りはそのまま1つ目からブートされ、bank1とbank2がどちらも正常かつ異なるイメージである場合、bank1からbank2へのコピーが行われる。
  • もし将来的にメーカーファームに戻す可能性がある場合、上記のOpenWrtインストール手順でinitramfsイメージでブートした際に、sysupgrade実行前に "firmware" パーティションの中身をddコマンドでバックアップしておくと良い。実際に戻す際は、そのバックアップをmtdコマンドを用いて "firmware" パーティションに書き込む。バックアップしていなくても、メーカーファームを展開し暗号化を復号したファイルを書き込むことでも恐らく可能。

作業時の色々

  • factoryイメージを用意できない理由は雑記に書いたとおりであり、メーカーファームから投入する場合TRX形式のMagic Numberに特定のものを必要とする。ただし、それを使用した場合OpenWrtのシステムが正しくRootFSを検出できないためブートに失敗しブートループを引き起こす。このMagic Numberはメーカーファームにおいてのみ必要であってU-Bootによるブートには不要であり、コードの改変量を低減するためにMagic Numberに絡んだ変更が不要なfactoryイメージ無しとした。

色々

今回も時間は掛ったが、マージされたので一安心。
実のところ、作業に用いた手持ちの個体はPCIe周りで恐らく落としてしまった際に発生した問題から、mt7621 subtargetが5.4に引き上げられた際のPCIeドライバのバグを踏むなどして大変なことになった。この問題は、通常使用ではこの機種においてはまず発生しない。