Bookmark

Cài OpenWrt: phân biệt bốn phương án và đường khôi phục

Cài OpenWrt phụ thuộc từng thiết bị. Trang generic chỉ giúp tôi hiểu các nhánh kỹ thuật; trước khi flash, tôi phải mở đúng trang model trong Table of Hardware và không được lấy địa chỉ IP, tên file hay lệnh của router khác.1

Cảnh báo: Các thao tác dưới đây có thể làm hỏng firmware hoặc thiết bị. Nếu cài thất bại, phải chuyển sang tài liệu debrick/recovery đúng model. Không ghi đè hoặc sửa bootloader khi trang thiết bị chưa chỉ rõ điều đó.1

Chọn đường cài trước khi chạm vào flash

Tài liệu nêu ba lựa chọn theo nơi chạy image và bốn cách cài thường gặp:

  • Option 1: cài OpenWrt vào bộ nhớ không mất dữ liệu của router.
  • Option 2: nạp OpenWrt vào RAM để thử mà firmware trên flash vẫn còn.
  • Option 3: boot OpenWrt qua mạng; không phải bootloader nào cũng hỗ trợ netboot.
  • Bốn phương án truyền firmware cụ thể là OEM WebUI, bootloader qua Ethernet, bootloader qua serial và JTAG.1

Prerequisite và checklist model

Trước khi chọn phương án, tôi phải xác định đủ các giá trị của bootloader:

  1. Địa chỉ IP dựng sẵn của bootloader; nó có thể khác IP sau khi firmware OEM khởi động.
  2. Giao thức và vai trò client/server: TFTP, FTP, web, XMODEM hoặc cách riêng của model.
  3. Port nếu không dùng port mặc định.
  4. Cổng hoặc interface Ethernet/serial cần nối.
  5. Username và password nếu bootloader yêu cầu.
  6. Khoảng thời gian sau khi bật nguồn để kết nối.

Sau đó cài đúng phần mềm trên PC, đọc manual của công cụ như tftp, tftpd, ftp, ncftp, ftpd hoặc pure-ftpd, cấu hình IP tĩnh cùng dải với bootloader, nối PC vào thiết bị, power cycle, kết nối vào bootloader rồi gửi đúng firmware. Không ghi đè bootloader cho tới khi tài liệu model nói rõ.1

Phương án 1: qua firmware OEM

Mở WebUI của firmware gốc, chọn file factory đúng model/hardware revision trong mục Firmware Upgrade, rồi để thiết bị reboot. OEM có thể chỉ chấp nhận một kiểu file riêng; nếu vậy, chỉ dùng image đã được ghi rõ tương thích trên trang thiết bị. Không suy ra rằng mọi factory image đều dùng được cho mọi revision.1

Phương án 2: bootloader qua cổng Ethernet

Bootloader có thể chạy TFTP client, TFTP server, FTP client, FTP server, web server hoặc XMODEM. Khi đã biết thông số ở checklist, thực hiện theo thứ tự:

  1. Cài client/server phù hợp trên PC.
  2. Đọc manual và đặt IP tĩnh của PC cùng dải bootloader.
  3. Nối PC vào đúng cổng thiết bị.
  4. Power cycle và canh đúng cửa sổ bootloader.
  5. Kết nối bằng công cụ đã chọn.
  6. Gửi image OpenWrt đúng tên, đúng loại và đúng model.
  7. Dừng lại nếu bootloader từ chối image; không ép bằng file của model khác.
  8. Không overwrite hoặc alter bootloader khi chưa có hướng dẫn rõ ràng.

Nếu cửa sổ kết nối rất ngắn, tài liệu gợi ý tối ưu thời gian bắt tay NIC như tắt auto-negotiation hoặc media sensing khi cách làm đó được tài liệu model cho phép.1

Các how-to liên quan trong nguồn gồm generic.flashing.tftp, generic.flashing.ftpgeneric.flashing.xmodem; chúng là các nhánh riêng, không được gộp thành một lệnh TFTP chung.1

Phương án 3: bootloader qua serial

Serial vẫn cần các dữ liệu từ mục Ethernet (giao thức, IP, port, interface và cửa sổ thời gian), sau đó làm theo generic.flashing.serial của thiết bị. Kết nối serial không tự biến một image generic thành image đúng model; phải giữ nguyên bootargs, địa chỉ và layout mà bootloader yêu cầu.1

Phương án 4: JTAG

JTAG là đường can thiệp sâu để ghi hoặc cứu flash khi các đường thông thường không còn dùng được. Chỉ làm theo port.jtag và hướng dẫn riêng của board, chuẩn bị nguồn ổn định, sơ đồ chân, công cụ và bản dump đúng thiết bị. Không tự đoán pinout hoặc offset JTAG.1

Nạp ramdisk để thử, không ghi flash: ví dụ WNDR3700

Nguồn có một ví dụ cụ thể cho WNDR3700. Đây là ví dụ thủ tục, không phải recipe dùng cho router khác.

  1. Trong OpenWrt Buildroot, chọn RAMDISK để tạo openwrt-ar71xx-uImage-lzma.bin.
  2. Nối cáp Ethernet giữa máy tính và một cổng LAN của WNDR3700; không dùng WAN.
  3. Nối serial vào header và đặt terminal:
    • 115200 bps 8N1;
    • không software flow control;
    • không hardware flow control.
  4. Đặt IP Ethernet của PC là 192.168.0.10/24.
  5. Chạy TFTP server trên PC và đặt image trong thư mục TFTP.
  6. Sửa header image bằng chương trình wndr3700.c theo hướng dẫn WNDR3700, sau đó chạy lệnh sau trong thư mục TFTP:
1
./wndr3700 openwrt-ar71xx-uImage-lzma.bin openwrt-fixed.out
  1. Bật board, khi serial hỏi nhấn phím để ngắt boot bình thường thì nhấn phím và vào prompt.
  2. Nhập chính xác các lệnh bootloader:
1
2
3
4
5
setenv ipaddr 192.168.0.1
setenv serverip 192.168.0.10
setenv bootargs 'board=WNDR3700'
tftpboot 80800000 openwrt-fixed.out
bootm

Nếu quên bootargs, board có thể boot trông bình thường nhưng không đưa các interface mạng lên. Khi ramdisk chạy, firmware trên flash vẫn không bị thay đổi; đây là ranh giới an toàn để kiểm tra trước khi cài lâu dài.1

Checklist trước, trong và sau khi cài

Trước khi cài

  • Đọc FAQ before installation, Table of Hardware và forum cho đúng router.
  • Đảm bảo router đang ở firmware stock/original nếu phương án yêu cầu OEM.
  • Cấu hình PC IP tĩnh và nối dây, không dùng Wi‑Fi cho phiên flash.
  • Lưu tài liệu First login và Failsafe để đọc offline.
  • Có thể backup flash trước nếu trang model hỗ trợ và có nơi lưu ngoài router.

Trong khi cài

  • Reboot theo đúng cửa sổ bootloader.
  • Đặt image ở nơi đúng: với sysupgrade đang chạy OpenWrt, nguồn nhắc /tmp vì đây là RAM.
  • Kiểm tra MD5 checksum của image tải về theo checksum mà nguồn cung cấp.
  • Bảo đảm RAM trống ít nhất bằng kích thước image.
  • Không ngắt nguồn, không đổi cáp hoặc đổi cổng giữa lúc đang ghi.

Sau khi cài

  • Làm First login và đặt root password.
  • Backup flash lần nữa nếu phương án/model cho phép.
  • Làm quen với Failsafe.
  • Chỉ sau đó mới cấu hình mạng, Wi‑Fi và dịch vụ.1

Phạm vi và rollback

Generic flashing không cung cấp một lệnh restore chung. Khi image không boot, quay về bootloader/OEM/recovery đúng model; không dùng sysupgrade của thiết bị khác và không đoán offset. Nếu chỉ muốn thử image, ưu tiên ramdisk hoặc đường recovery được tài liệu model xác nhận thay vì ghi thẳng vào flash.1

Nguồn


0 Bình luận

Góp Ý / Bình Luận / Đánh giá