Redmi路由器 AC2100にインストールしたOpenWRTを設定する

3Redmi路由器 AC2100にインストールしたOpenWRTを設定する

前回は、Redmi路由器 AC2100 (以下Redmi AC2100)にOpenWRTをインストールしました。今回は、OpenWRTでWi-Fiアクセスポイント(AP)の設定を行います。なお、今回はルーターとしてではなく、あくまでWi-Fiアクセスポイントとしての設定を進めていきます。ルーター(PPPoE)としての設定については、Seeed Studio LinkStar-H28Kで作る超小型OpenWRTルーターの記事で紹介しています。

前回は、Xiaomiの純正ファームウェアの管理画面からエクスプロイト (exploit) を用いてSSHを有効化し、OpenWRTをインストールしました。この作業では、XiaomiのルーターのデフォルトIPアドレスである192.168.31.1にアクセスするため、192.168.31.0/24ネットワーク上の環境で作業を行いました。前回の手順が完了し、システムがOpenWRTのファームウェアに書き換わった後、デフォルトIPアドレスは192.168.1.1に変更されているため、作業を続けるには192.168.1.0/24ネットワークに接続する必要があります。PCとRedmi AC2100のLANポート (LAN1~LAN3のいずれか) をネットワークケーブルで接続し、以下の設定を行います:

  • IPアドレス:192.168.1.2~192.168.1.254
  • サブネットマスク:255.255.255.0
  • デフォルトゲートウェイ:192.168.1.1
  • DNS:設定不要

この設定により、PCが192.168.1.0/24ネットワークに参加できるようになります ("/24"はサブネットマスクのビット数を示し、2進数で11111111111111111111111100000000、ドット付き10進数で255.255.255.0に対応します)。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 14
Redmi AC2100がOpenWRTで起動すると、ログイン画面が表示されます。OpenWRTのデフォルトのUsernameは「root」、パスワードは「password」です。「Log in」ボタンをクリックしてログインします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 15
セキュリティ上、初期パスワードを使用し続けるのは危険です。そのため、新しい管理者パスワードを設定します。黄土色の警告ボックスに「No password set!」と表示されているので、右側の「Go to password configuration...」をクリックしてパスワード設定画面に移動します。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 16
「Router Password」にはOpenWRTの新しい管理者パスワードを設定します。第三者に推測されにくいユニークなパスワードを2回入力し、右側の「Save」ボタンをクリックして保存します。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 17
パスワードの設定が完了すると、くすんだシアン色のボックスに「The system password has been successfully changed」と表示されます。「Dismiss」ボタンをクリックします。「No password set!」の警告表示は残っていますが、無視して問題ありません。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 18
次に、Redmi AC2100を既存のLANに接続します。今回は192.168.0.0/24ネットワークに接続し、IPアドレスを192.168.0.xに設定します。
OpenWRTの初期設定では、デバイスのIPアドレスは192.168.1.1/24に設定されています。このため、ネットワーク設定を変更する必要があります。最上部メニューの「Network」タブをクリックし、「Interfaces」を選択します。
Redmi AC2100の初期状態では、インターフェースとして「lan」、「wan」(IPv4)、「wan6」(IPv6)の3つが表示されます。今回はWi-Fiアクセスポイントとしてのみ使用するため、「wan」と「wan6」の設定は変更せず、使用しません。
LAN設定を変更するため、「lan」の行の右側にある「Edit」をクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 19
設定画面の下部にある「IPv4 address」の項目でRedmi AC2100のIPアドレスを変更します。例えば、192.168.0.64のように設定します。サブネットマスクは初期値で255.255.255.0になっているので、多くの家庭や小規模なオフィス環境では多くの場合は変更の必要はありません。「IPv4 gateway」はLAN内の他のルーター(インターネット接続しているルーター等) のIPv4アドレスに設定します。今回はRedmi AC2100はアクセスポイント専用のデバイスとするため「IPv4 gateway」にRedmi AC2100のIPアドレスを入力しないようにします。
「IPv4 broadcast」にはLAN内の最大アドレスを指定します。LANのサブネットマスクが255.255.255.0の場合、アドレスの最後は255で終わります。例えば、192.168.0.0/24のネットワークでは192.168.0.255を指定します。設定が完了したら、右下の「Save」ボタンをクリックして保存します。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 20
「Interfaces」画面に戻りますが、この時点では変更は保留されています。設定を反映するには、必ず「Save & Apply」ボタンをクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 21
黄色のポップアップが表示されるので「Apply and keep settings」をクリックします。

Redmi AC2100の背面にあるLANポート(LAN1〜LAN3のいずれか)を、ネットワークのLANに接続します(通常はLANのL2スイッチに接続します)。PCのネットワークケーブルをRedmi AC2100のLANポートから外して、ネットワークのLANに接続します(通常はLANのL2スイッチに接続します)。
PCのブラウザでRedmi AC2100のIPアドレスを入力して、管理画面にログインします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 22
管理画面にログインすると、OpenWRTではまずステータス画面が表示されます。画面上部の「Network」タブから「Wireless」(Wi-Fi)項目をクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 23
画面の上半分に「Wireless Overview」が表示され、ここにはWi-Fiの2.4GHz帯と5GHz帯の状態および設定ボタンが表示されます。「802.11b/g/n」は2.4GHz帯、「802.11ac/n」は5GHz帯を指します。画像はWi-Fi設定済みで通信中の状態ですが、OpenWRTの初期設定では「Wi-Fi無効」になっているため、最初はWi-Fiのステータスは空の状態のはずです。2.4GHz帯と5GHz帯のどちらを先に設定しても構いませんが、今回は2.4GHz帯から設定します。「802.11b/g/n」側の「Edit」ボタンをクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 24
2.4GHz帯のチャネル設定を行います。日本では2.4GHz帯で1〜14chが利用可能ですが、14chは日本独自のためハードウエアが非対応なことも多く、Redmi AC2100では使用できません。また、OpenWRTでは国指定を行わないと、利用する国で使用が許されないチャネルも選択できてしまいます。国指定は次の段落で。
画面下半分のInterface Configurationで「General Setup」タブを開き、モードが「Access Point」(初期値)であることを確認します。ESSID(SSIDとも呼ばれ、アクセスポイントの識別名)を入力し、スマートフォンなどのデバイスで表示される名前を入力します。使用可能な文字は半角英数字、記号(ASCII)、および空白(最初と最後を除く)で、32文字以内です。アクセスポイントをリプレイスする場合、交換前のアクセスポイントと同じSSIDとパスワードを設定すると、接続するデバイス側の設定を変更することなく接続ができます。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 25
画面上半分のDevice Configurationに戻り、「Advanced Settings」タブを選択します。
「Country Code」から「JP - Japan」を選択します。これにより、使用できるチャネルが日本で許可されている範囲内に制限されます。2.4GHz帯ではこの設定は重要ではありませんが、後の5GHz帯の設定では必要です。
また、OpenWRTでは未確認ですが、国指定を行うことで、日本で許可された電波強度に調整し適切なDFSに対応するかもしれません。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 26
2.4GHz帯の暗号化設定を行います。
「Wireless Security」タブを選択し、「Encryption」で「WPA2-PSK (strong security)」または「WPA2-PSK/WPA3-SAE Mixed Mode (strong security)」を選択します。接続するすべてのデバイスがWPA3-SAE対応の場合は「WPA3-SAE」を推奨しますが、家庭用なら「WPA2-PSK」で十分でしょう。「Key」にSSIDに対応するPSKを入力します。所謂Wi-Fiのパスワードのことです。
右下の「Save」をクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 27
Wireless Overview画面に戻ります。次は5GHz帯の設定を行います。「802.11ac/n」の「Edit」ボタンをクリックします。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 28
5GHz帯のチャネル選択を行います。5GHz帯にはW52(36, 40, 44, 48ch)、W53(52, 56, 60, 64ch)、W56(100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144ch)があり、今回はDFS(動的周波数選択)の影響を受けないW52帯の36chを選択します。
Redmi AC2100は中国向け製品なので、Xiaomi純正ファームウェアでは日本で利用可能なW53帯とW56帯が使用できず、代わりにW58帯のチャネルが利用できますがそれは日本では使用できません。OpenWRTをインストールすることで、Redmi AC2100でも日本のW53帯およびW56帯が利用できるようになります。また、国指定を行うことで中国向けW58帯のチャネルは選択肢から消えるため、日本国内で間違ってW58帯を使用してしまうというミスがなくなります。
ただし、Redmi AC2100とOpenWRTを使用する場合にW53, W56帯でDFSが適切に動作するかは不明です。

画面下半分のInterface Configurationで「General Setup」タブを開き、モードが「Access Point」(初期値)であることを確認します。ESSID(SSIDとも呼ばれ、アクセスポイントの識別名)を入力し、スマートフォンなどのデバイスで表示される名前を入力します。使用可能な文字は半角英数字、記号(ASCII)、および空白(最初と最後を除く)で、32文字以内です。アクセスポイントをリプレイスする場合、交換前のアクセスポイントと同じSSIDとパスワードを設定すると、接続するデバイス側の設定を変更することなく接続ができます。これは、2.4GHzで設定したときと同じです。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 29
画面上半分のDevice Configurationに戻り、「Advanced Settings」タブを選択します。
「Country Code」から「JP - Japan」を選択します。これにより、使用できるチャネルが日本で許可されている範囲内に制限されます。5GHz帯は国によって利用可能なチャネルが大きく異なるためこの設定は非常に重要となります。日本ではW52, W53, W56のチャネルだけが選択肢に表示されるようになります。また、OpenWRTでは未確認ですが、日本で許可された電波強度に調整し適切なDFSに対応するかもしれません。

5GHz帯の暗号化設定を行います。
「Wireless Security」タブを選択し、「Encryption」で「WPA2-PSK (strong security)」または「WPA2-PSK/WPA3-SAE Mixed Mode (strong security)」を選択します。接続するすべてのデバイスがWPA3-SAE対応の場合は「WPA3-SAE」を推奨しますが、家庭用なら「WPA2-PSK」で十分でしょう。「Key」にSSIDに対応するPSKを入力します。所謂Wi-Fiのパスワードのことです。
ここまで入力したら右下の「Save」をクリックします。(上の画像では「Save」ボタンは見えていません。)

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 30
Wireless Overview画面に戻ります。ここで「Save & Apply」ボタンをクリックします。2.4GHzと5GHzの両方で設定が即時に反映され、再起動せずに使用できます。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 31
画面一番上の「System」タブから「System」項目をクリックします。
「General Setting」タブ(初期値)が選択された状態で、一番下の「Timezone」を設定します。プルダウンメニューから「Asia/Tokyo」を選びます。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 32
「Time Synchronization」タブを選択します。
「Enbale NTP client」にチェックします。これでLAN内またはインターネットのNTPサーバで時刻合わせするようになります。
「Provide NTP server」にチェックします。これでLAN内でNTPサーバになり、LAN内の他のホストから時刻参照を受け付けます。
「NTP server candidates」にLAN内またはインターネットのNTPサーバを登録します。IPアドレスでもFQDNでも良さそうですが、基本的にはLAN内のNTPサーバを参照するようにします。なお、Redmi AC2100のIPアドレスを登録して自身を参照することは避けるべきでしょう。
ここまで設定したら右下の「Save & Apply」ボタンをクリックします。これをしないと設定が反映しません。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 33
画面一番上の「System」タブから「Startup」項目をクリックします。
Startupではシステム起動時に開始するサービスを設定します。家庭用ブロードバンドルーターとして使用する場合、変更する必要はないでしょうが、Wi-Fiのアクセスポイント(AP)として使用する場合は、DNSサーバとDHCPサーバの機能は必要ありません。OpenWRTではそれぞれ「dnsmqsq」「odhcpd」がそのサービスを担っています。この2つのサービスは不要なのでサービスを停止します。それぞれの緑の「Enabled」(有効化済み)と表示されているボタンをクリックして赤の「Disabled」(無効化済み)にします。それぞれその前に「Stop」をクリックするとさらに良いでしょう。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 34
画面一番上の「Status」タブから「Overview」項目をクリックします。
現在の状況を確認します。
メモリの利用率は2/3以下なのでまだ余裕はあるようです。ストレージは使用中が180KiBと表示されているため、これはOpenWRTと(動いてはいませんがXiaomiの純正ファームウエアが入っている)にも関わらず使用量が少なすぎで、明らかに間違っています。

Redmi路由器 AC2100にインストールしたOpenWRTを設定する 35
さらに下にスクロールします。
「Active DHCP Leases」は、Redmi AC2100のDHCPサーバがリースしているIPアドレスを表示する項目です。Redmi AC2100に接続しているWi-Fiデバイス等が表示されるようであれば、DHCPサーバが停まっていません。1つのLANでDHCPサーバが複数動作している状態は問題があるためRedmi AC2100のDHCPサーバをもう一度停止/無効化しなおします。

その下の「Wireless」はしっかり確認します。2.4GHz帯と5GHz帯の両方でそれぞれ指定したチャネルが使用されていること、暗号化設定が指定通りであることを確認します。間違ってもOpen Networkなどになっていないようにします。SSIDも指定したものが正しく表示されていることも確認しておきます。

Redmi AC2100にOpenWRTをインストールすることで、日本国内での5GHz帯でW53およびW56帯域の利用が可能になります。これはXiaomi純正ファームウェアでは不可能なため、オープンソースファームウェアであるOpenWRTのインストールが持つ大きな利点といえるでしょう。OpenWRTはルーター機能のカスタマイズ性やセキュリティ機能も向上させ、ユーザーに柔軟なネットワーク設定の環境を提供します。家庭内のWi-Fiネットワークの強化に加え、ネットワークセキュリティの向上も期待できます。また、Xiaomi純正ファームウエアでは家庭用エントリーWi-Fiルーターにも劣る低機能でしたが、OpenWRTの使用により、Redmi AC2100が高機能なWi-Fiルーター/アクセスポイントへと進化し、さらに自分好みのWi-Fi環境を整備できるようになります。
今回はアクセスポイントということでネットワーク設定は殆ど不要で簡単でしたが、ルーターとして設定する場合は、ネットワークの知識が無い方にとっては扱いが難しい面があります。詳細な設定はウェブのUIでは行えないこともあり、sshでの設定はハードルが高くなります。

関連記事:

Redmi路由器 AC2100にOpenWRTをインストールする

3Redmi路由器 AC2100にOpenWRTをインストールする

Redmi路由器 AC2100 (以下Redmi AC2100)は中国向け専用のWi-Fi 5ルーターです。路由器というのは「ルーター」の中国語です。

約4年前に購入したXiaomiのRedmi AC2100は、当時だけでなく現在でも神コスパなWi-Fi 5ルーターです。このルーターはおそろしく安価でありながら高速な無線通信と安定した動作を見せたため、非常に良い買い物だと感じていました。しかし、中国版の純正ファームウェアには多くの制限があり、日本国内で市販されているエントリーレベルのルーターと比べても機能が乏しいものでした。Wi-Fi 5というのはWi-Fi 6対応デバイスが増える中では中途半端でした。さらに中国との謎の通信も気になりました。そこで、1回の技適の特例制度の届け出で利用可能な6ヶ月(以内)で、使用を中止することになりました。その後、Redmi AC2100は我が家の四次元押し入れの住人になりほとんど忘れ去られた存在となっていました。

そんな中、約3年半使い続けていたWi-Fiアクセスポイント(AP)が故障し、新しいWi-Fiルーターが届くまでの短期の中継ぎとしてこのRedmi AC2100が再び活躍する機会を得ることとなりました。しかし、再度押し入れにしまう前に、この機会を利用してXiaomi純正ファームウェアをOpenWRTに書き換えてみようと考えました。既に新しいWi-Fiルーターが稼働しているため、たとえこの試みが失敗しても全く問題ありません。もしOpenWRTへの書き換えが成功すれば、今後のWi-Fiルーター購入の際にXiaomiのルーターを再度選択肢に加えることも検討できるでしょう。現在では、Wi-Fi 6対応のXiaomi AX3000Tが神コスパモデルです。また、Wi-Fi 7対応モデルではXiaomi BE3600やBE5000がコスパの良い選択肢です。ただし、現時点ではOpenWRTがこれらのWi-Fi 7モデルに対応していなくて、今後の対応の有無も不明なため、購入するには時期尚早といえます。

今回は、Redmi AC2100をルーターとしてではなく、Wi-Fiアクセスポイント(AP)として使用します。市販されている家庭用ブロードバンドルーターで言うところの「ルーターモード」ではなく「APモード」に設定することを意味します。この設定では、LAN内にインターネット接続を提供している別のルーターが存在することが前提となります。Redmi AC2100背面のLAN1、LAN2、LAN3ポートは、L2スイッチとして動作するため、Redmi AC2100全体では有線と無線を混在させたL2スイッチのような役割を果たします。一般的な家庭用ルーターでは、WANポートにインターネット接続を、LANポートにPCやプリンターなどのデバイスを接続しますが、今回はL2スイッチのような使い方なのでWANポートは使用しません。

設定後の運用時点では、インターネットにつながるルーターやLANのスイッチと接続するためのLANケーブルは、Redmi AC2100のLAN1、LAN2、LAN3のいずれかのポートに接続します。LAN1〜LAN3の空きポートには、PCやネットワーク対応の周辺機器を接続して利用することができます。このように接続することで、Redmi AC2100のネットワーク設定の手間を大幅に省くことができるため、OpenWRTを利用したWi-Fi APの構築は非常に簡単になります。
なお、どうしてもWANポートを使用したい場合は、ブリッジ接続などの追加設定を行うことで利用可能になりますが、設定が複雑になるため、今回は試していません。Xiaomiの純正ファームウエアや市販されている家庭用ブロードバンドルーターの「APモード」ではWANポートを使うことがありますが、それはブリッジ設定です。

Redmi路由器 AC2100にOpenWRTをインストールする 1
Redmi AC2100の背面です。今回は設定用PCやLANとの接続はすべて右側3つのLAN1〜LAN3を使用します。WANポートは使用しません。

Redmi路由器 AC2100にOpenWRTをインストールする 2
ブラウザで https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100 を開き、ファームウエアのファイル2つをダウンロードします。2つのファイルのどちらかを選択するのではなく、カーネルファイルとfootfsファイルの両方が必要です。なお、ページを開くのには時間がかかることがあります。また、Redmi AC2100のファームウエアの対応バージョンを確認し、Redmi AC2100のXiaomi純正ファームウエアのバージョンが合わないなら純正ファームウエアを新しいバージョンに更新するか、必要に応じて古いバージョンにロールバックします。(ファームウエアの確認/更新/ロールバックについては手順/画像はありません)

Redmi路由器 AC2100にOpenWRTをインストールする 3
Redmi AC2100の背面にあるリセット穴に細い棒を差し込んで内部のタクトスイッチを10秒以上長押ししてファクトリーリセットします。Redmi AC2100のようにリセットスイッチが穴の中にあるモデルの場合はスマートフォンのSIMカードトレーをイジェクトさせるためのピンのような直径1mm程度の金属の棒を使います。リセットスイッチを長押ししてファクトリーリセットがかかると筐体上面のLDEインジケーターの光り方が変わります。ファクトリーリセット後はピンを抜いてそのまま2分程度待ちます。
ファクトリーリセットしたらXiaomiのルーターのIPアドレスは192.168.31.1になります。LAN1〜LAN3のどれかにPCを有線接続してPC側のネットワーク設定を行います。PCのIPアドレスを192.168.31.2〜192.168.31.254までのどれか、サブネットマスクを255.255.255.0、デフォルトルートを192.168.31.1にします。DNSは設定不要です。
PCのネットワーク設定完了後、そのPCのブラウザで192.168.31.1を開きます。上の画像のような表示が出ればここまで間違っていません。
「马上体验」(今すぐ試してください)というボタンをクリックします。

Redmi路由器 AC2100にOpenWRTをインストールする 4
Wi-Fiの設定画面が表示されます。上の画像ではSSIDが「Redmi_A205」です。今回はWi-Fiを使わないため変更不要です。その下に新しいWi-FiのPSK(パスワード)を入力します。ここで入力したパスワードがルーターの管理者パスワード(仮)にもなります。今回は「12345678」のような簡単なものにするのが無難です。
画面下部の「下一歩」をクリックします。

Redmi路由器 AC2100にOpenWRTをインストールする 5
2.4GHz帯と5GHz帯のそれぞれでSSIDとPSKが表示されます。この画面はこれで行き止まりです。(次)

Redmi路由器 AC2100にOpenWRTをインストールする 6
PCのブラウザで192.168.31.1にアクセスし直します。
Redmi AC2100(Xiaomiの中国語版共通)のログイン画面が表示されるので先に登録したWi-FiのPSKを入力します。先程「12345678」を登録したならそれです。

Redmi路由器 AC2100にOpenWRTをインストールする 7
Redmi AC2100の管理画面が表示されます。その状態で[F12]キーを押して、ブラウザのデベロッパーツールを表示します。画像はChromeブラウザです。デベロッパーツールの「コンソール」タブを選択します。このブラウザ画面はこのまま閉じません。

Redmi路由器 AC2100にOpenWRTをインストールする 8
別のブラウザ画面で、https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100を開きページを少し下にスクロールし、「Obtain SSH Access using a Web Exploit」というセクションで「Using JavaScript in the web console」タブを表示します。そこにあるJavascriptコードをすべてコピーします。
このJavascriptを使う方法ではブラウザのURLから &stok=*****の文字列を取得・入力する必要はありません。

Redmi路由器 AC2100にOpenWRTをインストールする 9
Redmi AC2100の管理画面を表示しているブラウザに戻ります。デベロッパーツールのコンソール画面にコピーしたJavascriptコードを貼り付けます。
ブラウザから警告と許可を求めるメッセージが出た場合は許可する方向でメッセージに従います。画像では、「貼り付けを許可」と入力するように求められるためそのように入力して[Enter]キーを押します。

Redmi路由器 AC2100にOpenWRTをインストールする 10
貼り付けたコードが表示されます。この時点で貼り付けたコードが実行されていますが、コピペしたコードの最後の行「enableSSH();」の後に改行コードが付いていないためenableSSH();が実行されない状態で停まります。[Enter]キーを押してenableSSH();を実行します。ブラウザの上部にポップアップ小窓が出現し、「Input new SSH password」と表示されるので先程登録した管理者パスワード(上記の例では12345678を入力して「OK」をクリックします。
これで、これまで利用できなかったRedmi AC2100へのSSHログインが可能になります。

Redmi路由器 AC2100にOpenWRTをインストールする 11
PCのターミナルを開き、ssh root@192.168.31.1 でRedmi AC2100にSSH接続します。
ただし、最近のOpenSSHではSHA-1ハッシュアルゴリズムを使用したRSA署名が無効になっているためエラーになることがあります。上の画像の上段では、「no matching host key type found. Their offer: ssh-rsa」と表示され接続に失敗しました。
ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa root@192.168.31.1 のようにすることで回避できます。
パスワードを求められたら前述のパスワード(今回は12345678)を入力して[Enter]を押します。「ARE U OK」というASCII ARTが表示され、root@XiaoQiang:~# が表示されたらSSHログインに成功です。ここで、ターミナル画面は一旦このままにします。(次)

次にscpでファームウエアファイルをRedmi AC2100に転送します。scpなので、内部的にOpenSSHを使用します。つまり、1つ前の手順と同じくSHA-1ハッシュアルゴリズム云々が影響します。OpenWRTのドキュメントでは以下のようになっていますが、これはそのままでは機能しないことがあります。(ドキュメントではファイルのバージョンも違います)
scp openwrt-23.05.3-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin root@192.168.31.1:/tmp
scp openwrt-23.05.3-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin root@192.168.31.1:/tmp
実行してみると、以下のようにエラーになります。
scp openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin root@192.168.31.1:/tmp
Unable to negotiate with 192.168.31.1 port 22: no matching host key type found. Their offer: ssh-rsa
scp: Connection closed
~/.ssh/configに以下の3行を追加します。
Host old-host
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

Redmi路由器 AC2100にOpenWRTをインストールする 12
実行してみると、

$ scp openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin root@192.168.31.1:/tmp
ash: /usr/libexec/sftp-server: not found
scp: Connection closed
このようにエラーになることがあります。最近のscpはSFTPプロトコルを使うように変更されていて、Xiaomiのルーター側が対応していないためのようです。
これは、-O(大文字のオー)オプションを追加することで対応可能です。

scp -O openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin root@192.168.31.1:/tmp
scp -O openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin root@192.168.31.1:/tmp
これでカーネルファイルとrootfsファイルがRedmi AC2100に転送されます。

Redmi路由器 AC2100にOpenWRTをインストールする 13
前述のRedmi AC2100にSSH接続していたターミナルに戻ります。Redmi AC2100で5行のコマンドを実行します。(次)

nvram set uart_en=1
nvram set boot_wait=on
nvram set bootdelay=5
nvram set flag_try_sys1_failed=1
nvram commit

/tmpディレクトリに先に転送したファームウエアの、カーネルファイルとrootfsファイルが存在することを確認します。

# cd /tmp
# ls
ファイルリストが表示されるのでその中に openwrt-***-kernel1.binopenwrt-***-rootfs0.bin が存在すれば問題ありません。

ファームウエアの2ファイルを展開して書き込みます。

# mtd write openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin kernel1
# mtd -r write openwrt-23.05.4-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin rootfs0

コマンド実行後に自動的に再起動するので再起動後安定するまで5分待つということになっています。

これで、Redmi AC2100ルーターへのOpenWRTファームウエアの書き込みは完了です。落ち着いて1つ1つの手順を確実に実行していけば、まったく難しいものではないことがわかりました。
次回は、OpenWRTでWi-Fiの設定を行いWi-Fiアクセスポイントにします。

関連記事:
Up