0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

注意事項

この記事では、Wi-Fiルーターを分解して、基板上のUART端子からファームウェアの書き込みを行います。

分解やはんだ付け、CUIでのファームウェア書き込みは、故障・感電・ショート・文鎮化・保証対象外化につながる可能性があります。

作業する場合は、ACアダプターを外した状態で分解し、電源投入時は基板や配線のショートに注意してください。

本記事の概要

  • アキバで Wi-Fi 7 ルーターWN-7T94XRのジャンク品が2000円で売っていたので、修理して使えるようにしました。
    wn-7t94xr_t.jpg
    (※ アイオーデータ公式サイトより画像を引用)
  • 修理では、WN-7T94XRを分解して、基板上のシリアルポートからファームウェアの書き込みを実施。ファームウェアの書き込み後、Wi-Fiルーターが正常に稼働するようになりました。
  • この投稿では、分解の方法、シリアル通信ができるまでの試行錯誤、ログ分析による原因推定、ファームウェアの書き込み方法などを記録・共有します。

目次

  1. Wi-Fiルーターを新しくしようとした理由
  2. 秋葉原でジャンクWi-Fiルーターを調達する
  3. ジャンクWi-Fiルーターとシリアル通信
    • 3.1 Wi-Fiルーターの分解
    • 3.2 シリアルポートのはんだ付け
  4. 公式ファームウェアの書き込み
    • 4.1 シリアル通信と障害の原因分析
    • 4.2 ファームウェアの書き込み
  5. まとめ

1 Wi-Fiルーターを新しくしようとした理由

今回、Wi-Fiルーターを新しくしようとした理由は、使っているスマホがWi-Fi 6Eなのに、接続先のWi-Fiルーターが Wi-Fi 6であったためです。スマホの性能を100%発揮させるため、Wi-FiルーターをWi-Fi 7にアップデートしようと思いました。

Wi-FiルーターをWi-Fi 7にした結果ですが、通信速度は変わりませんでした。というのも、上流のインターネット回線が数100Mbpsであったため、下流のWi-Fi環境をWi-Fi 7にしたところで変わりませんでした。まあ、分かっていました。

2. 秋葉原でジャンクWi-Fiルーターを調達する

秋葉原では、ジャンク品を扱っているお店が多数あります。
ジャンク通りを自分の目と足で探したり、X(旧Twitter)でジャンク屋さんやジャンクが好きな人の投稿を見て、自分に必要なジャンク品を探しましょう。

2.1 購入したWi-FiルーターWN-7T94XRについて

購入したのは、アイ・オー・データのWi-Fi 7対応ルーター「WN-7T94XR」です。

このルーターは、6GHz・5GHz・2.4GHzのトライバンドに対応し、インターネット側は10Gbpsポート、LAN側にも2.5Gbpsポートを備えたモデルです。家庭用ルーターとしては上位寄りの機種になります。

このルーターを選んだ理由は、「トライバンド」「Wi-Fi 7」「日本メーカー」であったためと復旧報告の投稿があったためです。

まず、トライバンドについては、まだあまり使われていない6GHz帯を利用して、通信速度が速くなることを期待しました。また、Wi-Fi 7については、将来、これらの機器を購入することを見越して選択しました。早く、Wi-Fi 7 の複数の周波数を束ねるマルチリンクオペレーション(MLO)を使ってみたいです。日本メーカーについては、この頃、マルウェアによるルータの乗っ取りなどの被害が増えてきたので、それが怖くなり日本メーカーを選びました。

最後は復旧報告の投稿です。X上に「分解して、TTLのシリアル通信でファームを書き込んで復旧できた」という投稿があったので、「自分でも出来そうだな」と思い購入を思い立ちました。

3. ジャンクWi-Fiルーターとシリアル通信

以降、Wi-Fiルーターの分解、シリアルポートのはんだ付けです。
今回の復旧作業では、以下を使いました。

  • Wi-Fiルーター (WN-7T94XR)
  • T10トルクスドライバー
  • USB-UART変換モジュール
  • ジャンパーワイヤー
  • ブレッドボード
  • はんだごて
  • LANケーブル
  • tftpd32
  • 公式ファームウェア
  • Mac、Windows PC

3.1 Wi-Fiルーターの分解

まずは、ルーターの下側、足の粘着テープを外して、ネジを外します。
使われていたネジはトルクスネジのT10でした。
ここでは大丈夫ですが、分解後の本体側に付いているトルクスネジは、細い穴の奥にあるため、細くて長いドライバーが必要なので注意です。

次に筐体を外します。外側のケースから、内側に入っている本体を抜く感じです。

次は、本体のネジを外します。本体のネジは細くて深い穴の底にあります。ドライバーとネジがしっかりかみ合っていることを確認して、ネジの頭が舐めないようにして外してください。
全てのネジを外して、本体下側の右側の無線アンテナ線を外し、

パカっと開くと...

こんな感じで大きなヒートシンクが見えます。このヒートシンクの下側にある4つのスルーホールがシリアルポートです。ようやくシリアルポートが見えました。ここに、シリアル通信の線をつなげて、シリアル通信を行います。

なお、シリアルポートは、本体の端っこにあるため、本体側を開けなくても、シリアルポートにアクセスできます。ネットでは、筐体の隙間からピンセットやテスターの針で接続している人がいました。

3.2 シリアルポートのはんだ付け

シリアルポートへの信号線の接続には、ジャンパーワイヤーを使いました。ジャンパーワイヤーを基板のスルーホールに差し込み、以下のようにはんだ付けしました。黄色のジャンパーワイヤーがWi-Fiルーター側のTX、青のジャンパーワイヤーがWi-Fiルーター側のRXです。USB-UART変換モジュール側とは、TXとRXをクロスして接続します。

なお、青の左側がGNDなのですが、どうしてもはんだが乗らなかったため、今回はヒートシンクのネジからGNDを取りました。
GNDをきちんと接続しないと、シリアル通信の内容が文字化けして読めませんでした。UARTでは、TX/RXだけでなくGNDも必ず接続する必要があります。
また、USB-UART変換モジュールは3.3Vロジックで使用しました。5V TTLを接続すると、基板側を壊す可能性があるため注意が必要です。

ちなみに、基板上にどうしてもはんだが乗らない場合の正解、解決策はまだ分かっていません。今回は、古いはんだを取り除いたり、フラックスクリーナーで拭いたりしてもダメでした。鉛入りはんだやフラックス単品を使うべきだったのかもしれません。

シリアルポートに接続したジャンパーワイヤは、以下画像な感じでブレッドボードに挿し、ブレッドボードに置いたシリアルモジュールと接続します。

なお、シリアルモジュールはスルーホール用テストワイヤを利用して、はんだ付けせずブレッドボードに接続しています。とても便利です。

これでようやく「Mac - シリアル変換モジュール - Wi-Fiルーターのシリアルポート」が接続できました。

4. 公式ファームウェアの書き込み

以下では、シリアル通信でログを読み、障害の原因分析を行います。その後、ファームウェアの書き込みを行い、Wi-Fiルーターの復旧作業を行います。

4.1 シリアル通信と障害の原因分析

シリアル通信は、Visual Studio Code (VSCode)で行いました。VSCodeの設定は以下になります。

image.png

シリアル通信の設定には、以下の値を設定してください。

  • モニターモード:Serial
  • 表示モード:テキスト
  • ポート:usbserial-AV0L2AGH(※環境により異なる)
  • ボーレート:115200
  • 行の終わり:CRLF
  • データビット:8
  • ストップビット:1
  • パリティ:なし

Wi-FiルーターのシリアルポートとMacをUSB-UART変換モジュール経由で接続し、電源を入れるとシリアルモニターに文字が流れ始めます。起動直後は、Status LEDは光りません。Linuxが起動する20秒後ぐらいから点滅し始めた気がします。

なお、シリアルモニターが文字化けする際は、シリアルモニターの設定、もしくはシリアルモジュールのグランドの物理接続を確認してください。正常に通信できるようになると、シリアルモニターに正常に文字列が出力されます。

シリアルモニターのログ出力を読むと、約30秒ごとにリブートをしていることが分かりました。また、約3秒目にUBIログインのためのキー入力、約9秒目にLinuxログインのためのキー入力がありました。また、ファームウェアやイメージのCRCチェックは正常に完了していたため、少なくともイメージ全体が完全に壊れている状態ではなさそうでした。問題があったのは、読み込んでいた設定値でした。ログは、これらに問題があると示していました。

4.2 ファームウェアの書き込み

シリアルログの確認結果から、ファームウェア本体または設定領域の不整合を疑い、公式ファームウェアを再書き込みすることにしました。

まず、ルーターとPCをLANケーブルで接続し、PC側でtftpサーバーを起動します。今回はWindows上でtftpd32を使用しました。

次に、アイ・オー・データ公式サイトからWN-7T94XR用のファームウェアをダウンロードし、tftpサーバーの公開フォルダーに配置します。

その後、ルーターを起動し、起動後約8秒付近からキー入力を行ってLinux側にログインしました。ログイン後、ルーター側からtftpサーバー上の公式ファームウェアを取得し、ファームウェアの書き込みを実行しました。

ファームウェア書き込み後に再起動すると、これまで発生していた約30秒ごとの再起動ループは解消しました。Linux起動中にはStatus LEDが点滅し、その後、通常のWi-Fiルーターとして起動するようになりました。

復旧後は、以下を確認することができました。

  • 管理画面にアクセスできること
  • 2.4GHz / 5GHz / 6GHz のSSIDが表示されること
  • Wi-Fi接続できること

5. まとめ

今回の症状は、ファームウェア本体の完全な破損というより、設定領域または初期設定値の不整合が原因だった可能性が高いと考えています。

以上で「起動しないWi-Fi 7ルーター(ジャンク品)を修理してみた」は終了します。ご清読、ありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?