123kaka
Đã tốn tiền
Em mới lấy con AC2100 này, dùng rôm gốc, only 5ghz, kênh 40, sóng xuyên tường :v. Không biết về lâu dài sóng xuyên tường có ảnh hưởng sức khoẻ lo nhỉ
via theNEXTvoz for iPhone
via theNEXTvoz for iPhone
cho hỏi thím viết guide chưa nhỉ, mình lội mấy trang cuối chưa có thấy.để mai chắc mình sẽ viết 1 cái guide hướng dẫn flash rom rồi nhảy qua lại giữa các bản rom padavan với openwrt. Kinh nghiệm tích luỹ dc sau 3 tháng vọc con này. Chưa bao giờ đụng vô breed web luôn, cơ bản mình muốn giữ cái stock bootloader để còn dùng MiWifiRepair về stock cho sạch sẽ.
hic sorry ae mình chưa có thời gian viết. Các trang mình tham khảo:cho hỏi thím viết guide chưa nhỉ, mình lội mấy trang cuối chưa có thấy.
nếu mà thím chưa viết thì có thể cho mình xin mấy chỗ hướng dẫn cài thím đã tham khảo để cài không
hiện giờ thì còn đang tranh cãi. Thím có thể search ionizing radiation với non-ionizing radition để ngâm cứu. Theo mình đừng để gần đầu. Khi ngủ mình cũng toàn sạc đt ở trên bàn cách xa giường, vừa an toàn lỡ cháy nổ vì pin, vừa đỡ ảnh hưởng từ sóng (nếu có)Em mới lấy con AC2100 này, dùng rôm gốc, only 5ghz, kênh 40, sóng xuyên tường :v. Không biết về lâu dài sóng xuyên tường có ảnh hưởng sức khoẻ lo nhỉ
via theNEXTvoz for iPhone
hic sorry ae mình chưa có thời gian viết. Các trang mình tham khảo:
https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100
http://forum.openwrt.org/t/new-xiaomi-router-ac2100
https://4pda.to/forum/index.php?showtopic=975687
function getSTOK() {
let match = location.href.match(/;stok=(.*?)\//);
if (!match) {
return null;
}
return match[1];
}
function execute(stok, command) {
command = encodeURIComponent(command);
let path = `/cgi-bin/luci/;stok=${stok}/api/misystem/set_config_iotdev?bssid=SteelyWing&user_id=SteelyWing&ssid=-h%0A${command}%0A`;
console.log(path);
return fetch(new Request(location.origin + path));
}
function enableSSH() {
stok = getSTOK();
if (!stok) {
console.error('stok not found in URL');
return;
}
console.log(`stok = "${stok}"`);
password = prompt('Input new SSH password');
if (!password) {
console.error('You must input password');
return;
}
execute(stok,
`
nvram set ssh_en=1
nvram commit
sed -i 's/channel=.*/channel=\\"debug\\"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start
`
)
.then((response) => response.text())
.then((text) => console.log(text));
console.log('New SSH password: ' + password);
execute(stok, `echo -e "${password}\\n${password}" | passwd root`)
.then((response) => response.text())
.then((text) => console.log(text));
}
enableSSH();
ssh [email protected]
xong enter, hỏi continue connecting thì gõ "yes", tới khúc này thì nhập pass mấy thím đã đặt ở trên:nvram set flag_try_sys1_failed=1
nvram commit
scp <đường dẫn file> [email protected]:/tmp
để upload file lên thư mục /tmp trên router. Nhập pass như lúc gõ lệnh ssh.cd /tmp
để di chuyển tới thư mục /tmp nơi chứa 2 file kernel1.bin và rootfs0.bin mình vừa đưa lên. Sau đó lần lượt gõ:mtd write kernel1.bin kernel1
mtd write rootfs0.bin rootfs0
reboot
mtd write kernel1.bin kernel
mtd write rootfs0.bin ubi
cd /tmp
tới chỗ để file "Padavan.trx", rồi gõ 2 lệnh dd này:dd if=Padavan.trx bs=4194304 count=1 of=kernel1.bin
dd if=Padavan.trx bs=4194304 skip=1 of=rootfs0.bin
mtd_write write Padavan.trx Firmware_Stub
mtd_write -e Firmware_Stub write Padavan.trx Firmware_Stub
mtd write bootloader-redmi-ac2100.bin Bootloader
Xin bác giúp vơi@saybyebye @tomriddle112 @EnihsChan mấy thím nghiệm thu thử, coi guide mình viết có chỗ nào khó hiểu để mình sửa rồi finalized cho thím @Forever963 update lên #1 luôn. Mấy thím test phần nhảy qua lại các rom ấy, tại phần ấy các bước na ná nhau chỉ đổi tí xíu nên mình lười viết chi tiết cho đỡ dài
Guide của thím khá đầy đủ rồi đó ạ, em góp chút ý bổ sung khi làm theo guide bị stuck nha@saybyebye @tomriddle112 @EnihsChan mấy thím nghiệm thu thử, coi guide mình viết có chỗ nào khó hiểu để mình sửa rồi finalized cho thím @Forever963 update lên #1 luôn. Mấy thím test phần nhảy qua lại các rom ấy, tại phần ấy các bước na ná nhau chỉ đổi tí xíu nên mình lười viết chi tiết cho đỡ dài
Không dùng con này nhưng cũng vẫn phải quất phát + tín dụng cho thím[Guide] Xiaomi Redmi AC2100 - Hướng dẫn flash và đổi qua lại giữa các bản rom, KHÔNG cần dùng Breed
Sau vài tháng nghịch con này thì mình tham khảo dc cách mở ssh cực nhanh không cần phải setup PPPOE phức tạp như cách cũ. Đồng thời mình tìm ra cách up rom ko cần dùng Breed, đây là cách mình prefered hơn vì Breed của con này thực chất là lấy từ con R3G, cho nên sẽ ko tránh khỏi việc dính bug gây lỗi. Ai thích cài Breed thì cứ kết hợp với guide cũ là dc nhé.
Phần A - Bắt đầu từ stock.
Điều kiện: rom stock 2.0.23 và chưa cài Breed (vẫn còn bootloader gốc). Nếu đã cài hay chỉnh sửa gì thì kéo xuống phần C - mình có hướng dẫn về zin.
Bước 1: Mở SSH trên rom stock
Đăng nhập vào trang config của router (mặc định 192.168.31.1), bấm tổ hợp Ctrl + Shift + J để mở javascript console, xong paste đoạn code này vào rồi Enter.
Xong 1 cửa sổ hiện ra, mấy thím đặt pass gì cũng dc, nhưng ghi nhớ để lát còn ssh vào bằng pass nàyCode:function getSTOK() { let match = location.href.match(/;stok=(.*?)\//); if (!match) { return null; } return match[1]; } function execute(stok, command) { command = encodeURIComponent(command); let path = `/cgi-bin/luci/;stok=${stok}/api/misystem/set_config_iotdev?bssid=SteelyWing&user_id=SteelyWing&ssid=-h%0A${command}%0A`; console.log(path); return fetch(new Request(location.origin + path)); } function enableSSH() { stok = getSTOK(); if (!stok) { console.error('stok not found in URL'); return; } console.log(`stok = "${stok}"`); password = prompt('Input new SSH password'); if (!password) { console.error('You must input password'); return; } execute(stok, ` nvram set ssh_en=1 nvram commit sed -i 's/channel=.*/channel=\\"debug\\"/g' /etc/init.d/dropbear /etc/init.d/dropbear start ` ) .then((response) => response.text()) .then((text) => console.log(text)); console.log('New SSH password: ' + password); execute(stok, `echo -e "${password}\\n${password}" | passwd root`) .then((response) => response.text()) .then((text) => console.log(text)); } enableSSH();
View attachment 855897
Bước 2: SSH vào router
Mở PowerShell lên (Command Prompt cũng dc), gõssh [email protected]
xong enter, hỏi continue connecting thì gõ "yes", tới khúc này thì nhập pass mấy thím đã đặt ở trên. Nếu quên thì làm lại bước 1:
View attachment 855910
Như này là đã SSH vào router thành công:
View attachment 855920
Bước 3: Gõ 2 lệnh quan trọng
Cần thiết để boot OpenWrt, Padavan... sau khi cài. Enter sau mỗi lệnh nhé:
nvram set flag_try_sys1_failed=1
nvram commit
Vậy là cơ bản xong phần chuẩn bị, mời các thím xem tiếp phần dưới để tiến hành up rom.
Phần B - Các bước up rom/nhảy qua lại giữa các bản rom.
I) Up rom OpenWrt:
- Case 1: Đang ở rom stock (tiếp tục phần A)
Bước 1: Đưa file rom lên router bằng scp
Mở 1 cửa sổ PowerShell khác để gõ lệnh trên Windows.
Gõ lệnhscp <đường dẫn file> [email protected]:/tmp
để upload file lên thư mục /tmp trên router. Nhập pass như lúc gõ lệnh ssh.
Chỗ <đường dẫn file> thì mấy thím kéo thả file từ máy tính vào. Có thể kéo thả nhiều file để up cùng lúc. Nhớ để ý khoảng cách.
Như hình vd đây là mình đã đưa 2 file rootfs0 với kernel1 của openwrt lên router thành công:
View attachment 856108
Bước 2: Tiến hành up rom
Quay lại cửa sổ SSH ban đầu để gõ lệnh trên router. Gõcd /tmp
để di chuyển tới thư mục /tmp (lúc nãy scp file lên đây). Sau đó lần lượt gõ.
mtd write kernel1.bin kernel1
mtd write rootfs0.bin rootfs0
reboot
(Các thím có thể gõ vài chữ đầu openwrt-21.02... xong bấm Tab là nó tự động gợi ý nốt tên file)
View attachment 856136
Tới đây là xong, router sẽ reboot vào OpenWrt.
- Case 2: Đang ở rom OpenWrt
Cách làm tương tự, có chút thay đổi ở 2 lệnh mtd write:
mtd write kernel1.bin kernel
mtd write rootfs0.bin ubi
IP mặc định thường là 192.168.1.1. Các thím chú ý để ssh với scp cho đúng.
- Case 3: Đang ở rom Padavan
Theo suy đoán thì nếu gộp 2 file kernel1 với rootfs0 thành 1 file thì có thể mtd write vào Firmware_Stub, mà mình chưa tìm dc cách làm để test, nên thôi ae cứ MiWifiRepair Tool về stock rồi làm lại từ đầu
II) Up rom Padavan:
- Case 1: Đang ở rom stock
Bước 1: Đưa file rom lên router
Dùng lệnh scp như trên I) để đưa file Padavan lên router.
Bước 2: Tách file & up rom
Trước khi up cần phải tách file Padavan thành 2 file kernel1.bin với rootfs0.bin. SSH vào router như hướng dẫn ở trên, sau đó gõcd /tmp
, rồi gõ 2 lệnh dd này:
dd if=Padavan.trx bs=4194304 count=1 of=kernel1.bin
dd if=Padavan.trx bs=4194304 skip=1 of=rootfs0.bin
Giờ thì gõ 2 lệnh mtd write để up rom như hướng dẫn ở trên I)
- Case 2: Đang ở rom OpenWrt
Tách file như Case 1. Sau đó thì mtd write vào kernel với ubi, tương tự như Case 2 ở trên I)
- Case 3: Đang ở rom Padavan:
Ko cần tách file, mtd write cái file Padavan thẳng vô "Firmware_Stub" luôn, chú ý rom Padavan thì lệnh mtd đổi tên thành mtd_write, nên câu lệnh phải là:
mtd_write write Padavan.trx Firmware_Stub
À, mình khuyên gõ như này để format cái Firmware_Stub cho sạch, tránh lỗi
mtd_write -e Firmware_Stub write Padavan.trx Firmware_Stub
User là admin, ip thường là 192.168.1.1 hoặc 192.168.0.1, tuỳ bản
Phần C - Quay về stock nếu đã up Breed hay các rom khác
Các thím cần up lại stock bootloader nếu đã up Breed. Đầu tiên tải file này về. Sau đó scp đưa file lên router. Rồi ssh vô dùng lệnh mtd write như sau:
mtd write bootloader-redmi-ac2100.bin Bootloader
Các bước còn lại dùng MiWifi Repair mấy thím cứ coi video này
đã sửa lại phần đặt tên cho rõ ràng hơn, thím check lại xem sao. Còn vụ login với pass thì khá lung tung tại tuỳ theo người compile chỉnh nữa, cả OpenWrt lẫn Padavan luôn. Mình chỉ liệt kê vài cái sau khi trải nghiệm qua 3-4 bản. Nên ko đúng thì ae cứ post lên đây để mng tìm giúpGuide của thím khá đầy đủ rồi đó ạ, em góp chút ý bổ sung khi làm theo guide bị stuck nha
- ở window mở JS Console thì dùng "Ctrl + Shift + J" còn trên mac là "Cmd + opt + J"
- Phần II) Up rom Padavan ở bước 2 khi dùng lệnh để tách nó ra thì thím nên giải thích thêm cái 'padavan.trx' là tên file rom nha => có 2 cách
- trước khi đẩy file rom qua route nên rename lại để gõ command cho ngắn + tiện + đỡ pick nhầm file.
- Nếu đã lỡ đẩy lên rồi thì có thể dùng lệnh "mv "tên file cũ" "tên file mới" để rename nó lại. Sau khi rename xong thì có thể dùng lệnh "ls" để check lại tên nó đúng chưa.
- Trường hợp up rom xong đối với rom padavan ( bản RM2100_3.4.3.9Z-102-24z5r2l8_full.trx)
- IP router: 192.168.31.1
- Default wifi: RM_2100/ 1234567890
- Default admin account: admin/admin
Cảm ơn thím đã viết Guide nha!