寒い時期は2階で作業をしていて、WIFIを使ったイーサーネットコンバーターを使っています。イーサーネットコンバーターは以下の方式があります。
- NAT
- ルーター
- ブリッジ
NATとルーターの場合は別のサブネットになりますが、ブリッジの場合は同じサブネットになります。
ルーターやブリッジの場合は双方のネットワークから透過に通信できますが。NATの場合は一方向のコネクションしか張れません。
ブリッジはFreeBSDではif_bridgeで設定できますがOpenWrtではrelaydを使うのが一般的のようです。
EthernetはMACアドレスを元にユニキャストか、MACアドレスを解決するためのARPはブロードキャストで通信を行います。ブリッジは相手のネットワークにパケットを転送する時は送信元のMACアドレスを自分に代えて投げます。ブリッジ越えで送られてきたユニキャストはブリッジが保持しているテーブルで変換して相手先MACアドレスを書き換えて転送します。
FreeBSDを焼いてもとに戻せなくなったハードオフで108円で購入したWLI-TX4-AG300Nにシリアルでu-bootを操作してインストールしてみました。この機種のオリジナルファームのエンコードキーが不明なので、ファームウエアアップデートではインストールできないと思われます。
この機種はRalinkの最初のMIPS SOCであるRT2880を使っていて、メモリは32MありますがFlashは4Mです。MIPSのアーキテクチャは4Kです。無線は2.4G,5Gの両方入っています。両方同時には使えず片方のみのようです。結構しっかりした作りで良い感じのモジュールです。
国内で販売されているルーターでは珍しく電源スイッチが付いています。この機種のデザインはこれだけだったと思われます。
この機種はルーターではなくイーサーネットコンバーターなモジュールでしたが、オリジナルがどの方式だったかは確認していません。
最初4M Flashのサポートが最後の19系を焼いてみたのですが、設定がまったく保存されません。おそらくimageが大きくなって、設定の保存に失敗しているような気がします。
設定はブラウザーでおこないました。sshでログインしてcliでも設定できるようです。Linuxはよく分からないので、ブラウザーを使いました。
OpenWrtのDownloadサイトある一番古い17系を再インストールしたところちゃんと設定が保存されるようになりました。
ところがrelayd,luci-proto-relayのパッケージがどこを探しても見つかりません。
ありました。RT2880は4Kなのですがmipsel_24kcが使えるようです。
packagesの下を探していたのですが。baseとluciの下にありました。
コードはここにあるようです。
NATはパッケージが必要なく設定だけで使えるようなのでとりあえずNATで使ってNATの内側への通信はポートフォワードを設定して使うことにします。
蟹さんの純正ファームのイーサーネットコンバーターを使っていたのですが、ときどき切れたり不安定だったので、試しました。
19系でも使わないパッケージを消せばちゃんと使えるのかもしれません。
このモジュールは下に通気用の穴があり、少し浮かせて設置するのが熱対策になるかもしれません。
ZRouterでFreeBSDでも動かせますが、4Kはあまり用途がないので、オリジナルに戻そうとしたのですが、オリジナルのファームがデコードできないためあきらめて、OpenWrtを試しました。
relaydの設定
opkg install relaydではインストールできなかったので、別のホストでファイルをダウンロードして実機の/tmpにscpしてファイルをインストールしました。
同じサブネットのIPアドレスは有線側か無線側のどちらかにしかつけられないようです。
通常の通信(TCP)はとても安定しています。
イーサー側に複数台のモジュールを置いても問題なく通信できました。
ブリッジ越えのtftp(UDP)はあまり調子がよくありません。
LEDが三つ付いてるようなのですが、制御方法が分かりません。