🌐 VI | EN

Hướng dẫn cài đặt OpenWRT cho Redmi AX6000

Nghia Phan
Nghia Phan
🌐 English version Bài viết kỹ thuật Lượt xem
📌 Ghi chú

CHÚ Ý: Các hướng dẫn dưới đây không dành cho người dùng không chuyên. Làm theo hướng dẫn đồng nghĩa với các bạn chấp nhận rủi ro và đó là nguy cơ của riêng bạn, mình sẽ không chịu trách nhiệm (sẽ cố gắng giúp đỡ nếu các bạn gặp vấn đề)

  • Hướng dẫn sẽ chia làm 2 phần cho 2 phiên bản OpenWRT khác nhau
    • Phiên bản 1 sử dụng stock bootloader.
    • Phiên bản 2 sử dụng ubootmod.
  • Yêu cầu:
    • Router đã mở SSH (Xem hướng dẫn)
    • Có kỹ năng cơ bản để sử dụng dòng lệnh
    • Chú ý cẩn thận với các dòng lệnh
  • Chuẩn bị:

I. Cài đặt phiên bản OpenWRT sử dụng Stock Bootloader

  • File cần chuẩn bị. Download tại OpenWRT:

    • xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi
    • xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin
  • Mở phần mềm WinSCP lên, hiện lên bảng đăng nhập.

    • Mục File Protocol chọn SCP
    • Hostname: Điền địa chỉ IP của Router, mặc định là 192.168.31.1 Port 22.
    • Username: root
    • Password: lấy root Password dựa trên mã SN của router

    Nhấn nút Copy để sao chép Password được tạo.

📂 Screenshot SCP login

SCP Login

  • Sau khi vào SCP, click đúp vào thư mục tmp ở phía bên phải
    • kéo thả file openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi vào.

Đăng nhập SSH

Chạy lần lượt các lệnh sau. chú ý nhập đúng lệnh và thứ tự

*Nhấn nút Copy để copy lệnh tránh sai sót

cat /proc/cmdline

Màn hình trả về dòng code tương tự như sau:

console=ttyS0,115200n1 loglevel=8 firmware=1 uart_en=1

Kết quả trả về sẽ có firmware=1 hoặc firmware=0

Chỉ chạy 1 trong 2 cụm lệnh sau đây (dựa theo firmware=0 hoặc 1)

Nếu firmware=1

nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=0 nvram set flag_last_success=0 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit ubiformat /dev/mtd8 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi reboot

Nếu firmware=0

nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=1 nvram set flag_last_success=1 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit ubiformat /dev/mtd9 -y -f /tmp/openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi reboot

Sau khi khởi động lại, router sẽ có địa chỉ là 192.168.1.1

  • Đăng nhập lại vào SCP theo địa chỉ 192.168.1.1 port 22 (không có pasword)
    • vào thư mục tmp và kéo thả file openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin vào.

Đăng nhập SSH

Chạy lần lượt các lệnh sau. chú ý nhập đúng lệnh và thứ tự

*Nhấn nút Copy để copy lệnh tránh sai sót

Set các ENV cần thiết để boot OpenWRT

fw_setenv boot_wait on fw_setenv uart_en 1 fw_setenv flag_boot_rootfs 0 fw_setenv flag_last_success 1 fw_setenv flag_boot_success 1 fw_setenv flag_try_sys1_failed 8 fw_setenv flag_try_sys2_failed 8 fw_setenv mtdparts “nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),30720k(ubi),30720k(ubi1),51200k(overlay)”

Sau khi set ENV xong, tiến hành flash OpenWRT

sysupgrade -n /tmp/openwrt-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin

Sau khi chạy xong các lệnh trên, OpenWRT sử dụng stock bootloader sẽ được cài vào hệ thống.

I. Cài đặt phiên bản OpenWRT sử dụng UbootMOD

💡 Mẹo hay

Link tại thời điểm viết bài là 23.05.2. Tìm phiên bản mớ tại OpenWRT.org

II.1 Backup

Trước khi làm, nhớ backup lại đề phòng brick

Đăng nhập SSH vào Router đang chạy OpenWRT phiên bản Stock bootloader

Chạy các lệnh sau để backup.

*Nhấn nút Copy để copy lệnh tránh sai sót

cat /dev/mtdblock0 > /tmp/BL2.bin cat /dev/mtdblock1 > /tmp/Nvram.bin cat /dev/mtdblock2 > /tmp/Bdata.bin cat /dev/mtdblock3 > /tmp/Factory.bin cat /dev/mtdblock4 > /tmp/FIP.bin

Sau khi backup, đăng nhập WinSCP và vào thư mục tmp rồi kéo thả file vào máy tính

II.2 Tiến hành cài OpenWRT ubootmod

II.2.1. Flash file initramfs

Sử dụng WinSCP để đưa file xiaomi_redmi-router-ax6000-ubootmod-initramfs-factory.ubi vào thư mục /tmp

Chạy lệnh sau

Flash initramfs vào hệ thống

ubiformat /dev/mtd7 -y -f /tmp/ax6000-ubootmod-initramfs-factory.ubi

khởi động lại

reboot

Sau khi reboot, vào lại SSH và check lại phân vùng

bằng lệnh sau

cat /proc/mtd

Kết quả trả về như sau:

dev: size erasesize name

mtd0: 00100000 00020000 BL2

mtd1: 00040000 00020000 Nvram

mtd2: 00040000 00020000 Bdata

mtd3: 00200000 00020000 Factory

mtd4: 00200000 00020000 FIP

mtd5: 07a80000 00020000 ubi

Phân vùng ubi phải là mtd5

II.2.2 Mở khóa phân vùng bootloader

OpenWRT chính chủ đã lock phân vùng bootloader và không cho phép ghi đè
Để mở khóa phân vùng các bạn cài thêm package kmod-mtd-rw

Chạy lệnh sau để cài đặt kmod-mtd-rw và load module vào kernel.

Cài đặt kmod-mtd-rw

opkg update && opkg install kmod-mtd-rw

Load module vào kernel

insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1

Chạy lệnh rm -f /sys/fs/pstore/* để clear logs, nếu không openwrt có thể sẻ tự boot vào chế độ recovery

rm -f /sys/fs/pstore/*

II.2.3 Format ubi và tạo phân vùng ubootenv

Chạy lần lượt các lệnh

ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5 ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB

II.2.4 Flash ubootmod

Dùng WinSCP đưa 3 file vào /tmp:

  • xiaomi_redmi-router-ax6000-ubootmod-bl31-uboot.fip
  • xiaomi_redmi-router-ax6000-ubootmod-preloader.bin
  • xiaomi_redmi-router-ax6000-ubootmod-squashfs-sysupgrade.itb

Chạy lần lượt các lệnh

Flash Preloader

mtd write /tmp/xiaomi_redmi-router-ax6000-ubootmod-preloader.bin BL2

Flash ubootmod

mtd write /tmp/xiaomi_redmi-router-ax6000-ubootmod-bl31-uboot.fip FIP

II.2.4 Cài OpenWRT ubootmod

Chạy lệnh sau để flash OpenWRT

sysupgrade -n xiaomi_redmi-router-ax6000-ubootmod-squashfs-sysupgrade.itb

Vậy là các bạn đã cài xong OpenWRT phiên bản ubootmod.

Bình Luận & Thảo Luận

Góp ý, hỏi đáp và chia sẻ suy nghĩ của bạn

Markdown & QQ Emoji
Đang tải khung bình luận...