🌐 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

📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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
📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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
📋 Hướng dẫn từng bước

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

📋 Hướng dẫn từng bước

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...