Hay quá bác ơi, vào dc rồi, many thanks ạ. Làm mất cả buổi chiều cứ loay hoay.Nếu dùng chrome thì ấn Ctrl+Shift+N để vào Incognito mode thì mới truy cập được http không có s (vì mode thường có cache sẵn nên tự thêm s)
Hay quá bác ơi, vào dc rồi, many thanks ạ. Làm mất cả buổi chiều cứ loay hoay.Nếu dùng chrome thì ấn Ctrl+Shift+N để vào Incognito mode thì mới truy cập được http không có s (vì mode thường có cache sẵn nên tự thêm s)
Cái full flash cho file NX32U_2811_full.bin này nằm ở chỗ nào bác ơi?Bác giải nén file để KeenBOOT_NX31.bin, bl2-mt7981-bga-ddr3-ram.bin chung thư mục với mtk_uartboot.exe
Keenetic - Google 雲端硬碟
drive.google.com
mtk_uartboot -s COM3 --payload bl2-mt7981-bga-ddr3-ram.bin --aarch64 --fip KeenBOOT_NX31.bin && putty.exe -serial COM3 -sercfg 115200,8,n,1,N
Đợi Putty nó nhảy lên bấm phím di chuyển xuống chọn mục start web fail safe rồi làm như hướng dẫn của post đầu vào web chọn cái có chữ full flash cái file NX32U_2811_full.bin này
R làm lại flash cái KeenBOOT_NX31.bin, flash Firmware mới nhất của chủ post
Dùng mtk_uart boot lại keenboot vào failsafe up bl2 mới + keenboot rồi fwNạp mỗi fw reboot lại vẫn tạch bác ạ.Xem tệp đính kèm 3728253
Lên đi bác, chạy 10 ngày rồi ngon lành. Chủ yếu cập nhật bảo mật với thay đổi giao diện tí.thấy có KeeneticOS 5.1.1 cả 2 tuần nay rồi, ai lên chưa?
Tôi đã qua được NAND, giờ hiện đang dính mt7986_eth quét không thấy mt7531, chia sẻ để mọi người cùng nghiên cứu:
1. Kéo keenetic-sdk từ github về (GitHub - keenetic/keenetic-sdk: KeeneticOS build system (https://github.com/keenetic/keenetic-sdk)).
2. Tải firmware keen chính chủ: https://osvault.keenetic.net/KN-3811/4.03/KN-3811_stable_4.3.3_4.03.C.3.0-3.bin, dùng scripts unpack.sh giải nén firmware
3. Gõ lệnh "make prepare" để kéo linux kernel về source
4. Giải nén add_dosilicon_nr3053.zip, copy các file vào source linux tại đường dẫn: "keenetic-sdk/build_dir/target-aarch64-linux-musl_musl/linux-mt7981_KN-3811/linux-4.9"
5. Giải nén mtd_patch.zip, copy 2 file ndmpart.c và ndmpart.h vào thư mục ./linux-4.9/drivers/mtd
- Các file core.c, dosilicon.c và Makefile, copy vào ./linux-4.9/drivers/mtd/nand/spi
- File spinand.h copy vào ./linux-4.9/include/linux/mtd
6. Đổi tên, copy KN-3811.dts vào keenetic-sdk/target/linux/mt7981/dts
7. Build firmware bằng lệnh make
8. Flash uboot. Lưu ý: kiểm tra kỹ các phân vùng mtd trên thiết bị hiện tại đúng kích thước 1MB (BL2), env (1MB), factory (2MB), fip (2MB) và firmware (ubi) bắt đầu từ 0x600000 hay chưa, nếu chưa thì ko flash kẻo brick.
9. Tải tftpd64 (Tftpd32: an opensource free firewall friendly dhcp, syslog sntp and tftp server/service for windows, tftp client (https://pjo2.github.io/tftpd64/)), bỏ file firmware vừa build được vào chung thư mục, chạy tftpd64.exe, chọn đúng giao diện hiển thị địa chỉ IP của PC (192.168.1.254)
10. Cắm uart, khi giao diện uboot vừa lên thì nhấm Ctrl + C để ngắt, gõ "setenv ipaddr 192.168.1.1" => "setenv serverip 192.168.1.254" => "tftpboot 0x46000000 <tên_firmware_đã_build>" => "mtd erase ubi" => "mtd write ubi 0x46000000" => "bootm 0x46000000#config@1"
P/s: tôi đang ở immortalwrt mod qua keen, nên mtd layout sẽ là BL2-> env -> factory -> fip -> ubi, bác nào đang ở firmware gốc của NR3053 (openwrt) thì nên qua immortalwrt trước nhé.
#define SPINAND_HAS_QE_BIT BIT(0)
#define SPINAND_HAS_CR_FEAT_BIT BIT(1)
#define SPINAND_PP_WRITE_LOAD_FIRST BIT(4)
/**
* struct spinand_info - Structure used to describe SPI NAND chips
...
mt7986_eth mặc định unpack từ firmware chính chủ ko nhận đc chip mt7531 trên nr3053, phải sử dụng mt7986_eth và phr đã được patch thì mới workMình thì chưa có thiết bị để thử.
Nhưng dùng : KN-3811_stable_5.0.8_5.00.C.8.0-1.bin , thì bên thằng Keenetic-sdk ko báo lỗi tunnel khi unpack.
Làm theo hướng dẫn trên của thím ( cái khúc thím nói mt7531 fix chưa thấy, thím mần sao á ).
Còn với KN-3811_stable_5.0.8_5.00.C.8.0-1.bin thì trong foresee.c , thím khai SPINAND_PP_WRITE_LOAD_FIRST , nhưng trong spinand.h thì ko có declare.
Mình mần lụi trong spinand.h ,
Mã:#define SPINAND_HAS_QE_BIT BIT(0) #define SPINAND_HAS_CR_FEAT_BIT BIT(1) #define SPINAND_PP_WRITE_LOAD_FIRST BIT(4) /** * struct spinand_info - Structure used to describe SPI NAND chips ...
Nó ra vầy : /Keenbuild/keenetic-sdk/build_dir/target-aarch64-linux-musl_musl/linux-mt7981_KN-3811/tmp/20260726_0054_Firmware-KN-3811-5.00.C.12.1-1.bin
vui vui ghê, còn chạy được hay khong thì mình không biết.
Viết tút share cách làm đi fency.mt7986_eth mặc định unpack từ firmware chính chủ ko nhận đc chip mt7531 trên nr3053, phải sử dụng mt7986_eth và phr đã được patch thì mới work
nand thì add thêm dosilicon support cho kernel, lưu ý đúng mã chip
via theNEXTvoz for iPhone

tôi có viết ở post trước rồi đó bác, thêm cái dùng mt7986_eth và phr patched thay cho cái được unpack từ firmware chính chủ ở trong build_dir/target-aarch64-linux-musl_musl/root-mt7981/lib/modules/ rồi "make install" lạiViết tút share cách làm đi fency.
![]()
Chi tiết hơn tí đi fen, add file driver vào như nào? Còn file dts fix port, đèn đóm như nào...

còn muốn dùng keenkit để gen service data thì file ndmpart.c tìm bỏ thuộc tính read_only chỗ phân vùng "U-Config"tôi có viết ở post trước rồi đó bác, thêm cái dùng mt7986_eth và phr patched thay cho cái được unpack từ firmware chính chủ ở trong build_dir/target-aarch64-linux-musl_musl/root-mt7981/lib/modules/ rồi "make install" lại
via theNEXTvoz for iPhone
thằng keen no ko như openwrt hay mấy os tương tự, ko chỉnh port, phân vùng, đèn, nút trong dts mà toàn hardcode. Như cái đèn, nút, mổ xẻ firmware của mấy bác bán router cài sẵn keen thì có 01 một module được viết riêng để fix, mà để dùng nó phải chỉnh sửa trong kernelChi tiết hơn tí đi fen, add file driver vào như nào? Còn file dts fix port, đèn đóm như nào...![]()
Phức tạp phết nhỉ.thằng keen no ko như openwrt hay mấy os tương tự, ko chỉnh port, phân vùng, đèn, nút trong dts mà toàn hardcode. Như cái đèn, nút, mổ xẻ firmware của mấy bác bán router cài sẵn keen thì có 01 một module được viết riêng để fix, mà để dùng nó phải chỉnh sửa trong kernel
via theNEXTvoz for iPhone

