開始#
紅米ルーター AX6000 は小米社が発表した中堅無線ルーターです。
搭載されているメディアテック Filogic 830 は、テストの結果、確かに入門レベルのデュアルコアソフトルーターに近いことが確認されました。
ギガビットインターネットのニーズを満たすことができ、性能は非常に強力と言えます。
今回のチュートリアルは、拡張やカスタムファームウェアのインストール(パーティション)ではなく、U-Boot のフラッシュについてです。
U-Boot のフラッシュ部分は比較的楽しいと思いますが、復旧条件が多いので、一つ一つ説明しますので、あなたもできると信じています。
こちらでは、フラッシュにはリスクがあることをお勧めします。遊び心を持って慎重に行動してください!フラッシュする前に、動画を最後まで見てから行動することをお勧めします。
私もブリックになるリスクを冒して、夜通しファームウェアの問題を修正しました。皆さんが踏んだ穴を私が先に踏んでいるので、これが皆さんの一発三連に値しないでしょうか。
準備#
今回使用するもの
- 紅米 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 バージョンのファームウェアを選択すると、システムがダウングレードまたは更新されます。
再起動後、再度管理画面に入ります。
“安全上の理由から、現在のバージョン番号よりも低いファームウェアを選択してアップグレードすることはできません” ## ダウングレード禁止
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
(動画では示されていません)
確認をクリックします。
Tip: この時、U-Boot は LED ライトが点灯しません。ルーターが動作しているか確認するために、コンピュータのネットワークポートが点滅しているか観察してください。reset は数秒間押し続けることができ、15 秒以上押す必要があります!
次に、紅米 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は阿里と腾讯の公共 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 であり、メディアテックの HNAT(ハードウェアアクセラレーション)を開放していないため、少し残念ですが、Lean の大佬たちのサポートを待つ必要があります。
ここでは、DNS キャッシュをオンにし、いくつかの DNS を保持するだけで、私は阿里と腾讯の DNS だけを保持しています。
次に、サービスを開いて UPNP を見つけ、 UPnPとNAT-PMPサービスを起動
にチェックを入れて UPnP を有効にします。
ここで注意が必要です。OpenWrt のポート転送では、Socat を使用して IPv4/v6 のポートを転送できます。
無線部分は簡単に設定し、正常に使用できるのはオープンソースの無線ドライバーであり、クローズドソースではありません。Mesh 機能は無効になっており、LEDE で簡単な Mesh をコンパイルしようとしましたが、すべて失敗しました。
他の機能は自分で研究してください。私はソフトウェアソースもコンパイルしましたので、興味がある方はぜひご覧ください。
私たちが LAN ポートの設定を変更したばかりなので、紅米 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 を使用して紅米 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 ライトが点滅し、電源を抜いて再起動するように指示されます。
電源を抜いて再度挿入し、しばらく待つと元のファームウェアに復元されます。
終了#
今回の動画はここまでです。この紅米 AX6000 のファームウェアにはいくつかの小さな欠点があります。160MHz はまだテストされていないため、皆さん自身でテストしていただく必要があります。また、状態概要に見慣れない 2.5G の eth0 が表示されますが、実際にはインターフェースにバインドされているインターフェースはありません。
総じて、この紅米 AX6000 のパッケージ開発は私にとってそれほど難しくはありませんでした。難しいのはスクリプトが私たちのために処理された部分です。ここで特に感謝したいのは Timochan PR のスクリプトです。また、機械の適合を提供してくれたオーナーにも感謝します。私は結局、x-wrt をフラッシュするか CatWrt をフラッシュするかはあなた次第です。
最後に、私たちの CatWrt をフラッシュした方は、私たちのファングループに参加してください。皆さんのサポートに感謝します。私は喵二です。また次回、家庭データセンターでお会いしましょう。
助け#
ファームウェアのサポートは完璧ではなく、バグが発生することがあります。問題が発生した場合は、下のコメント欄にメッセージを残すか、グループに参加して質問してください。私のファームウェアを使用している場合は、簡単な相談ができます。もし有償であれば、さらに良いです。他の人のファームウェアを使用している場合は、私は関与しません!
たくさんのコメントをお待ちしています (´・・) ノ (._.`)
引用#
動画撮影は @カカの鼓捣日記 に許可されています。
CatWrt の無線ドライバー部分の解答をしてくれた大佬に感謝します。
ハードウェアアクセラレーションに関する部分の解答をしてくれた暗雲の大佬に感謝します。
動画使用:
BGM:
この記事は Mix Space によって xLog に同期更新されています。
元のリンクは https://www.miaoer.net/posts/network/flash-redmi-ax6000