[教學] 用 OpenWRT 做「真」 Wi-Fi 漫遊 (Wi-Fi Roaming)

這個功能屬於偏進階功能,OpenWRT 有一定的專業性,
如果實在不知道怎麼做,請不要貿然嘗試

得利於 OpenWRT 第三方韌體,
可以在家用設備上有做出商用等級才有的功能,
由衷的讚嘆開源的偉大

什麼是 WiFi 漫遊 (Wi-Fi Roaming)?

問題痛點

你可能會遇到類似的情境,
當你有二顆以上的 Wi-Fi AP 路由器,來覆蓋不同的區域,
但你只要一組 SSID 就好(先討論 2.4GHz 與 5GHz 分開的情況)

你可能會先下意識的把主要路由器與子機路由器,設定了同一組 Wi-Fi SSID 與密碼。
主要 Wi-Fi AP 路由器(下稱主機)連上 ADSL,
其他顆 Wi-Fi AP 路由器(下稱子機)插上 LAN 網路線,關閉 DHCP Server,二台路由器變成一個內網。

但,這樣雖然可以用,但不完美。

假設裝置連接上第一顆 Wi-Fi,
如果裝置移動了,
離開第一顆 Wi-Fi AP 的範圍,進入第二顆 AP 的範圍,
裝置會斷線 AP 再重連接入第二顆 AP 路由器,
雖然接上也是同一個網路,但這會造成有點惱人的小問題。

這個時候你就需要 802.11r802.11k/v
Wi-Fi Roaming 技術來「無縫」在不同 Wi-Fi AP 間切換。

802.11r(快速漫遊)

802.11r 又稱為「快速 BSS 轉換」(Fast BSS Transition, FT),主要解決無線裝置在不同存取點(AP)間切換時的延遲問題。傳統漫遊需重新進行完整的 802.1X 認證,可能耗時數百毫秒,導致語音或視訊通話中斷。802.11r 透過預先快取金鑰並簡化握手程序,將漫遊時間縮短至 50 毫秒以下,確保即時應用不受影響。此標準對企業環境中需要無縫移動的 VoIP 電話、視訊會議設備特別重要。

802.11k/v(智慧漫遊輔助)

802.11k(無線資源管理)讓 AP 向用戶端提供鄰近 AP 的資訊清單,使裝置能更快找到最佳切換目標,減少掃描所有頻道的時間與電力消耗。

802.11v(無線網路管理)則允許網路主動建議用戶端切換至負載較輕或訊號更佳的 AP,實現負載平衡並優化整體網路效能。

兩者常搭配 802.11r 共同運作,形成完整的智慧漫遊解決方案,提升大型無線網路的使用體驗。

配置

假設你的 Wi-Fi 路由器配置是這樣

  • 主要 Wi-Fi AP 路由器主機 (192.168.1.1): WAN 孔連接著 ADSL 網路,DHCP Server 開啟
  • 第二顆 Wi-Fi AP 路由器子機 (Dumb AP) (192.168.1.2): 主要延伸 主機 Wi-Fi 的訊號與範圍,
    DHCP Server 關閉(DHCP 純靠主要 AP 路由器)

操作步驟

第一步:更換驅動套件 (一定要做)

這邊我推薦用 ssh 操作,不然在更換套件可能會遇到斷線問題比較麻煩

  • 注意:移除時 WiFi 會斷線,建議使用電腦接網路線操作,或者操作完後重啟路由器。

ssh 的做法

OpenWrt 預設安裝的 wpad-basicwpad-mini
不支援 完整的 802.11r/k/v 功能或 LuCI 選項。
必須先更換套件,換成全功能的版本。

請在「主機」與「子機」上都執行:

電腦分別用 ssh 連接路由器

ssh [email protected]
ssh [email protected]

更新套件清單

opkg update 

查詢套件

opkg list-installed | grep wpad

記錄一下細節

# opkg list-installed | grep wpad
wpad-basic-mbedtls - 2025.08.26~ca266cc2-r1

我們主要目標是要找到 wpad-basicwpad-basic-wolfsslwpad-mini
我這邊是找到 wpad-basic-wolfssl 這個套件,
那我們用 wpad-wolfssl 套件取代它,
二個套件會衝突,不可同時安裝,所以在 ssh 指令列裡面做事比較方便。

我們移除 wpad-basic-mbedtls 套件,改安裝 wpad-wolfssl 套件

opkg remove wpad-basic-mbedtls && opkg install wpad-wolfssl

記錄一下細節

# opkg remove wpad-basic-mbedtls && opkg install wpad-wolfssl
Removing package wpad-basic-mbedtls from root...
Installing wpad-wolfssl (2024.09.15~5ace39b0-r2) to root...
Downloading https://downloads.openwrt.org/releases/24.10.4/packages/mipsel_24kc/base/wpad-wolfssl_2024.09.15~5ace39b0-r2_mipsel_24kc.ipk
Installing libwolfssl5.7.6.e624513f (5.7.6-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.4/packages/mipsel_24kc/base/libwolfssl5.7.6.e624513f_5.7.6-r1_mipsel_24kc.ipk
Configuring libwolfssl5.7.6.e624513f.
Configuring wpad-wolfssl.

再查詢一次,就是我們需要的套件了

# opkg list-installed | grep wpad
wpad-wolfssl - 2024.09.15~5ace39b0-r2

備註:新版 24.10 之後與 SNAPSHOTS 版本,
opkg 套件管理器改成用 apk 套件管理器了

查詢套件

apk info | grep wpad

記錄一下細節

# apk info | grep wpad
WARNING: opening from cache https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/kmods/6.12.67-1-aa4948ece684816486d1fa5040ce0bb3/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/packages.adb: No such file or directory
WARNING: opening from cache https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/video/packages.adb: No such file or directory
wpad-basic-mbedtls

(這些 WARNING 可以先不用理會,關注在搜尋結果即可)

移除wpad-basic-mbedtls 套件,改安裝 wpad-wolfssl 套件

apk del wpad-basic-mbedtls && apk add wpad-wolfssl

記錄一下細節

# apk del wpad-basic-mbedtls && apk add wpad-basic-wolfssl
(1/1) Purging wpad-basic-mbedtls (2025.08.26~ca266cc2-r1)
  Executing wpad-basic-mbedtls-2025.08.26~ca266cc2-r1.pre-deinstall
OK: 22.4 MiB in 159 packages
(1/2) Installing libwolfssl5.8.4.e624513f (5.8.4-r1)
  Executing libwolfssl5.8.4.e624513f-5.8.4-r1.post-install
(2/2) Installing wpad-wolfssl (2025.08.26~ca266cc2-r1)
  Executing wpad-wolfssl-2025.08.26~ca266cc2-r1.post-install
OK: 25.3 MiB in 161 packages

安裝完成後,記得要 重啟路由器
不然新的選單不會出現。

LuCI 網頁管理做法

  1. 登入 LuCI,進入 System (系統) -> Software (軟體)
  2. 點擊 Update lists (更新清單)
  3. 在 Filter 搜尋 wpad
  4. 移除 wpad-basicwpad-basic-wolfsslwpad-mini (看你原本裝哪個)。
    • 注意:移除時 WiFi 會斷線,建議使用電腦接網路線操作,或者操作完後重啟路由器。
  5. 安裝 wpad (通常是指向 wpad-wolfsslwpad-openssl 的完整版)。
    • 推薦安裝 wpad-openssl (或 wpad-wolfssl)。
  6. 安裝完成後,記得要 重啟路由器
    不然新的選單不會出現。

第二步:設定 802.11r (Fast Transition)

現在進入 LuCI 設定漫遊參數。請在「主機」和「子機」的 2.4GHz5GHz 介面都要做一樣的設定。

  1. 進入 Network (網路) -> Wireless (無線)
  2. 對你的 SSID 點擊 Edit (編輯)
  3. 切換到 Wireless Security (無線安全) 分頁。
  4. 確認 Encryption (加密模式)WPA2-PSK (相容性最好) 或 WPA2/WPA3 Mixed(這邊要每台都一致)。

WLAN roaming 頁籤裡

設定以下參數:

  • 勾選 802.11r Fast Transition (啟用快速切換)。
    (Enables fast roaming among access points that belong to the same Mobility Domain)

  • Mobility Domain (行動網域): 輸入一個 4 位數的十六進位碼,例如 4f57
    (4-character hexadecimal ID)
    關鍵點: 主機和子機必須設定 完全一樣 的代碼。

  • Reassociation Deadline: 保持預設值 (通常是 1000) 即可。
    (time units (TUs / 1.024 ms) [1000-65535])

  • FT Protocol (FT 協議): 選擇 FT over the Air (相容性較佳)。

  • 勾選 Generate PMK locally (本地生成 PMK)
    (When using a PSK, the PMK can be automatically generated. When enabled, the R0/R1 key options below are not applied. Disable this to use the R0 and R1 key options.)
    說明:勾選後路由器會自動處理金鑰,不需要手動輸入繁瑣的 R0KH/R1KH 列表。

點擊 Save (儲存)


第三步:啟用 802.11k 與 802.11v (輔助漫遊)

這兩個標準能幫助手機「提早」知道何時該切換,以及該切換到哪裡,避免手機死抓著遠處的訊號不放。

file

在同一個 在 WLAN roaming 頁籤裡 頁面中:
(需安裝完整版 wpad 才會出現這些選項)

802.11k (RRM) 的部分

  • 勾選 802.11k RRM
    (Radio Resource Measurement – Sends beacons to assist roaming. Not all clients support this.)
  • 勾選 Neighbour Report (預設會勾)
    (802.11k: Enable neighbor report via radio measurements.)
  • 勾選 Beacon Report (預設會勾)
    (802.11k: Enable beacon report via radio measurements.)

802.11v (WNM/BSS Transition) 的部分

  • (選填)勾選 WNM Sleep Mode (省電功能)。
    (802.11v: Wireless Network Management (WNM) Sleep Mode (extended sleep mode for stations).)

  • 勾選 BSS Transition
    (802.11v: Basic Service Set (BSS) transition management.)

最後按 Save & Apply (儲存並套用)


第四步:檢查頻道與功率 (最佳化)

為了避免干擾並讓漫遊更順暢:

  1. 頻道 (Channel):

    • 主機與子機的 SSID、密碼、加密方式、Mobility Domain 都要一樣
    • 但是 頻道 (Channel) 建議錯開
    • 例如:主機 2.4G 設 Ch 1,子機 2.4G 設 Ch 6。主機 5G 設 Ch 36,子機 5G 設 Ch 44。
    • 原因:若頻道相同,重疊區域的訊號會互相干擾,反而影響漫遊體驗。
  2. 發射功率 (Transmit Power):

    • 不要盲目調到最大 (Max)。
    • 適度降低功率(例如設為 20dBm 或 auto),讓兩個 AP 的訊號覆蓋範圍有適當的重疊(約 15-20%),但不要重疊太多,這樣手機才會願意切換。

總結檢查清單

設定項目 主機 (Master) 子機 (Slave) 備註
軟體套件 wpad-wolfssl wpad-wolfssl 必須移除 basic 版,改安裝 full 版
SSID MyWiFi (範例) MyWiFi (範例) 必須相同
密碼 xxxxxxxx xxxxxxxx 必須相同
802.11r 啟用 啟用
Mobility Domain 4f57 (範例) 4f57 (範例) 必須相同
FT Protocol FT over the Air FT over the Air
頻道 (Channel) 1 (範例) 6 (範例) 建議不同

設定完成後,當你在兩個 AP 之間移動時,手機應該會顯示 WiFi 訊號滿格但不會斷線重連(不會出現 4G/5G 圖示),這就代表漫遊成功了。

若不換套件,只有 wpad-basic 套件能做到什麼程度?

簡單來說:只能做到「同名 WiFi」,無法做到「漫遊」。

如果你只保留預設的 wpad-basic,因為它閹割了 802.11r/k/v 協議的支援,你的網路狀況會變成這樣:

  1. 黏滯效應 (Sticky Client): 手機連著客廳的主機,當你走到臥室(子機旁)時,即使客廳訊號只剩一格、臥室訊號滿格,手機依然會死抓著客廳的訊號不放,直到完全斷線才會切換。
  2. 切換會斷線: 當手機終於決定切換時,因為沒有 802.11r 的快速握手協議,手機必須重新執行完整的 4 次握手驗證。這會導致 3~5 秒的網路中斷(Line 通話會斷掉、遊戲會掉線、影片會轉圈圈)。
  3. 若不換 wpad 完整版,你設定相同的 SSID 意義不大,體驗會很差。強烈建議一定要更換。

Troubleshooting:如果路由器無法上網更新套件

如果你的 AP 路由器的症狀是「下面連接的電腦能上網(因為封包透過 Switch 直接轉發給主機),但路由器自己不能上網」。
這是因為你的 缺了「閘道器 (Gateway)」和「DNS」的設定

因為你是用 LAN 接 LAN,OpenWrt 預設認為 LAN 是內部網路,通常不會去設定 Gateway。
你必須手動告訴 AP 路由器:「如果要下載軟體,請找主機幫忙。」

假設你的 主機 (Main Router) 的 LAN IP 是 192.168.1.1

修改子機的 LAN 設定

  1. 登入子機的 LuCI。

  2. 進入 Network (網路) -> Interfaces (介面)

  3. 找到 LAN,點擊 Edit (編輯)

  4. General Settings (一般設定) 頁面中,確認以下設定:

    • IPv4 address (IPv4 位址): 應該已經設為固定 IP (例如 192.168.1.2),這是正確的,不要動它
    • IPv4 gateway (IPv4 閘道器): 這裡目前應該是空的,請填入主機 IP (例如 192.168.1.1)。
    • IPv4 broadcast (IPv4 廣播): 留空即可。
    • Use custom DNS servers (使用自訂 DNS 伺服器): 這裡也很重要。請填入主機 IP (192.168.1.1) 或者 Google DNS (8.8.8.8)。
    • 如果不填 DNS,路由器雖然連得到網路,但無法解析 downloads.openwrt.org 的網址,一樣無法安裝軟體。
  5. (選用檢查) 往下滑到 DHCP Server,確認它是勾選 Ignore interface (忽略介面/停用)

  6. 點擊 Save (儲存)

套用並測試

  1. 點擊右上角的 Save & Apply (儲存並套用)
    • 注意:如果你的子機 IP 和電腦不在同網段,改完可能會連不上管理頁面,請確保電腦 IP 是自動取得或手動設為同網段。
  2. 進入 Network -> Diagnostics (診斷)
  3. 點擊 Ping (預設是 openwrt.org)。
  4. 如果有看到類似 64 bytes from ... 的回應,代表子機已經可以自己上網了!

Troubleshooting:如果路由器跳出 SSL verify error

如果你的 AP 路由器跳出這個錯誤:

SSL verify error: unknown error

這個錯誤在 OpenWrt 的子機(AP 模式)上非常常見。

這通常不是網路不通,而是因為路由器的 「系統時間」跑掉了

原因說明

OpenWrt 路由器通常沒有內建電池,斷電重啟後時間會重置(例如回到 2018 年或 1970 年)。
當你執行 opkg update 時,系統會檢查軟體源伺服器的 SSL 安全憑證。但憑證都有「有效期限」,
如果你的路由器認為現在是 1970 年,它會判定伺服器的憑證「尚未生效」,因此報錯並拒絕連線。

解決方式:透過 LuCI 同步瀏覽器時間

這是最快讓時間恢復正常的方法,不需要打指令。

  1. 登入子機的 LuCI 介面。
  2. 進入 System (系統) -> System (系統)
  3. 找到 System Properties (系統屬性) 區塊。
  4. 你會看到 Local Time (本地時間) 可能顯示一個舊的日期。
  5. 點擊旁邊的 Sync with browser (與瀏覽器同步) 按鈕。
  6. 確認時間變正確後,點擊 Save & Apply
  7. 再次嘗試執行 opkg update,應該就正常了。

解決方式:修正 NTP 設定

為了避免下次重開機又發生一樣的問題,你需要讓子機知道去哪裡自動對時。

  1. 進入 System (系統) -> System (系統) -> Time Synchronization (時間同步)
  2. 勾選 Enable NTP client (啟用 NTP 客戶端)
  3. NTP server candidates (NTP 伺服器候選):
    • 因為 DNS 可能還沒完全穩,建議加入你的 主機 IP (例如 192.168.1.1) 作為第一順位 (前提是主機有開 NTP 服務,OpenWrt 主機預設都有開)。
    • 或者加入 Google 的 NTP IP:216.239.35.0

參考資料

https://openwrt.org/docs/guide-user/network/wifi/roaming

[教學] TOTOLINK X6000R 路由器刷機 OpenWRT 完整指南

之前有寫過一篇 TOTOLINK X5000R 的刷機介紹,
X5000R 刷機幾乎沒有難度可言,原廠網頁管理介面的韌體更新直接上傳 OpenWRT 就可以了。

本來以為一切會跟之前一樣很順利的,
結果還是大意了。
把曲折的過程記錄一下,
這種久久做一次的東西容易忘記。

還是要提醒:

刷機有風險,而且有一定的專業性,而且會有破壞保固的可能,
本文不承擔任何操作的風險。


硬體規格與晶片組資訊

TOTOLINK X6000R 採用 MediaTek 的 Filogic 820 平台,
這是 Wi-Fi 6 AX3000 級別路由器設計的整合型晶片方案。
MT7981B 使用雙核心 ARM Cortex-A53 處理器,運行頻率 1.3GHz
採用 12nm 製程,整合了乙太網路和 WiFi 功能。

組件 規格
SoC/CPU MediaTek MT7981B (Filogic 820),雙核 ARM Cortex-A53 @ 1.3GHz
記憶體 256MB DDR3
快閃記憶體 16MB SPI NOR (EON EN25QX128A)
2.4GHz WiFi MT7981BA + MT7976CN,802.11ax,2×2 MIMO,574Mbps
5GHz WiFi MT7981BA + MT7976CN,802.11ax,2×3 MIMO,2402Mbps
乙太網路交換器 MediaTek MT7531AE,5 埠 Gigabit
網路埠 1 WAN + 4 LAN (全 Gigabit)
電源 12V DC,1A

WiFi 功能方面,X6000R 支援 160MHz 頻寬1024-QAM 調變、MU-MIMO、OFDMA、Beamforming 和 TWT 節能技術。四根外接天線(1 雙頻 + 1 2.4GHz + 2 5GHz)提供 TOTOLINK 所謂的「Xtra Range Technology」延伸覆蓋範圍。


OpenWRT 官方支援狀態

支援狀態:已正式支援

TOTOLINK X6000R 的 OpenWRT 支援已於 2025 年 9 月 21 日 透過 Pull Request #20035 合併到主線程式碼庫。

https://github.com/openwrt/openwrt/pull/20035

https://openwrt.org/toh/hwdata/totolink/totolink_x6000r
https://openwrt.org/toh/totolink/x6000r

記錄一下原出廠的韌體版本號: V9.4.0cu.1429 (2025-4-08 10:11:18)
這個版本可能在原廠韌體下載網頁被拿掉了,但這個版本可以進入救援模式,
其他版本不確定


原廠網頁介面升級(無法使用)

這是最簡單的刷機方式,適用於路由器正常運作且能進入原廠管理介面的情況。
以前可以(這也是我為何這麼推薦的原因),但這步已經被封掉了。

使用 TOTOLINK 網頁救援模式

事前準備:

  • 下載 OpenWRT sysupgrade 映像檔(安裝用)或 OEM 原廠韌體(還原用)
  • 一條乙太網路線

詳細步驟:

  1. 從 OpenWRT 韌體下載 *-sysupgrade.bin 映像檔

撰寫文的時候的正式版是 24.10.5

https://downloads.openwrt.org/releases/24.10.5/targets/mediatek/filogic/openwrt-24.10.5-mediatek-filogic-totolink_x6000r-squashfs-sysupgrade.bin

檔名為 openwrt-24.10.5-mediatek-filogic-totolink_x6000r-squashfs-sysupgrade.bin

這個版本在 TOTOLINK X6000R 實測 Wi-Fi 不正常,等待新版本修復。

請改用 SNAPSHOT 版本

https://downloads.openwrt.org/snapshots//targets/mediatek/filogic/openwrt-mediatek-filogic-totolink_x6000r-squashfs-sysupgrade.bin

檔名為 openwrt-mediatek-filogic-totolink_x6000r-squashfs-sysupgrade.bin

注意是要下載 -sysupgrade.bin 而不是另外一個

  1. 設定電腦網路

    • IP 位址:192.168.1.10(或任意 192.168.1.2-254)
    • 子網路遮罩:255.255.255.0
    • 閘道:192.168.1.1
  2. 單接網路線到該路由器任意 LAN 孔

  3. 持續的 ping 查看路由器存活

Windows 可以用 命令提示字元 (cmd) 打上 ping

ping -t 192.168.1.1

Mac/Linux 的 Terminal

ping 192.168.1.1
  1. 進入恢復模式 (Recovery Mode)

    • 設定電腦 IP: 192.168.1.100
    • 子網路遮罩 NetMask: 255.255.255.0

打開 ping 持續 ping 192.168.1.1

Windows 使用 ping -t,Mac/Linux 使用 ping

ping -t 192.168.1.1
ping 192.168.1.1

步驟如下:

  1. 拔除電源(斷電),
  2. 用迴紋針按住 Reset 鍵不放並插電,
  3. 看到 LED 藍紅閃爍後,整個 LAN 綠色 LED 燈亮起(大約 6 秒後)
  4. 釋放 RESET 按鈕

如果成功的話,會進入恢復模式 (Recovery Mode)
ping 原本不通的,變成會通

  1. 瀏覽網頁 http://192.168.1.1
    只有一個醜醜的網頁介面(甚至是簡體字的…但毋須在意,之後就刷機刷掉了)

  1. 上傳 OpenWRT sysupgrade 映像檔

  1. 等待約 5 分鐘左右,路由器將自動重啟

  1. 重啟後以 http://192.168.1.1 存取 OpenWRT(使用者為 root,無密碼)

使用 SNAPSHOT 韌體注意事項

SNAPSHOT 韌體他預設預覽版是沒有安裝 luci 網頁管理介面的,
(只開了一個 ssh port 而已)
所以瀏覽 http://192.168.1.1完全沒有反應
我們用以下步驟來安裝 luci 網頁管理介面,來修正這件事情

記得 WAN 插入現有網路,讓路由器可以上網。

使用 ssh 登入

ssh [email protected]

預設沒有密碼,會直接登入

記錄一下

BusyBox v1.37.0 (2026-01-02 17:07:02 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r32804-ac8b5526bc
 -----------------------------------------------------

 OpenWrt recently switched to the "apk" package manager!

 OPKG Command           APK Equivalent      Description
 ------------------------------------------------------------------
 opkg install <pkg>     apk add <pkg>       Install a package
 opkg remove <pkg>      apk del <pkg>       Remove a package
 opkg upgrade           apk upgrade         Upgrade all packages
 opkg files <pkg>       apk info -L <pkg>   List package contents
 opkg list-installed    apk info            List installed packages
 opkg update            apk update          Update package lists
 opkg search <pkg>      apk search <pkg>    Search for packages
 ------------------------------------------------------------------

For more information visit:
https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet

可以看到我使用了 SNAPSHOT, r32804-ac8b5526bc 版本的韌體。
他有提示到,這個版本已經從 opkg 套件管理程式,改成 apk 指令了

我們用以下指令安裝 luci 網路管理介面

apk update && \
apk add luci

如果是之前 opkg 版本的話,可以這樣

opkg update && \
opkg install luci

意思是相同的。

裝完就能使用瀏覽器瀏覽 http://192.168.1.1 存取 OpenWRT(使用者為 root,無密碼)摟!

參考資料

用 OpenWRT 設定 VLAN 進行網路隔離 – 以 ASUS RT-AC58U 為例

在當今的數位時代,設定一個安全且專屬的家用網路變得越來越重要。透過使用開源軟體 OpenWRT,我們可以輕鬆地為家中的網路設備建立專屬的虛擬局域網(VLAN),以提供更高程度的安全性與隔離性。

在本篇文章中,我們將透過一個實作範例,詳細介紹如何設定 OpenWRT,將一台路由器切割成兩個 VLAN 區域,並讓這兩個區域互不影響。每個 VLAN 區域都會分到不同的 IP 網段,而且皆有對應的 Wifi 無線網路(2.4G 和 5G)可供使用。最後,我們也會確保每一個 VLAN 區域都能夠對外上網。

這篇文章適合具有基礎網路知識,且對於設定 VLAN 有興趣的讀者。我們將會帶領你逐步了解 VLAN 的基本概念,並實際操作如何在 OpenWRT 中進行設定。

我們用一些筆者自身有用過的機種來做設定範例,詳細探討其中設定值的差異,供大家學習。希望透過本篇文章,你可以瞭解如何透過 OpenWRT 來打造一個安全、專屬的家用網路環境。

那麼,就讓我們開始吧!


設定 VLAN 進行網路隔離 系列文:


範例環境說明

假設你的對外網路有一個光世代的盒子(小烏龜),
你透過 DHCP 配發 IP 的方式來上網

我們把一台路由器分成二個 VLAN 區域:

  • VLAN100 網段 192.168.10.0/24
  • VLAN200 網段 192.168.20.0/24

接孔對應:

  • 指定第一埠為 VLAN100
  • 指定第二埠為 VLAN200

示意圖如下

等效網路拓墣如下

等於是你在小烏龜這邊裝了一台 Switch,
底下各裝一台 Wifi Router 路由器,各自設定獨立的 IP 位址與網段,
實現完全隔離的網路。

而我們全部都在一台路由器就完成了這件事情,
一般的家用路由器沒辦法做到這樣的功能,
但 OpenWRT 可以,這也是它厲害的地方。

我們把範例情境做複雜一點,
假設我們家用區域很大,是個三層樓透天厝,ADSL 主線在一樓,
想要二樓與三樓都延伸以上雙 VLAN 的情境。要怎麼做?

  • 指定第四埠為 VLAN100VLAN200 的 trunk port
  • 多新增一台設定類似的路由器,我們暫稱它為子機
  • 多拉一條網路線,來連接母機與子機

示意圖變成如下:

等效網路拓墣如下

原本我們應該需要二台路由器、二條網路線、二台 Switch hub 來延伸這個完全隔離的網路,歸功於 VLAN 與 trunk port 的功能,我們使用二台路由器,一條網路線就可以做到一樣的事情了。


我們用華碩 ASUS RT-AC58U 來實作這個範例,
有因為硬體特性與原廠驅動設計問題,而步驟有一點點不同,
尤其這台較特別,需要另外說說

這次使用的版本為 OpenWrt 22.03.5 20134-515225c1e 供參考。

設定步驟

Step0. 觀察原有設定值

在開始設定之前,我們先觀察一下原有路由器的設定值,
據經驗,這部分不同機器還是會有些微差異,也記錄一下。

RT-AC58U 原有的設定值是這樣子

Network > Interface 頁面,Interfaces 頁籤

Network > Interface 頁面,Devices 頁籤

Network > Switch 的頁面

Network > Wireless 頁面

快速整理一下:

  • 有 Network > Switch 的頁面
  • 只有 eth1, eth2 二個 eth
  • 有一個 Bridge 介面
    • 預設綁定 VLAN 1 給 LAN 使用
    • 預設綁定 VLAN 2 給 WAN 使用
      (這段網頁管理介面沒有顯示,預設是隱藏的,這也是這台特別之處)

Step1. 修改原有 bridge 介面

到 Network > Switch 頁面

設定 VLAN ID,剛剛有提到這台 VLAN 2 是保留給 wan 使用的,而且它 預設在網頁管理介面是隱藏的
這部分我們等一下再來處理

VLAN ID CPU (eth0) LAN 1 LAN 2 LAN 3 LAN 4
100 t u off u t
200 t off u off t

到這邊只能按下「Save」存檔,不可按 Save & Apply,不然 會直接斷線!
然後到 Network > Interfaces 頁面,選擇預設的 lan 裝置

General Settings 部分

  • Protocol: Static address
  • IPv4 address: 192.168.10.1 (Edit)
  • IPv4 netmask: 255.255.255.0
  • Device: Switch VLAN: "eth0.100"

記得將 Device 調整為 Software VLAN: "eth0.100"
不然會整個連管理介面都連不上。

按 Save and Apply 套用設定

因為有修改路由器 IP,這個時候要更換瀏覽的網址。
http://192.168.1.1/ 要換成 http://192.168.10.1/ 然後重新登入。

Step 3. 設定第二個 VLAN

我們在 Network > Interfaces 的頁面中

按「Add New Interface…」按鈕,新增第二個介面

  • Name: lan200
  • Protocol: Static address
  • Device: Software VLAN: "eth0.200"

然後接續設定設定值

General Settings 區域

  • Protocol: Static address
  • IPv4 address: 192.168.20.1
  • IPv4 netmask: 255.255.255.0
  • Device: Switch VLAN: "eth0.200"

到 DHCP Server 頁籤,設定 DHCP 伺服器
(只有主要的那台路由器需要開,其他台必須關掉此設定值)

原本會顯示 No DHCP Server configured for this interface

按「Set up DHCP Server」按鈕啟動 DHCP 伺服器

DHCP Server > General Setup

  • Start: 2
  • Limit: 254

這邊設定的是 DHCP 伺服器發放 IP 位址的開始與結束區段,依需求修改
預設給 100 – 150,它可以是 2 – 254

Step4. 防火牆設定

(主要那台路由器需要設定,子機可以不用設定)

到 Network > Firewall 頁面

來到 Firewall – Zone Settings 頁面, General Settings 頁籤

依樣畫葫蘆,按 Add 新增一個區域

  • Name: lan200 (名字可以自己取)

  • Input: accept

  • Output: accept

  • Forward: accept

  • Covered networks: lan200 (Switch VLAN: "eth0.200")

Covered networks 為應用網路區域,這邊選擇前面設定的 lan200

  • Allow forward to destination zones:
    wanwan (Ethernet Adapter: "eth1") wan6 (Ethernet Adapter: "eth1")

轉送 (forward) 區域,這邊選擇 wan, wan6 即可。

第二個 VLAN 能不能正確上網就看這個設定了。

設定 Wi-Fi

這邊設定 Wi-Fi 步驟就相對簡單

這台它有二個頻段 2.4GHz 與 5GHz

分別設定為

  • SSID: OpenWRT_lan100

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200

  • 設定您的密碼

  • 對應 VLAN200

  • SSID: OpenWRT_lan100_5G

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200_5G

  • 設定您的密碼

  • 對應 VLAN200

這邊應該很直覺,注意不要選錯即可。


Wi-Fi 設定步驟如下:

到 Network > Wireless 頁面

在 radio0.network1 區域,修改原有的 2.4GHz Wi-Fi

General Setup

  • Operating frequency
  • Mode: N
  • Channel: 1 (2412 Mhz)
  • Width: 20 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan100
  • Network: lan (Switch VLAN: "eth0.100")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio0.network1 區域,新增一個 2.4GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: N
  • Channel: 1 (2412 Mhz)
  • Width: 20 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan200
  • Network: lan200 (Switch VLAN: "eth0.200")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio1.network1 區域,新增一個 5GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: AC
  • Channel: 36 (5180 Mhz)
  • Width: 80 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan100_5G
  • Network: lan (Switch VLAN: "eth0.100")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio1.network1 區域,新增一個 5GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: AC
  • Channel: 36 (5180 Mhz)
  • Width: 80 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan200_5G
  • Network: lan200 (Switch VLAN: "eth0.200")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面

Step 5. 修正 WAN 上網介面

這步驟算是 RT-AC58U 特有的步驟,
你會發現整個設定完畢卻無法辦法對外上網,這是正常的
因為剛剛有提到
這台 VLAN 2 是保留給 wan 使用的,而且它 預設在網頁管理介面是隱藏的
所以我們現在要來修正這件事情

使用 ssh 指令連線到路由器:

$ ssh [email protected]

(註:ssh 指令在 Windows powershell 有內建,或者用 putty 都可以)

我們需要直接修改 /etc/config/network 這個檔案

vi /etc/config/network

要比對一下設定檔,如果沒有這個段落的話,要手動加上這段

# this is the VLAN mapping for the internet port
config switch_vlan
    option device 'switch0'
    option vlan '1'
    option vid '2'
    option ports '0t 5'

然後重啟網路服務

$ /etc/init.d/network restart

然後測試,應該就可以連上網路了。

Step6. 連接第二台路由器(子機)

我們來實作示意圖上的第二台路由器

第二台(甚至以上)的路由器,設定跟前面非常類似,
唯有幾個需要確認:

  • DHCP Server 為關
  • 有線網路的對應網段與 VLAN 號碼,都要正確
  • Wi-Fi 帳號、密碼、對應網段與 VLAN 號碼,都要正確

然後將 trunk port 與 trunk port 用網路線,連接在一起,這樣就完成了。


文字介面設定參考

我保留了當初右上角系統透過介面自動產生的指令,供大家參考。
如果需要其他文章的話,才知道大概在講什麼。

基本上它就是用 uci 指令來做操作而已,所屬的設定檔案都已經列在註解上了,

# /etc/config/dhcp
uci del dhcp.lan.ra_slaac
uci set dhcp.lan.start='2'
uci set dhcp.lan.limit='254'
uci set dhcp.lan200=dhcp
uci set dhcp.lan200.interface='lan200'
uci set dhcp.lan200.start='100'
uci set dhcp.lan200.limit='150'
uci set dhcp.lan200.leasetime='12h'
uci set dhcp.lan200.start='2'
uci set dhcp.lan200.limit='254'

# /etc/config/firewall
uci add firewall zone # =cfg0edc81
uci set firewall.@zone[-1].name='lan200'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci add_list firewall.@zone[-1].network='lan200'
uci add firewall forwarding # =cfg0fad58
uci set firewall.@forwarding[-1].src='lan200'
uci set firewall.@forwarding[-1].dest='wan'

# /etc/config/network
uci add network switch_vlan # =cfg0b1ec7
uci set network.@switch_vlan[-1].device='switch0'
uci set network.@switch_vlan[-1].vlan='2'
uci set network.cfg0a1ec7.ports='0t 4 2 1t'
uci set network.cfg0a1ec7.vid='100'
uci set network.@switch_vlan[-1].ports='0t 3 1t'
uci set network.@switch_vlan[-1].vid='200'
uci set network.lan.device='eth0.100'
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan200=interface
uci set network.lan200.proto='static'
uci set network.lan200.device='eth0.200'
uci set network.lan200.ipaddr='192.168.20.1'
uci set network.lan200.netmask='255.255.255.0'
uci set network.lan200.type='bridge'

# /etc/config/wireless
uci set wireless.radio0.cell_density='0'
uci set wireless.default_radio0.ssid='OpenWrt_lan100'
uci set wireless.default_radio0.encryption='sae-mixed'
uci set wireless.default_radio0.key='YOUR_PASSWD'
uci del wireless.radio0.disabled
uci set wireless.wifinet2=wifi-iface
uci set wireless.wifinet2.device='radio0'
uci set wireless.wifinet2.mode='ap'
uci set wireless.wifinet2.ssid='OpenWrt_lan200'
uci set wireless.wifinet2.encryption='sae-mixed'
uci set wireless.wifinet2.key='YOUR_PASSWD'
uci set wireless.wifinet2.network='lan200'
uci set wireless.radio1.cell_density='0'
uci set wireless.default_radio1.ssid='OpenWrt_lan100_5G'
uci set wireless.default_radio1.encryption='sae-mixed'
uci set wireless.default_radio1.key='YOUR_PASSWD'
uci del wireless.radio1.disabled
uci set wireless.wifinet3=wifi-iface
uci set wireless.wifinet3.device='radio1'
uci set wireless.wifinet3.mode='ap'
uci set wireless.wifinet3.ssid='OpenWrt_lan200_5G'
uci set wireless.wifinet3.encryption='sae-mixed'
uci set wireless.wifinet3.key='YOUR_PASSWD'
uci set wireless.wifinet3.network='lan200'

用 OpenWRT 設定 VLAN 進行網路隔離 – 以 TOTOLINK-X5000R 為例

在當今的數位時代,設定一個安全且專屬的家用網路變得越來越重要。透過使用開源軟體 OpenWRT,我們可以輕鬆地為家中的網路設備建立專屬的虛擬局域網(VLAN),以提供更高程度的安全性與隔離性。

在本篇文章中,我們將透過一個實作範例,詳細介紹如何設定 OpenWRT,將一台路由器切割成兩個 VLAN 區域,並讓這兩個區域互不影響。每個 VLAN 區域都會分到不同的 IP 網段,而且皆有對應的 Wifi 無線網路(2.4G 和 5G)可供使用。最後,我們也會確保每一個 VLAN 區域都能夠對外上網。

這篇文章適合具有基礎網路知識,且對於設定 VLAN 有興趣的讀者。我們將會帶領你逐步了解 VLAN 的基本概念,並實際操作如何在 OpenWRT 中進行設定。

我們用一些筆者自身有用過的機種來做設定範例,詳細探討其中設定值的差異,供大家學習。希望透過本篇文章,你可以瞭解如何透過 OpenWRT 來打造一個安全、專屬的家用網路環境。

那麼,就讓我們開始吧!


設定 VLAN 進行網路隔離 系列文:


範例環境說明

假設你的對外網路有一個光世代的盒子(小烏龜),
你透過 DHCP 配發 IP 的方式來上網

我們把一台路由器分成二個 VLAN 區域:

  • VLAN100 網段 192.168.10.0/24
  • VLAN200 網段 192.168.20.0/24

接孔對應:

  • 指定第一埠為 VLAN100
  • 指定第二埠為 VLAN200

示意圖如下:

等效網路拓墣如下:

等於是你在小烏龜這邊裝了一台 Switch,
底下各裝一台 Wifi Router 路由器,各自設定獨立的 IP 位址與網段,
實現完全隔離的網路。

而我們全部都在一台路由器就完成了這件事情,
一般的家用路由器沒辦法做到這樣的功能,
但 OpenWRT 可以,這也是它厲害的地方。

我們把範例情境做複雜一點,
假設我們家用區域很大,是個三層樓透天厝,ADSL 主線在一樓,
想要二樓與三樓都延伸以上雙 VLAN 的情境。要怎麼做?

  • 指定第四埠為 VLAN100VLAN200 的 trunk port
  • 多新增一台設定類似的路由器,我們暫稱它為子機
  • 多拉一條網路線,來連接母機與子機

示意圖變成如下:

等效網路拓墣如下:

看到這邊大家可能開始霧煞煞,可以先上下對照等效網路拓墣來看,
原本我們應該需要二台路由器、二條網路線、二台 Switch hub 來延伸這個完全隔離的網路,歸功於 VLAN 與 trunk port 的功能,我們使用二台路由器,一條網路線就可以做到一樣的事情了。


以下為設定步驟,這邊使用 TOTOLINK-X5000R 刷入 OpenWRT 來實作以下的步驟,
有可能會因為硬體特性與原廠驅動設計問題,而步驟有一點點不同,
如果有比較特別的部份,可能另外寫一篇文章來解釋。

使用的版本為 OpenWRT 22.03.3 r20028-43d71ad93e 供參考。

設定步驟

Step0. 觀察原有設定值

在開始設定之前,我們先觀察一下原有路由器的設定值,
據經驗,這部分不同機器還是會有些微差異,也記錄一下。

TOTOLINK-X5000R 原有的設定值是這樣子

Network > Interface 頁面,Interfaces 頁籤

Network > Interface 頁面,Devices 頁籤

br-lan 按下 「Configure…」按鈕的內容,

Bridge device: br-lan 視窗,General device options 頁籤

Bridge device: br-lan 視窗,Bridge VLAN filtering 頁籤

也附上 X5000R 的產品背面圖

我們快速整理一下:

  • 沒有 Network > Switch 的頁面
  • eth1, eth2, eth3, eth4, eth5 ,對應到 5 個 Port
  • 有一個 Bridge 介面,
    • 綁定 eth1, eth2, eth3, eth4 為 LAN 的 Interface (介面)
  • 綁定 wan 為 WAN 的 Interface (介面)

接下來我們開始一步一步調整成我們要的範例情境。

Step1. 將原有 bridge 介面改為 VLAN 模式

先到 Network > Interface 頁面,選到 Devices 頁籤,

選到 br-lan 按下 「Configure…」按鈕,

直接到 Bridge VLAN filtering 頁籤,來做 VLAN 設定調整

勾選 Enable VLAN filtering

按下 Add 打入 VLAN ID,(例如:VLAN ID: 100 )
勾選 untagged 就是要應用上去的介面,畫面上會顯示一個 u
如果要走 trunk,再選擇 tagged

如有 CPU 的 Port 一律都選 trunk,這樣介面才看得到

複習一下範例情境:

  • VLAN ID: 100 應用在 Port 1, Port 3
  • VLAN ID: 200 應用在 Port 2
  • Port 4 走 VLAN ID: 100 與 VLAN ID: 200 的 trunk

所以變成這樣

VLAN ID lan1 lan2 lan3 lan4
100 u u t
200 u t

按了存檔 Save 了之後 不要馬上 Apply,不然 會直接斷線!
很重要講三次

到 Network > Interface 頁面 Interfaces 頁籤,

選擇預設的 LAN 按「Edit」按鈕

Interfaces » lan 的 General Settings 頁籤,

將 Device 調整為 Software VLAN: "br-lan.100"

再存檔 Apply

解釋:因為原本的單純的 bridge 介面,改跑成 VLAN 模式了,
以範例來說,原有的介面變成二個軟體 VLAN 介面
但路由器 IP 設定與 DHCP 設定沒有對應綁過去

原本的 bridge 介面不應該掛任何東西才正確

這邊的設定較重要,也是有沒有設定成功的關鍵。

註:先從本身連接的 VLAN 網段開始設定會比較順,
如果做錯了就整台重置吧。

Step2. 更換路由器 IP

為了符合範例的需求,我們更換一下目前連接路由器的 IP,

到 Network > Interface 頁面

General Settings 部分

  • IPv4 address: 192.168.10.1
  • IPv4 netmask: 255.255.255.0

將原本的 192.168.1.1 修改成 192.168.10.1

按 Save and Apply 套用設定,這個時候要更換瀏覽的網址。

http://192.168.1.1/ 要換成 http://192.168.10.1/ 然後重新登入。
這步應該對大家來說不困難。

Step3. 設定第二個 VLAN

我們依樣畫葫蘆在 Network > Interfaces 頁籤中,

按「Add New Interface…」按鈕,新增第二個介面

  • Name: LAN200
  • Protocol: Static address
  • Device: Software VLAN: "br-lan.200"

你就可以接續設定

General Settings

  • IPv4 address: 192.168.20.1
  • IPv4 netmask: 255.255.255.0

到 DHCP Server 頁籤,設定 DHCP 伺服器
(只有主要的那台路由器需要開,其他台必須關掉此設定值)

原本會顯示 No DHCP Server configured for this interface

按「Set up DHCP Server」按鈕啟動 DHCP 伺服器

DHCP Server > General Setup

  • Start: 2
  • Limit: 254

這邊設定的是 DHCP 伺服器發放 IP 位址的開始與結束區段,依需求修改
預設給 100 – 150,它可以是 2 – 254

還是重申:只有主要的那台路由器需要開,其他台必須關掉此設定值

Step4. 防火牆設定

(主要那台路由器需要設定,子機可以不用設定)

到 Network > Firewall 頁面

來到 Firewall – Zone Settings 頁面, General Settings 頁籤

依樣畫葫蘆,按 Add 新增一個區域

Firewall – Zone Settings 頁面, General Settings 頁籤

  • Name: lan200 (名字可以自己取)

  • Input: accept

  • Output: accept

  • Forward: accept

  • Covered networks: lan200 (Software VLAN: "br-lan.200")

Covered networks 為應用網路區域,這邊選擇前面設定的 lan200

  • Allow forward to destination zones: wan, wan6

轉送 (forward) 區域,這邊選擇 wan, wan6 即可。

第二個 VLAN 能不能正確上網就看這個設定了。

設定 Wi-Fi

這邊設定 Wi-Fi 步驟就相對簡單

這台它有二個頻段 2.4GHz 與 5GHz

分別設定為

  • SSID: OpenWRT_lan100

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200

  • 設定您的密碼

  • 對應 VLAN200

  • SSID: OpenWRT_lan100_5G

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200_5G

  • 設定您的密碼

  • 對應 VLAN200

這邊應該很直覺,注意不要選錯即可。

Step5. 連接第二台路由器(子機)

我們來實作示意圖上的第二台路由器

第二台(甚至以上)的路由器,設定跟前面非常類似,
唯有幾個需要確認:

  • DHCP Server 為關
  • 有線網路的對應網段與 VLAN 號碼,都要正確
  • Wi-Fi 帳號、密碼、對應網段與 VLAN 號碼,都要正確

然後將 trunk port 與 trunk port 用網路線,連接在一起,這樣就完成了。


文字介面設定參考

我保留了當初右上角系統透過介面自動產生的指令,供大家參考。
如果需要其他文章的話,才知道大概在講什麼。

基本上它就是用 uci 指令來做操作而已,所屬的設定檔案都已經列在註解上了,
這邊就不多做解釋,圖形介面都設定好了。

# /etc/config/dhcp
uci del dhcp.lan.ra_slaac
# /etc/config/network
uci add network bridge-vlan # =cfg07a1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='100'
uci add_list network.@bridge-vlan[-1].ports='lan1'
uci add_list network.@bridge-vlan[-1].ports='lan3'
uci add_list network.@bridge-vlan[-1].ports='lan4:t'
uci add network bridge-vlan # =cfg08a1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='200'
uci add_list network.@bridge-vlan[-1].ports='lan2'
uci add_list network.@bridge-vlan[-1].ports='lan4:t'
uci set network.lan.device='br-lan.100'

# /etc/config/dhcp
uci set dhcp.lan.start='2'
uci set dhcp.lan.limit='254'
uci set dhcp.lan200=dhcp
uci set dhcp.lan200.interface='lan200'
uci set dhcp.lan200.start='100'
uci set dhcp.lan200.limit='150'
uci set dhcp.lan200.leasetime='12h'
uci set dhcp.lan200.start='2'
uci set dhcp.lan200.limit='254'
# /etc/config/network
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan200=interface
uci set network.lan200.proto='static'
uci set network.lan200.device='br-lan.200'
uci set network.lan200.ipaddr='192.168.20.1'
uci set network.lan200.netmask='255.255.255.0'

# /etc/config/firewall
uci add firewall zone # =cfg0edc81
uci set firewall.@zone[-1].name='lan200'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='REJECT'
uci add_list firewall.@zone[-1].network='lan200'
uci add firewall forwarding # =cfg0fad58
uci set firewall.@forwarding[-1].src='lan200'
uci set firewall.@forwarding[-1].dest='wan'

# /etc/config/wireless
uci del wireless.radio0.disabled
uci set wireless.wifinet2=wifi-iface
uci set wireless.wifinet2.device='radio0'
uci set wireless.wifinet2.mode='ap'
uci set wireless.wifinet2.ssid='OpenWrt_lan200'
uci set wireless.wifinet2.encryption='sae-mixed'
uci set wireless.wifinet2.key='YOUR_PASSWD'
uci set wireless.wifinet2.network='lan200'
uci set wireless.radio0.cell_density='0'
uci set wireless.default_radio0.ssid='OpenWrt_lan100'
uci set wireless.default_radio0.encryption='sae-mixed'
uci set wireless.default_radio0.key='YOUR_PASSWD'
uci del wireless.radio1.disabled
uci set wireless.wifinet3=wifi-iface
uci set wireless.wifinet3.device='radio1'
uci set wireless.wifinet3.mode='ap'
uci set wireless.wifinet3.ssid='OpenWrt_lan200_5G'
uci set wireless.wifinet3.encryption='sae-mixed'
uci set wireless.wifinet3.key='YOUR_PASSWD'
uci set wireless.wifinet3.network='lan200'
uci set wireless.radio1.cell_density='0'
uci set wireless.default_radio1.ssid='OpenWrt_lan100_5G'
uci set wireless.default_radio1.encryption='sae-mixed'
uci set wireless.default_radio1.key='YOUR_PASSWD'

以上就是這次的內容,希望對大家有幫助。

刷 OpenWRT 韌體刷機記錄 – 華碩 ASUS RT-N16 路由器

查查部落格文章,原來我曾經有過 Asus RT-N10+Asus RT-N16 …等路由器。
這幾台其實可以相容 DD-WRT 與 Tomato 第三方韌體,
但現今,我還是會推薦使用 OpenWRT,功能多太多了。

因為華碩原廠開始用各種方式阻擋置換第三方韌體,熟悉的手感不見了,故記錄一下。

注意:刷機有風險,刷機前請詳閱說明書,刷壞了屬於個人行為,小弟也不負責。
刷機後很有可能失去保固,如果害怕弄壞就按左上角關閉本文吧!

開始之前,記得看文件

OpenWRT 的刷機指南
https://openwrt.org/toh/asus/rt-n16
找到對應的型號就開始吧,很多招都從這來的。

硬體概述

  • CPU: Broadcom BCM4718 480MHz
  • Flash: 32MB
  • RAM: 128MB
  • 2.4GHz Wi-Fi (b/g/n): 300Mbps
  • 5 ports Gigabit ethernet 10/100/1000 Mbps
  • USB 2.0 x 2

材料準備

  1. 去華碩 ASUS 官網下載 Firmware Restoration 韌體更新程式
    ASUS Firmware Restoration 版本 2.1.0.2

https://www.asus.com/tw/supportonly/rtn16/helpdesk_bios/

並在 Windows 電腦安裝起來。

  1. 下載該型號最初版的韌體 (Firmware)

ASUS RT-N16韌體版本 3.0.0.4.374.979 (2013/10/09)
https://www.asus.com/tw/supportonly/rtn16/helpdesk_bios/

這是該型號最初版的韌體。

  1. DD-WRT 的 INITIAL 中繼過渡韌體 (Firmware)

依據 DD-WRT 官方文件所說需要下載這一份 22118 K2.6_mini_RT-N16.trx 過渡韌體
https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/2013/07-24-2013-r22118/broadcom_K26/dd-wrt.v24-22118_NEWD-2_K2.6_mini_RT-N16.trx

(過渡韌體檔名為 dd-wrt.v24-22118_NEWD-2_K2.6_mini_RT-N16.trx 供參考)

  1. OpenWRT 該型號的最新版韌體 (Firmware)

https://downloads.openwrt.org/releases/22.03.5/targets/bcm47xx/mips74k/openwrt-22.03.5-bcm47xx-mips74k-asus_rt-n16-squashfs.trx

(截稿至今,檔名為: openwrt-22.03.5-bcm47xx-mips74k-asus_rt-n16-squashfs.trx 僅供參考。)

安裝步驟

相關步驟筆記如下,可能寫得有點雜,請見諒。

因為新版韌體「 3.0.0.4.380.7378 (2017/04/26) 」的網頁介面有鎖非原廠韌體更新,故要先退版。

  1. 設定好電腦本機 IP: 192.168.1.2 子網路遮罩: 255.255.255.0
  2. 進入「救援模式 (Rescue mode)」(等下會敘述)
  3. 使用剛剛下載的 ASUS Firmware Restoration 韌體更新程式 刷機

這裡有二種選擇,

刷入最初版的韌體 (Firmware):3.0.0.4.374.979 (2013/10/09)

完成後會進入 原廠韌體介面,確認版號之後,直接從路由器管理介面,直接更新韌體,刷最新版 OpenWRT 韌體即可。

(截稿至今,檔名為: openwrt-22.03.5-bcm47xx-mips74k-asus_rt-n16-squashfs.trx 僅供參考。)

或者

刷入 DD-WRT 的 INITIAL 過渡韌體
dd-wrt.v24-22118_NEWD-2_K2.6_mini_RT-N16.trx 供參考)

完成後會進入 DD-WRT,但這個版本不能直接使用(所以才稱做中繼過渡韌體)
使用電腦 Firefox,透過這個過渡版本的路由器網頁管理介面
,刷最新版 OpenWRT 韌體即可。

(截稿至今,檔名為: openwrt-22.03.5-bcm47xx-mips74k-asus_rt-n16-squashfs.trx 僅供參考。)

救援模式 (Rescue mode)

新版韌體「 3.0.0.4.380.7378 (2017/04/26) 」的救援模式進入方式有改版,但如果你刷入了舊版韌體「3.0.0.4.374.979 (2013/10/09)」,救援模式進入方式會變成舊方式。

我二種方式都列出來供大家參考。

  • 舊版:路由器斷電後,按住 restore 鍵不放並插電,持續 5 秒,電源燈會變成慢閃 (2 秒亮一下)
  • 新版:路由器斷電後,然後按住紅色 WPS 按紐,然後插電,等到看到電源燈亮了 (大約 1 秒) 之後再按住 restore 直到電源燈慢閃 (2 秒亮一下)

如何判斷是否有進入救援模式?

如何判斷是否有進入救援模式?
我覺得電腦連接網路線,用 ping 最準。

設定好電腦本機 IP: 192.168.1.2 子網路遮罩: 255.255.255.0

用 ping 加上 -t 參數,變成連續 ping 模式

ping 192.168.1.1 -t

你會發現 TTL=64 (正常模式) 變為 TTL=100 (救援模式)

Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=100

有變成 TTL=100 就代表成功進入救援模式了,有時候可能要多試幾次才會成功進去,就算進入救援模式了

幾個須注意的重點 (雷點)

  • 如果你的電腦處於複雜的網路環境,例如有裝 Hyper-V 虛擬機、 VMWare 虛擬機
    又有 WiFi 等等多個網路裝置
    把這些網路裝置先停用,把網路環境單純化

  • 救援模式的方式有偷偷改過,但如果刷舊版韌體會被改回來
    總而言之,可以先試試看舊版,如果不行再試試看新版方式

  • 過渡版 DD-WRT 網頁介面刷機的時候,Google Chrome 會出現 ERROR_EMPTY_RESPONSE 的離奇問題
    實測後用火狐 Firefox 就不會出現此問題,在這裡使用 Firefox。

希望整個流程對你有幫助。

參考資料

刷 OpenWRT 韌體刷機記錄 – 華碩 ASUS RT-AC58U 路由器

剛好拿到一台華碩 ASUS RT-AC58U AC1300 路由器,華碩硬體做得還不錯,很耐用。
雖然不是 WiFi 6,但 WiFi 5 AC1300 (400 + 867 Mbps) 可以勇一陣子,再戰十年。

這算是我第五台刷機的機器了,該有步驟的還是會講一下。

我個人很愛開源第三方韌體,從 DD-WRT 玩到 Tomato,直到 OpenWRT (LEDE) 橫空出世,可玩性就在這裡了。
OpenWRT 可以突破原廠限制,很多商用進階功能,直接下放到家用機種,穩定性也比原廠韌體高,這就是我刷機的原因。

注意:刷機有風險,刷機前請詳閱說明書,刷壞了屬於個人行為,小弟也不負責。
刷機後很有可能失去保固,如果害怕弄壞就按左上角關閉本文吧!

開始之前,記得看文件

OpenWRT 的刷機指南
https://openwrt.org/toh/asus/rt-ac58u
很多沒提到的細節都在這裡

硬體概述

  • CPU: Qualcomm Atheros IPQ4018 或 IPQ4019 717Mhz
  • Flash: 128MB
  • RAM: 128MB
  • 2.4GHz Wi-Fi (b/g/n): 400Mbps
  • 5GHz Wi-Fi (a/n/ac): 867Mbps
  • 5 ports Gigabit ethernet
  • USB 3.0 x 1

安裝方式

注意:刷機有風險,刷機前請詳閱說明書,刷壞了屬於個人行為,小弟也不負責。
刷機後很有可能失去保固,如果害怕弄壞就按左上角關閉本文吧!

刷機前請再三確認型號、硬體版號、國際版還是地區版,刷錯型號會直接變磚。

參考步驟為 OpenWRT 的刷機步驟

  1. 到 Zyxmon’s AC58U 網頁,下載我們的中繼韌體 (Firmware) XXX-squashfs-flash-factory.trx 檔案。

(截稿至今,檔名為: openwrt-r1834-0f04829-ipq806x-asus_rt-ac58u-squashfs-flash-factory.trx 僅供參考。)

  1. 瀏覽器鍵入 http://192.168.1.1/ 登入華碩的路由器管理介面

  2. 在 系統管理 Administration → 韌體更新 Firmware Upgrade
    (可能的頁面網址是 http://192.168.1.1/Advanced_FirmwareUpgrade_Content.asp
    上傳 XXX-squashfs-flash-factory.trx 檔案,重開機後會進入 OpenWRT (LEDE),不過這不要太高興,這個中繼版本有一些 Bug,沒辦法使用。

  3. 在終端機用指令打開 SSH
    (以下是用 Mac 做為連線,理論上 Windows 的 Powershell 也適用,或者使用 putty ,SSH 的連線方式就不贅述了。)

ssh [email protected]

依序鍵入以下指令:

# umount /mnt/ubi0_5
# ubirmvol /dev/ubi0 -N jffs2

意思大致為:刪除 jffs2 分割區,解除其保護機制。

  1. OpenWRT 網站 下載最新版更新版 OpenWRT 韌體,
    檔名 XXX-squashfs-sysupgrade.bin

(截稿至今,檔名為: openwrt-22.03.2-ipq40xx-generic-asus_rt-ac58u-squashfs-sysupgrade.bin 僅供參考。)

  1. 瀏覽器鍵入 http://192.168.1.1/ 到這個半殘中繼韌體的路由器管理介面,
    上傳韌體(可能的頁面網址是 http://192.168.1.1/cgi-bin/luci/admin/system/flashops),記得 Keep settings 的勾勾要拿掉,不要保留設定。

  2. 重開機就可以使用完整版 OpenWRT 了。

希望這篇文章對大家有幫助。

參考資料

[教學] 用 OpenWRT 做分離式上網設定 (以 小米路由器mini 為例)

這是一篇筆記備忘,因為設定很繁複,所以專門寫一篇做紀錄。
為何叫作分離式上網呢?其實這個名稱是我取的 😆

當然這個要用第三方韌體才做得到,官方韌體是沒這功能的 😛

以下所適用的情境是:

  • 切成多個 VLAN 區域,互相看不見彼此
  • 每個 VLAN 區域會分到不同的 IP 網段
  • 每個 VLAN 區域都有對應的 Wifi 無線網路供使用
  • 每一個 VLAN 區域要能夠對外上網

以下截圖採用 PandoraBox 的韌體在 小米路由器mini 上執行。
但因為 PandoraBox 是 OpenWRT 的版本分支,
LEDE 亦是 OpenWRT 的版本分支,
理論上 LEDE / OpenWRT 都能適用,只是版面排版不一樣。

什麼是 VLAN (Virtual LAN)?

引用 Wikipedia 的說明

A virtual LAN (VLAN) is any broadcast domain that
is partitioned and isolated in a computer network
at the data link layer (OSI layer 2).

翻譯一下, VLAN 是一個 OSI Layer 2 的獨立廣播區域。

虛擬區域(Virtual Local Area Network 或簡寫 VLAN)
是一種建構於區域網路交換技術(Switch)的網路管理的技術,
網管人員可以藉此透過控制交換機有效分派出入區域網的封包
到正確的出入埠,達到對不同實體區域網中的裝置進行邏輯分群
(Grouping)管理。

引用文章的說明

什麼是VLAN?VLAN是在同一物理區域網內
用於劃分若干個不同廣播域(子網)的技術,
子網內的主機可以互相通信,不同子網的主機之間不可互相通信。
什麼是VLAN ID?用於標識每個VLAN子網的ID。

範例環境

vlan.png

假設一台路由器有二個 VLAN

  • VLAN1
    • 路由器 IP: 192.168.1.1
    • 分配網段: 192.168.1.0/24
    • 無線網路 (2.4GHz) 名稱: PandoraBox
    • 無線網路 (5GHz) 名稱: PandoraBox_5G
  • VLAN2
    • 路由器 IP: 192.168.2.1
    • 分配網段: 192.168.2.0/24
    • 無線網路 (2.4GHz) 名稱: PandoraBox_lan2
    • 無線網路 (5GHz) 名稱: PandoraBox_5G_lan2

 

設定步驟

VLAN 設定

  1. Switch 頁面,設定好 vlan

Screen Shot 2017-11-20 at 10.57.58 PM.png

這邊的 Port 是指實體 RJ45 的有線接口,
可以通過插拔網路線的方法,對應到每一個 Port。
如果 Port 狀態為 untagged (不關聯),即該 Port 作為本 VLAN 成員,進行二層交換;
若選擇 tagged (關聯),Port 之間通信無二層交換,而是衝突廣播(類似 Hub 的方式)

簡單來說,

  • 要加入該 VLAN 的 Port 選 untagged
  • 不加入的 Port 選 off
  • CPU 照預設值,選 tagged
  • 其他的 Port 照預設值設定即可

以 小米路由器mini 來說,

4112272063a99d01 (1) copy.jpg

從左到右,分別是

Reset Button / USB 2.0 / Port 0 (White) / Port 1 (White) / Port 4 (Blue)

它多出一個特殊 Port 是 Port 7,其他機型沒有

  • Port 7 照預設值,選 tagged

以這個範例來說

原本

  • VLAN ID 1 (LAN): Port 0, Port 1
  • VLAN ID 2 (WAN): Port 4

改成

  • VLAN ID 1 (LAN1): Port 0
  • VLAN ID 2 (WAN): Port 4
  • VLAN ID 3 (LAN2): Port 1

因為有了 VLAN 這麼方便的功能,
你可以自由的定義每一個網路接口是什麼功用,不用照預設給的 WAN 是藍色, LAN 是白色的限制。

無線網路 Wifi 設定

Network > Wifi 頁面,在 [2.4GHz 頻段] 與 [5GHz 頻段] 各新增一個 SSID,
名稱為 PandoraBox_lan2PandoraBox_5G_lan2 並設定好 SSID名稱 & 密碼

Screen Shot 2017-11-20 at 10.55.20 PM.png

畫面上會有四個 Wifi,ra0 有二個,rai0 有二個
名稱個別為

  • PandoraBox
  • PandoraBox_5G
  • PandoraBox_lan2
  • PandoraBox_5G_lan2

Screen Shot 2017-11-20 at 10.56.15 PM.png

Screen Shot 2017-11-20 at 10.56.50 PM.png

Screen Shot 2017-11-20 at 10.56.28 PM.png

Screen Shot 2017-11-20 at 10.57.05 PM.png

邏輯介面 (Interfaces) 設定

Screen Shot 2017-11-20 at 10.50.10 PM.png

Network > Interfaces 頁面,新增一個介面,名字叫 lan2

Screen Shot 2017-11-21 at 2.01.35 AM.png

Screen Shot 2017-11-21 at 2.02.13 AM.png

Screen Shot 2017-11-20 at 10.51.50 PM.png

到 General Setup 設定 IP 資訊

  • IPv4 address: 192.168.2.1
  • IPv4 netmask: 255.255.255.0
  • IPv4 gateway: (留空)

到 Physical Settings 指定給定介面

  • VLAN Interface: “eth0.3” (lan2)
  • Wireless Network: “PandoraBox_lan2” (lan2)
  • Wireless Network: “PandoraBox_5G_lan2” (lan2)

到 Firewall Settings 設定

  • Assign firewall-zone LAN2: lan2

整理如下

第一個介面 – LAN

Screen Shot 2017-11-20 at 10.50.53 PM.png

Screen Shot 2017-11-20 at 10.51.13 PM.png

Screen Shot 2017-11-20 at 10.51.22 PM.png

第二個介面 LAN2

Screen Shot 2017-11-20 at 10.51.31 PM.png

Screen Shot 2017-11-20 at 10.51.45 PM.png

Screen Shot 2017-11-20 at 10.51.50 PM.png

介面設定 DHCP Server (二個 Interfaces 都要設定)

  • Disable DHCP for this interface 不打勾(或是按下 Setup DHCP Server
  • Router Advertisement-Service: server mode
  • DHCPv6-Service: server mode

Screen Shot 2017-11-20 at 10.54.57 PM.png

Screen Shot 2017-11-20 at 10.55.05 PM.png

防火牆區域設定

Screen Shot 2017-11-20 at 10.58.29 PM.png

Firewall > General settings 新增一個 Zone,
名稱叫 LAN2 ,並設定:

  • Input: accept
  • Output: accept
  • Forward: accept
  • Covered networks: lan2
  • Allow forward to destination zones: wan

整理如下

第一個防火牆區域 – lan

Screen Shot 2017-12-01 at 2.38.33 AM.png

第二個防火牆區域 – lan2

Screen Shot 2017-12-01 at 2.03.16 AM.png

Port forwarding 設定?

要做 Port forwarding (連接埠轉送 又稱 虛擬伺服器)?
當然可以,在 Firewall > Port Forwards 頁面
假設 對外的 80 port 要對應到 192.168.1.28080 port

就如此設定

Screen Shot 2017-12-01 at 2.06.49 AM.png

然後按下 Add,規則就訂好了

Screen Shot 2017-12-01 at 2.05.52 AM.png

可以按下 Edit 看詳細規則

Screen Shot 2017-12-01 at 2.06.08 AM.png

其他防火牆規則?

其實這都是把 linux 的 iptables 指令做成比較好用的 UI 而已,
在 Firewall > Traffic Rules 這個頁面,會有一些預設的規則,你可以參考這些現有預設的規則仿造一個你自己的

Screen Shot 2017-12-01 at 2.07.32 AM.png

再舉一個例子,假設要禁止 第一個介面(lan) 連到路由器的 telnet,但第二個介面(lan2) 不受限
可以如此設定

Screen Shot 2017-11-20 at 11.16.42 PM.png

如果你熟捻 iptables 指令,不妨直接去 FirewallCustom Rules 把規則直接打進去。

Screen Shot 2017-12-01 at 2.34.33 AM.png

 

參考資料

https://en.wikipedia.org/wiki/VirtualLAN
https://blog.chionlab.moe/2016/07/13/openwrt-multiwan-configuration/
https://www.dd-wrt.com/wiki/index.php/VLAN
DetachedNetworks(SeparateNetworksWith_Internet)

[教學] 小米路由器 mini 刷機紀實 (PandoraBox / Padavan / OpenWRT / LEDE)

xiaomiroutermi42.jpg

圖片來源:https://blog.jks.coffee/wp-content/uploads/2017/11/xiaomiroutermi42.jpg

其實 小米路由器 mini 這台已經出一陣子了,

官方的韌體也是不錯用但小弟有一些更進階的需求,
所以嘗試使用刷第三方韌體的想法,
網路上教學很多,多方參考才能降低失敗率
以下是我參考多方文件所得出的筆記

刷機有風險,刷機前請參考各方教學文 
步驟弄錯,變磚不要找我 😛

打開 SSH 介面

瀏覽官方 SSH 解鎖工具
前提要先把機器綁定到小米帳號底下,這網址才會有作用 (注意,該動作也會直接註銷喪失保固!

https://d.miwifi.com/rom/ssh

這裡會提供 root 密碼, SSH 工具 (miwifi_ssh.bin)

大略步驟如下:

  1. 刷入開發版 Rom
  2. USB隨身碟放入SSH工具 miwifi_ssh.bin
  3. 斷電,按住reset按鈕之後重新接上電源,長按約3-5秒 LED 變為黃燈閃爍,安裝後會自動重啟
  4. 連入 ssh 進行刷機

screencapture-d-miwifi-rom-ssh-1512040175668.png

打開 SSH 刷入 Breed 工具

Breed 是一款類似於 u-boot 的不死固件,類似手機的 Recovery
它放在 Bootloader 中,當 Firmware 有問題的時候,還可以經由進入 Breed 來做刷機

另外因為小米路由器的韌體架構的關係,韌體上面會有小米序號,
必須要先做備份,以免事後無法回復到原廠韌體。

  1. 查看 rom 資料
$ cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 00c80000 00010000 "OS1"
mtd5: 00b11e68 00010000 "rootfs"
mtd6: 00200000 00010000 "OS2"
mtd7: 00100000 00010000 "overlay"
mtd8: 00010000 00010000 "crash"
mtd9: 00010000 00010000 "reserved"
mtd10: 00010000 00010000 "Bdata"
  1. 備份成檔案
cd /tmp
mkdir rom
dd if=/dev/mtd0 of=/tmp/rom/ALL.bin
dd if=/dev/mtd1 of=/tmp/rom/Bootloader.bin
dd if=/dev/mtd2 of=/tmp/rom/Config.bin
dd if=/dev/mtd3 of=/tmp/rom/Factory.bin
dd if=/dev/mtd4 of=/tmp/rom/OS1.bin
dd if=/dev/mtd5 of=/tmp/rom/rootfs.bin
dd if=/dev/mtd6 of=/tmp/rom/OS2.bin
dd if=/dev/mtd7 of=/tmp/rom/overlay.bin
dd if=/dev/mtd8 of=/tmp/rom/crash.bin
dd if=/dev/mtd9 of=/tmp/rom/reserved.bin
dd if=/dev/mtd10 of=/tmp/rom/Bdata.bin
  1. 複製備份到電腦上

用 scp 把備份檔案抓出來 $ scp -r [email protected]:/tmp/rom .

(註:scp 指令適用於 Mac / Linux 環境,
如果是 Windows 的使用者,請改用 pscp 或 WinSCP 來做資料傳輸)

恢覆指令 (以後備用)

mtd write /tmp/rom/Bootloader.bin Bootloader
mtd write /tmp/rom/Config.bin Config
mtd write /tmp/rom/Factory.bin Factory
mtd write /tmp/rom/OS1.bin OS1
mtd write /tmp/rom/rootfs.bin rootfs
mtd write /tmp/rom/OS2.bin OS2
mtd write /tmp/rom/overlay.bin overlay
mtd write /tmp/rom/crash.bin crash
mtd write /tmp/rom/reserved.bin reserved
mtd write /tmp/rom/Bdata.bin Bdata
  1. 刷入 Breed

用 scp 把 breed-mt7620-xiaomi-mini.bin 檔案複製進去

$ scp breed-mt7620-xiaomi-mini.bin [email protected]:/tmp
  1. 執行刷機
cd /tmp
mtd -r write breed-mt7620-xiaomi-mini.bin Bootloader

進入 Breed 介面

斷電,按住reset按鈕之後重新接上電源,長按3-5秒,LED 變為藍燈閃爍 插網路線,瀏覽 192.168.1.1 進入 Breed 介面

screencapture-192-168-1-1-1512040517285.png

選固件更新,在固件這欄刷入你要的 Rom

screencapture-192-168-1-1-upgrade-html-1512040580563.png

[PandoraBox]

檔名:PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin

下載位置

[Padavan (老毛子華碩第三方固件)]

檔名:RT-AC54U-GPIO-30-xiaomimini-128M_3.4.3.9-099.trx

下載位置

[OpenWRT]

檔名:openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin

15.05.1下載位置

snapshots(開發版)下載位置

[LEDE]

檔名:lede-17.01.4-ramips-mt7620-miwifi-mini-squashfs-sysupgrade.bin

17.01.4下載位置

(下載連結均由網路搜尋而得,可能會失效,如有缺檔,請自行搜尋,小弟亦不補檔)

刷完手動重新整理,進入新韌體介面

這裡就留給大家動手玩玩各種韌體了

要注意,Breed 適用刷第三方 Rom,雖然也可以刷回小米官方韌體
但是 序號(SN) 會被洗掉不見,沒有序號就不能綁定小米帳號,也不能重新開啟 SSH 權限
如果要刷回原本官方韌體,要把原本備份下來的資料 (包含 Bootloader) 整個倒回去才行
如果成功的話,這時候應該會回到官方的開發版韌體

總結一下,小米路由器mini 這台其實沒有想像中的難刷機,刷了之後能用的功能就更多了,能調整的地方更細緻 第三方韌體穩定度蠻不錯的,適合中重度的玩家使用

參考資料

http://www.jianshu.com/p/111b6c1cbccf
http://eric0703.pentaxfans.net/2934
http://kyoko7384.blogspot.com/2017/03/mini-mod-iptv-rom-mod-padavan-rt-ac54u.html
https://leamtrop.com/2017/05/11/flash-openwrt-squashfs/
https://kirkhsutw.blogspot.tw/2017/06/mini.html
https://kknews.cc/tech/oyb2j3m.html
https://jingyan.baidu.com/article/c45ad29c24ee27051653e264.html
https://jingyan.baidu.com/article/3f16e003faa67e2591c10300.html
https://jingyan.baidu.com/article/215817f790b3ca1eda142333.html