始める#
Redmi ルーター AX6000 は、小米社が発表した中級無線ルーターです。
搭載されている MediaTek Filogic 830 は、テストの結果、確かにエントリーレベルのデュアルコアソフトルーターに近いことが確認されました。
ギガビットインターネットのニーズを満たすことができ、性能は非常に強力です。
今回のチュートリアルは、拡張やフラッシュ(パーティション)ではなく、U-Boot のフラッシュです。
U-Boot のフラッシュ部分は比較的楽しいと思いますが、復元条件が多いので、私が一つ一つ説明すれば、あなたもできると思います。
こちらでは、フラッシュにはリスクがあることをお勧めします。遊ぶ際は慎重に!フラッシュする前に、動画を最後まで見てから実行することをお勧めします。
私もブリックになるリスクを冒して、夜通しファームウェアの問題を修正しました。皆さんが踏んだ穴は私がすでに踏んでいるので、これが皆さんの一発三連に値しないでしょうか。
準備#
今回使用するもの
- Redmi AX6000 無線ルーター
- 2 本のネットワークケーブル
- つまようじ(または SIM カード取り出しピン)
- WinSCP
- Telnet/SSH クライアント
- 小米ルーターファームウェア 1.2.8 バージョン
- CatWrt for Redmi AX6000
復元に必要なもの
- 小米ルーター公式修復ツール
- 小米ルーターファームウェア 1.0.48 バージョン
添付ファイルダウンロード 抽出コード:miao
今回の動画に合わせたファームウェアはすでに更新されています。詳細は CatWrt-v23.8
問題が発生した場合は、以下のブログで回答します(動画で言及されていない) 👇👇👇
ソフトウェアのインストール#
動画ブログで提供された添付ファイルをダウンロードし、解凍して知っている場所に保存します。
Telnet のインストールをデモします。キーボードで Windows のロゴを押し、直接 プログラムの追加と削除
と入力し、 オプション機能 を選択し、下にスクロールして その他のWindows機能
から Telnetクライアント
の横のチェックボックスを選択します。これで Telnet がインストールされました。
添付ファイルの中の WinSCP インストーラーを開き、すべてのユーザーにインストールを選択し、UAC で同意して次へ進むだけです。
ダウングレード#
解除には小米 MiWiFi ファームウェアが 1.2.8 バージョンである必要があります。
小米ルーターのバックエンド (192.168.31.1) で、右上のシステム更新を選択し、次に手動更新をクリックします。
先ほどダウンロードした 1.2.8 バージョンのファームウェアを選択すると、システムが 1.2.8 にダウングレードまたは更新されます。
再起動後、再度バックエンドに入ります。
“セキュリティ上の理由から、現在のバージョン番号よりも低いファームウェアを選択してアップグレードすることはできません” ## ダウングレード禁止
Telnet の解除#
デバッグモードを有効にする#
ブラウザのアドレスバーに http://192.168.31.1/cgi-bin/luci/;stok=1145141919
と入力します。
小米ルーターのアドレスの後ろにある stok をコピーします。ここでは 1145141919
を使用し、ブログで提供されたリンクを置き換えて Enter を押します。
::: banner {info}
ここで右側の COPY ボタンをクリックして迅速にコピーできます。
:::
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
api の出力が {"code":0}
であれば、手順に問題はありません。続けて進めます。
再起動リンクの stok も置き換えます。なぜこうするのかはわかりませんが、チュートリアルがこうなっているのでその通りにします。入力後 Enter を押します。
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
Telnet を有効にする#
マシンが再起動した後、再度小米ルーターのバックエンドに入り、再度 stok をコピーします。再起動後の stok は異なる場合があるので混同しないように注意してください。
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20
api を正常に実行すると、 {"code":0}
が出力されます。次に以下のリンクを置き換えて Enter を押すと、ルーターが再起動します。
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
SSH の解除#
再起動後、Telnet が有効になりました。小米ルーターに接続し、cmd または Windows Terminal(以下、ターミナルと呼びます)で telnet 192.168.31.1
と入力します。
これで Telnet に入ることができ、次に SSH を解除して U-Boot のフラッシュを完了する必要があります。
ここで@Timochan に特別にこのエピソードのために書いていただいた解除スクリプトに感謝します。
以下のコードをマウスで直接 COPY してコピーしてください。横断幕を選択してからコピーする必要はありません。
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/setup.sh && chmod +x setup.sh && ./setup.sh
実行が完了すると、ホストへの接続が失われたというメッセージが表示されます。これが SSH 解除スクリプトの実行成功を示し、再起動されたことを意味します。
再起動後、ターミナルに戻り、 ssh [email protected]
と入力します。
パスワード:
admin
Enter を押し、初回接続時にyes
と入力してキーを保存し、Enter を押します。
これで SSH に入ることができます。
バックアップと U-Boot のフラッシュ#
次に、@hanwckf 大神が修正したコンパイル済みの U-Boot と付属スクリプトを使用します。
元のブートパーティションをバックアップした後、U-Boot をダウンロードします。
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/uboot.sh && chmod +x uboot.sh && ./uboot.sh
完了後、ダウンロードと U-Boot ファイルのハッシュ値の検証、ブートパーティションのバックアップ、メッセージが表示されます。
メッセージに Backup success! Please download it to your computer と表示されれば、バックアップが成功したことを意味します。
WinSCP を使用して小米ルーターに接続します。プロトコルは scp
を選択し、ホストには 192.168.31.1
を入力します。
アカウントは root
、パスワードは admin
です。接続をクリックし、証明書ファイルを保存して信頼します。
デフォルトで /root
ディレクトリに入る場合は、 ..
をダブルクリックしてルートディレクトリに戻ります。
/tmp
ディレクトリに入ると、 mtd4_Factory.bin
と mtd5_FIP.bin
が見えます。この 2 つを選択してコピーするか、直接ドラッグしてローカルディレクトリに移動します。必要な方は別の場所にバックアップしてください。
これは非常に重要です。これがないと小米のオリジナルシステムに戻すことができません!
保存中に U-Boot ファイルを見つけました。実際、U-Boot スクリプトが正常にダウンロードされたかどうかは心配しないでください。ダウンロードに失敗した場合は、関連するエラーが表示されます。
例えば:Error: mt7986_redmi_ax6000-fip-fixed-parts.bin download failed と Error: mt7986_redmi_ax6000-fip-fixed-parts.bin md5 is not correct
次に、U-Boot ファイルをローカルにフラッシュします。ここで、ターミナルに順番に入力する必要があります。これは非常に重要です!
mtd erase FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
出力の参考として、Success と表示されれば問題ありません。内容は完全に一致する必要があります。
root@XiaoQiang:~# mtd erase FIP
Unlocking FIP ...
Erasing FIP ...
root@XiaoQiang:~# mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Unlocking FIP ...
Writing from /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin to FIP ...
root@XiaoQiang:~# mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Verifying FIP against /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin ...
72a110768c7473200b863a3c5d4dd975 - FIP
72a110768c7473200b863a3c5d4dd975 - /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin
Success
root@XiaoQiang:~#
U-Boot#
::: banner {warning}
次のステップでは、ポート 1 が WAN ポートとして、ポート 234 が LAN ポートになります。自動適応はサポートされていません!
コンピュータに接続するネットワークケーブルを 234 の任意の LAN ポートに挿入してください。
:::
次に、U-Boot の静的アドレスを設定する必要があります。
左下の Windows ロゴをクリックし、キーボードで コントロールパネル
と入力して Enter を押します。コントロールパネル - ネットワークの状態とタスクを表示 - イーサネット - プロパティ - インターネットプロトコルバージョン 4 (TCP/IPv4) - プロパティを選択します。
または、Windows の設定で IP の割り当て - 編集 - IPv4 を選択します。
次に、次の IP アドレスを使用するを選択し、順番に入力します。
IP アドレス:192.168.31.2
サブネットマスク:255.255.255.0
ゲートウェイアドレス:192.168.31.1
Windows の設定を使用している場合は、 優先 DNS : 192.168.31.1
を追加する必要があります (動画では示されていません)
OK をクリックします。
Tip: この時、U-Boot は LED ライトが点灯しません。ルーターが動作しているかどうかを確認するために、コンピュータのネットワークポートが点滅しているかを観察してください。reset は数秒間押し続けることができ、15 秒未満ではありません!
次に、Redmi AX6000 の電源を切り、つまようじをルーターの reset ポートに刺し、同時に電源を接続し、心の中で 15 秒間念じてから reset を放します。
これで大神がコンパイルした U-Boot プログラムに入ります。ここでファイルを選択し、私がコンパイルした CatWrt For RedmiAX6000 のファームウェアを見つけます。
フルネームは catwrt-v22.12-mediatek-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin
です。
次に Update をクリックすると、ファームウェアが U-Boot にアップロードされ、フラッシュが行われます。パッケージが互換性があるかどうかを確認します。
最初はここで Update Failed とエラーが表示されましたが、これは非常に正常です。戻って再度ファームウェアをアップロードします。
今回は非常にスムーズにファームウェアがフラッシュされ、Upgrade complete! と LED の白いライトが点灯すれば、U-Boot のフラッシュが完了したことになります。
設定#
::: banner {warning}
U-Boot に入るには静的アドレスを設定する必要があります。OpenWrt に戻るには、静的を DHCP 自動取得に変更する必要があります。
:::
ファームウェアのデフォルトアドレスは 192.168.1.4 です。
ここで、以前設定した静的アドレスを DHCP 自動取得に変更する必要があります。
ブラウザでルーターのバックエンドにログインします 192.168.1.4
アカウントは root
パスワード password
です。
これで CatWrt に入ることができます。
まず、LAN ポートの設定を行います。ネットワーク - インターフェース - LAN - 編集をクリックします。
アドレスは変更しません。良い状態です。
ゲートウェイはローカルアドレス 192.168.1.4
に設定します。
ブロードキャストは 192.168.1.0
に設定します。
DNSは、私は阿里と Tencent の公共 DNS アドレス 119.29.29.99 , 223.5.5.5 に設定します。
IPv6 はデフォルトでオンになっており、DHCP はデフォルトで 50 から始まりますが、私は 20 に変更するのが好きです。人それぞれです。
IPv6 の DNS は 240C::6666
に設定します。
保存して適用します。ローカルアドレスを変更した場合、ルーターが無限に回転する可能性があるため、再起動して再度アドレスバーにローカルアドレスを入力してください。
次に WAN ポートの設定を行います。ネットワーク - インターフェース - WAN - 編集をクリックします。
光ファイバーのモデムでダイヤルアップしている場合は、ここを変更する必要はありません。光ファイバーのモデムをブリッジしてルーターでダイヤルアップしている場合は、ここを PPPoE プロトコルに変更し、プロトコルを切り替えて、ブロードバンドアカウントとパスワードを入力します。
保存して適用します。
次に、設定を最適化します。ネットワークの下にある Turbo ACC ネットワーク加速を見つけます。
PS: 後で暗雲の大佬に相談したところ、ハードウェア加速は移植されており、オープンソースの Flow Offloading に統合されています。ギガビットのパフォーマンス問題について心配する必要はありません。
トラフィックの分散は Flow Offloading であり、MediaTek の HNAT(ハードウェア加速)は開放されていないため、少し残念です。Lean の大佬たちのサポートを待つ必要があります。
ここでは、DNS キャッシュを有効にし、いくつかの DNS を保持するだけで、私は阿里と Tencent の DNS だけを保持しています。
次に、サービスを開いて UPNP を見つけ、 UPnPとNAT-PMPサービスを開始
のチェックボックスをオンにして UPNP を有効にします。
ここで注意が必要です。OpenWrt のポート転送では、Socat を使用して IPv4/v6 のポートを転送できます。
無線部分は簡単に設定し、正常に使用できるのはオープンソースの無線ドライバーであり、クローズドソースではありません。Mesh 機能も無効になりました。LEDE で簡単な Mesh をコンパイルしようとしましたが、すべて失敗しました。
他の機能は自分で研究してください。私はソフトウェアソースもコンパイルしました。興味がある方はご覧ください。
私たちは先ほど LAN ポートの設定を変更したので、Redmi AX6000 を再起動すれば正常に使用できるようになります。
パフォーマンス#
私のところでは、300-400Mbps のブロードバンドインターネットパフォーマンスで、CPU の使用率は 30% 程度です。
CpuMark : 27555.110220 スコアはエントリーレベルのデュアルコアソフトルーターの水準に近いです。
chacha20-poly1305
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
61971.58k | 129798.61k | 262005.95k | 304262.25k | 322272.73k | 320474.33k |
aes-256-gcm
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
98082.86k | 276013.40k | 515196.76k | 663414.10k | 722504.26k | 721534.98k |
4K 動画も簡単に 20w を秒殺できます。
小米のオリジナルファームウェアに戻す#
OpenWrt の機能や無線部分に満足できない場合は、オリジナルシステムに戻すこともできます。
::: banner {error}
U-Boot で他のファームウェアをフラッシュした場合、kmod-mtd-rm が含まれていない可能性があり、パーティションを解除して復元できません。CatWrt v22.12 を使用して復元してください。
:::
パーティションの復元#
まず、WinSCP を使用して Redmi AX6000 に接続します。この時、マシンはまだ私がコンパイルした CatWrt を実行しています。
事前にバックアップした mtd5_FIP.bin パーティションファイルを /tmp ディレクトリにアップロードし、FIP パーティションを解除するコマンドを実行すれば、公式の U-Boot パーティションを復元できます。
insmod mtd-rw.ko i_want_a_brick=1
md5sum /tmp/mtd5_FIP.bin
mtd write /tmp/mtd5_FIP.bin FIP
mtd verify /tmp/mtd5_FIP.bin FIP
その後、電源を切って小米公式修復ツールを使用して修復できます。
小米修復ツール#
小米修復ツールには多くの注意事項があります。まず、Windows Defender ファイアウォールとウイルス対策ソフトを一時的にオフにし、複数のネットワークカードがある場合は余分なネットワークカードを無効にしてください。WAN ポートのネットワークケーブル(ポート 1)と電源ケーブルを抜いてください。
小米公式修復ツールで、事前にダウンロードした公式ファームウェアを選択し、次へ進みます。ネットワークカードは私のところでは 1 つだけなのでそのまま進みます。
次に、つまようじを reset 孔に刺し、電源を接続し、青い LED ライトが点灯してオレンジの点滅に変わるまで長押しし、その後 reset を放します。
しばらく待つとフラッシュポップアップが表示され、進捗が完了するとルーターの青い LED ライトが点滅し、電源を抜いて再起動するように指示されます。
電源を抜いて再接続し、しばらく待つとオリジナルファームウェアに復元されます。
終わり#
今回の動画はここまでです。この Redmi AX6000 のファームウェアにはいくつかの小さな欠点があります。160MHz はまだテストされておらず、皆さんに自分でテストしてもらう必要があります。また、状態概要に見慣れない 2.5G の eth0 が表示されますが、実際にはインターフェースにバインドされているインターフェースはありません。
総じて、この Redmi AX6000 のパッケージ開発は私にとって難しくはありませんでした。難しいのはスクリプトが私たちのために処理された部分で、特に Timochan PR のスクリプトに感謝します。また、購入して機器の適合を提供してくれたオーナーにも感謝します。私は結局、x-wrt をフラッシュするか CatWrt をフラッシュするかは自分次第です。
最後に、私たちの CatWrt をフラッシュした方は、私たちのファングループに参加してください。皆さんのサポートに感謝します。私は喵二です。次回の家庭データセンターでお会いしましょう。
助け#
ファームウェアのサポートは完璧ではなく、バグが発生することがあります。問題が発生した場合は、下のコメント欄にメッセージを残すか、グループに問い合わせてください。私のファームウェアを使用している場合は、簡単な相談が可能です。有償であればなお良しです。他人のファームウェアを使用している場合は無視します!
多くのコメントを残して励ましてください (´・・) ノ (._.`)
引用#
動画撮影は @卡卡的鼓捣日记 に許可されています。
CatWrt の無線ドライバー部分の解答に感謝します。
ハードウェア加速に関する部分の解答に感謝します。
動画使用:
BGM:
この記事は Mix Space によって xLog に同期更新されています。
元のリンクは https://www.miaoer.net/posts/network/flash-redmi-ax6000