大破ログ

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

I-O DATA BSH-G24MB

BSH-G24MB内部

自分が作業した中で2機種目のrealtek機サポート。
AML2-17GPで関わり始め、その後国内メーカー機からRealtek SoCを搭載するものを探し回った結果見つけた機種。
ステータスLED周りで若干気になる点があるなどして少し保留にしていたものの、今回マージされました。
まとめていきます。

仕様

先にマージされたAML2-17GPよりも多い24ポート搭載機であり、SoCは同じRTL8382Mを搭載しています。Flash容量は半減。

  • SoC: RTL8382M (500MHz)
  • RAM: DDR3 128MiB
  • Flash: SPI-NOR 16MiB
  • Ethernet: 1000Mbps x24
  • UART: JP2, 115200bps(リア側から3.3V, TX, RX, GND)

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

OpenWrt化

AML2-17GPと異なり、この機種においては直接sysupgradeイメージを投入することが可能です。

BSH-G24MBを起動してDHCPが機能しているネットワークに接続
通常通り電源を接続して起動し、DHCPサーバによりIPアドレスが配布されているネットワークに適当なポートを接続する
ファームウェア設定ページを開く
PCからBSH-G24MBのWebUIにログインし、ファームウェア更新ページを開く
sysupgradeイメージをリネームしたうえで投入
WebUIが求めるファイル名 "bsh-g24mb_v100.image" に変更したうえで選択し、"適用" ボタンを押下してアップデートを実行
完了
Flashへの書き込みが完了後再起動され、OpenWrtで起動する

備考

  • 基板上のUARTはピンヘッダが最初から立っており、筐体も開けやすいことから比較的接続は容易。

  • 仕様で書いた通りFlashは16MBであり、その中でOSイメージを2つ持つ構造となっている為、1つあたりは 0x6B0000(6.69MiB弱)しか使用することができない。
    しかしながらこのサイズではOpenWrtでは若干厳しい為、メーカーファームウェアでは使用されていない2つ目の領域を1つ目と統合して 0xD60000(13.375MiB)を確保した。

  • 上記に絡んで、メーカーファームウェアのWebUIから投入する際に、ファームウェアサイズが大きい場合にはエラーとなるか、あるいは全体を書き込むことができず正常にブートできなくなる可能性もある。
    その場合、比較的接続が容易なUARTを用いて投入を行うことを推奨。ただし、電源内蔵タイプである為、感電には十分に注意すること

作業時の色々

  • 上でも書いた通りステータスLEDで若干気になる点はあったほか、搭載するFlashのサイズが小さい点がきになる機種ではあるものの、それ以外は特段癖は無いので比較的スムーズに作業を進められた。
    ステータスLEDが接続されているGPIOピンはGPIOとして使用することができるほか、RTL8382Mがハードウェア的に制御するステータスLED専用ピンとしても使用することが可能なものであり、メーカーファームウェアでは後者で構成されていた。しかしながらOpenWrtではハードウェア制御を適切に扱えるドライバが存在しない為、レジスタを切り替えてGPIOとして扱うように構成した。

色々

今回は丁度realtek targetにおいてKernelバージョンの引き上げなど様々な変更が入ってくる時期に当たったため、しばらく保留にするなどした関係上おおよその作業完了からPRをオープンするまでそれなりに時間を要した。しかし、PRをオープン後はそこまで時間を要さずマージされたので一安心。
上記の通りFlash容量が小さくメーカーファームにおけるファームウェアの最大サイズが小さい関係上、WebUIから投入できるサイズが若干厳しいので、その点が若干残念かなと思うところ。
なお、今のところはBSH-G08MやBSH-G16MB等、シリーズ内他機種のサポート予定はありません。