0x00 背景#
二ヶ月前、ネットワークの速度テストを行った際、有線接続でも無線接続でも、速度テストの結果は常に 940Mbps 前後でした。ご存知の通り、通信事業者が帯域制限のテンプレートを作成する際、常に追加の 20% の帯域を冗長として提供します。WiFi プロトコルの進化に伴い、現在の WiFi6 160Mhz 2x2 では 2400Mbps の速度が得られ、この 20% の冗長帯域を十分に活用できるため、光猫の交換を考えるようになりました。この冗長帯域を十分に活用するためには、2.5G 以上の上り光ポートが必要であり、下りデバイスの速度を確保するために 2.5G の電ポートも必要です。2.5G ルーターのコストを節約するために、最終的に選んだ光猫は中興の G7615 V1 です。
ある中古取引プラットフォームで G7615 v1 を購入し、売り手に発送前に該当地域の該当通信事業者のファームウェアを事前にフラッシュしてもらい、telnet を有効にしてもらいました。長い待機の後、ついに一週間後に荷物が届きました。その日に元の光猫の内容をバックアップしました。具体的には、Internet インターフェースの VLAN ID、光猫登録用の LOID、元の光猫のシリアル番号と MAC アドレス、ブロードバンドダイヤルのアカウントとパスワードなどです。その後、交換し、telnet を通じて新しい光猫のシェルで設定と登録を行い、最終的に交換に成功し、940Mbps の速度制限を解除しました。
シェルの権限を得たことで、光猫の中でいくつかの興味深い内容を探し始めました。この部分は大部分を省略しますが、最後に恐ろしいmount -o rw,remount auto /
コマンドを実行した後、G7615 は動かなくなり、再起動できなくなりました。あるフォーラムで関連情報を調べ、ルートディレクトリに rw の remount 操作を行うと起動できなくなることを知り、TTL から救済するために分解することを決定しました。家中を探し回っても USB-TTL が見つからなかったため、ある電子商取引プラットフォームで¥11.8 の価格で 3 つの CH340G モジュールを購入し、G7615 の救済の旅を始めました。
0x01 救済前の準備#
救済前に必要な準備は以下の通りです:
- シリアルポートモニタソフトウェア、例えばMobaXtermまたはLucy
- USB→TTL、例えば CH340、ドライバがインストールされていることを確認
- 分解され TTL 線が接続され復活を待っている G7615
- G7615 のファームウェア
資料を調べたところ、左上の 4 つの接点の意味はそれぞれ VCC、TX、RX、GND であり、TTL は 1.8V または 3.3V で使用可能で、VCC は接続できないため、最終的な配線は:空、TTL の RX、TTL の TX、TTL の GND となります。
CH340 をコンピュータに接続した後、デバイスマネージャのポートに CH340 の文字が表示されていることを確認してください。
COM ポートの番号を記録し、ダブルクリックして開き、新しいダイアログボックスでポート設定を選択し、以下の状態に設定します。
配線が完了した後、コンピュータ上のシリアルポートモニタソフトウェアを開き、シリアルポートで新しく接続した CH340 を選択し、ボーレートを 115200 に設定します。同時に MobaXterm の TFTP サービスを有効にし、フラッシュする必要のあるファームウェア(kernel.bin、framework.bin)を TFTP サービスのディレクトリに置きます。準備が整ったら、シリアルポートをリスニングし、光猫を起動する際にスペースキーを連打してインタラクティブターミナルに入ることを確認します。
⇒
の文字が表示された後、正常なブートを中断し、UBOOT モードに入ったことを示します。この時点で、フラッシュを選択できます。
0x02 フラッシュを開始して救済#
ネットワークケーブルを使ってコンピュータのネットワークポートと光猫の LAN ポートを接続し、コンピュータを静的 IP:192.168.1.100/24 に設定し、デフォルトゲートウェイは空白のままにします。
まずnand bad
を入力し、悪いブロックがあるかどうかを確認します。結果が Device 0 bad blocks であれば、以下の操作を実行してフラッシュを行います。そうでない場合は、まず悪いブロックのクリーニングを行う必要があります。
実行するコードは以下の通りです:
- 自分の IP と光猫の IP を設定
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.100
saveenv
- フラッシュする必要のあるファームウェアをダウンロード
tftp 0x88000000 G7615P2T2.bin
- 書き込み操作を行い再起動
nand erase 0x1700000 0x3000000
nand erase 0x4700000 0x3000000
nand write 0x88000000 0x1700000 0x3000000
nand write 0x88000000 0x4700000 0x3000000
reset
問題がなければ、光猫は再起動後に正常にブートできるようになり、残りは初期設定と LOID などの登録を行うだけです。
残りの設定部分は、ネット上にある多くの設定プロセスを参考にし、具体的な手順は地域によって異なるため、ここでは詳細に説明しません。
0x03 シェルの補完と新機能の探索#
G7615 の設定は非常に誠意があることがわかります。プロセッサは ZX279132 で、四核 A53、周波数は 1.1G、512M のメモリと 256M のフラッシュを備えており、この構成はハードルーターとしてもかなり高性能です。単なるダイヤルアップインターネットデバイスとしては少しもったいないため、busybox を追加し、いくつかの有用なプラグインを実行することを考えています。
やることが多すぎて、残りの内容は思い出したらまた書きます。とりあえずこれで。
この記事は Mix Space によって xLog に同期更新されています。元のリンクは https://blog.allieqian.com/posts/tech/3gUpK83mTBPJk