当小米ルーター(例:Redmi AC2100)のフラッシュに失敗し、「レンガ」状態(起動できず、電源ランプのみ点灯し、バックエンドにアクセスできない)に入った場合、DHCP + TFTP の方法で「救済」してファームウェアを復元できます。本記事では、dnsmasq を利用して Linux システム(例:Debian/Ubuntu)上で DHCP と TFTP サービスを設定し、ルーターが自動的に miwifi.bin の復元ファームウェアをダウンロードしてフラッシュを完了する方法を紹介します。
一、ネットワーク環境の準備#
救済を行う前に、以下を準備する必要があります:
一台の Linux コンピュータ、静的 IP を設定し、192.168.31.2 に設定することをお勧めします(ルーターのデフォルトアドレス範囲と一致)。
ルーターをネットワークケーブルでコンピュータに接続します(直接接続またはスイッチを介して接続し、他の DHCP サービスの干渉を避けることをお勧めします)。
あなたのデバイスに適した公式ファームウェアファイルをダウンロードし、miwifi.bin に名前を変更します。
DHCP + TFTP サービスを提供するために dnsmasq をインストールして設定します。
二、dnsmasq の設定例#
/etc/dnsmasq.conf を編集するか、カスタム設定ファイルを作成します。例えば、/etc/dnsmasq.d/tftp.conf、内容は以下の通りです:
port=0 # DNS機能を無効にし、DHCP + TFTP専用として使用
interface=eno1 # ネットワークインターフェースを設定(ネットワークカード名に応じて変更)
bind-interfaces # インターフェースをバインドし、他のサービスに奪われないようにする
dhcp-range=192.168.31.50,192.168.31.150,12h # IPアドレス範囲を割り当て
dhcp-option-force=66,192.168.31.2 # TFTPサーバーIPを指定(つまり、ローカルIP)
dhcp-boot=miwifi.bin # 起動ファイル名を指定
enable-tftp # TFTPサービスを有効にする
tftp-root=/mnt/tftproot # TFTPルートディレクトリ、ファームウェアをこのパスに置く必要があります
設定が完了したら、dnsmasq サービスを再起動します:
sudo systemctl restart dnsmasq
⚠️ 注意:dnsmasqを設定するこのマシンは、ルーターと同じネットワークセグメントのIP(例:192.168.31.2)に設定する必要があります。そうしないと、ルーターはIPを取得できず、ファームウェアをダウンロードできません。
三、ファームウェアファイルの準備#
http://miwifi.com/miwifi_download.html にアクセスして、Redmi AC2100に適した公式ファームウェアをダウンロードします(一般的に.bin形式)。
解凍後、ファームウェアファイルの名前をmiwifi.binに変更します。
設定したTFTPディレクトリに配置します。例えば、/mnt/tftproot/。
四、ルーターのフラッシュ手順#
ルーターの電源を切り、Resetボタンを押し(針で小さな穴を押す)、電源を入れます。
Resetを約5-10秒間押し続け、インジケーターランプが速く点滅するまで(フラッシュモードに入ったことを示す)保持します。
ルーターは自動的にDHCPを介してIPを取得し、その後TFTPを介してmiwifi.binをダウンロードしてフラッシュします。
全体のプロセスは約2-5分かかり、フラッシュが完了するとルーターは自動的に再起動し、工場出荷時のシステムに戻ります。