Change background image
LOVE quotion

Bắt đầu từ 4.53' thứ Hai ngày 17/10/2011


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

Prosperity
Prosperity Tích cực

Cấp bậc: Tích cực

Giới tính : Nam

Bài viết : 464

Danh vọng : 820

Uy tín : 0

Thay thế firmware cho router wifi bằng OpenWrt

Cài đặt Firmware Openwrt thay thế firmware gốc router wifi, sử dụng DuckDNS free với ngdhung@gmail.com

Phải chăng chỉ nguy hiểm với các router Trung Quốc?:


Giả sử bạn có router wifi mà bỗng một ngày bạn thấy nó hơi nghèo nàn, thiếu tính năng mới lạ, hay đơn giản là bạn thấy cuộc sống quá yên bình nên muốn chọc ngoáy cái router đôi chút, như bạn từng thử cài hàng tá phần mềm lên PC, thay đổi cấu hình này nọ thành một mớ hỗn độn rồi phải cài mới lại hệ điều hành. Nếu bạn cảm thấy như thế thì có thứ rất đáng cho bạn cài vào router và thử đấy.

Cài phần mềm lên router à, cũng được nữa sao? Tôi đâu thấy có màn hình, bàn phím trên router đâu?

Đa số các router wifi hiện nay thực ra cũng là một máy tính thu gọn (ngoại trừ router của Cisco thì tôi không chắc lắm vì chưa đụng vào bao giờ). Nó cũng có mainboard, CPU, RAM, chip wifi. Nó không có ổ cứng vì người ta không cần lưu trữ dữ liệu trên nó, thay vào đó nó dùng bộ nhớ Flash (tương tự điện thoại di động) để chứa các chương trình. Chúng cũng chạy hệ điều hành và hầu hết hệ điều hành này là phiên bản tỉa bớt của Linux. Nhà sản xuất cắt bỏ và thay đổi nhiều thành phần của Linux để đảm bảo dung lượng nhỏ và không để "cửa" cho người dùng chọc ngoái nhiều. Vì không có màn hình bàn phím nên ta chỉ có thể điều khiển máy tính thu gọn này từ một máy khác (PC của ta), thông qua giao diện web hay giao diện dòng lệnh (telnet).

Như đã nói ở trên, hệ điều hành trong router đã bị cắt gọt nhiều, nên nhiều người mua là dân công nghệ (đúng nghĩa là dân công nghệ chứ không phải dân ưa mua sắm đồ chơi công nghệ đắt tiền để thể hiện) cảm thấy gò bó trong giới hạn của phần mềm mà nhà sản xuất cung cấp trong router. Họ muốn tùy ý phát triển chức năng của router mà không phải tốn tiền mua router đắt hơn. Họ thấy phần mềm có sẵn bị lỗi và muốn phần mềm mới hơn có thể khắc phục lỗi ấy. Thế là OpenWrt ra đời.

OpenWrt là 1 firmware thay thế dành cho router wifi. Được phát triển từ Linux, nhưng không bị cắt gọt nên OpenWrt có hầu như đủ các phần mềm (loại không có giao diện đồ họa) mà bạn có thể bắt gặp trên PC. OpenWrt cũng là một bản phân phối Linux ngang hàng với các cái tên như Ubuntu, Fedora. Bạn có thể truy cập SSH vào một router cài OpenWrt, dùng vim để chỉnh sửa một file cấu hình trên đó, hay cài samba và truy cập vô thư mục chia sẻ của một máy Windows khác trong mạng.

Thay thế firmware cho router wifi bằng OpenWrt 5_interface_glan_configuration

Cài đặt OpenWrt như thế nào?

OpenWrt được cung cấp dưới dạng bản thành phẩm chỉ việc tải về rồi cài, và dưới dạng mã nguồn để bạn tự build thành bản thành phẩm cho router của bạn.

Do router wifi có nhiều chủng loại khác nhau, mỗi loại có chủng loại phần cứng, cách sắp đặt, phối hợp khác nhau nên bản thành phẩm của OpenWrt cũng phải thay đổi tùy theo nó sẽ được cài lên router nào. Trước khi quyết định cài OpenWrt cho router của mình, bạn cần đọc trong danh sách chủng loại router được hỗ trợ tại đây: http://wiki.openwrt.org/toh/start. Nếu router của bạn không có trong danh sách, lý do có thể là nhóm phát triển router chưa nghiên cứu, vọc tới loại router đó, hay họ chưa có trong tay driver của chip cấu tạo nên router, hay do router đó có bộ nhớ flash quá "keo" không đủ để chứa OpenWrt.

Bản cài đặt thành phẩm có thể download từ trang chi tiết về loại router của bạn. Chẳng hạn tôi muốn cài cho TP-Link WR841ND thì tôi lấy link download ở đây: http://wiki.openwrt.org/toh/tp-link/tl-wr841nd

Do router mỗi loại mỗi khác nên cách cài OpenWrt cũng thay đổi tùy theo. Đa số dòng router của TP-Link ta có thể cài OpenWrt trực tiếp qua giao diện web của router, tại mục Firmware Upgrade(vốn dùng để cập nhật firmware "chính hãng")

Thay thế firmware cho router wifi bằng OpenWrt TL-WDR3600_firmware_upgrade

(Nghe có vẻ tôi đang PR cho hãng router này, nhưng thực ra không phải. Đơn giản chỉ là router hãng này không những rẻ nhất, dễ bắt gặp và mua nhất trong các thương hiệu mà còn rất thân thiện với OpenWrt như bạn thấy, khi nó cho phép cài OpenWrt qua giao diện web, chúng cũng sử dụng loại phần cứng có sẵn driver nguồn mở để tạo thuận lợi cho nhóm phát triển OpenWrt). Bên cạnh TP-Link, nhiều dòng router của Netgear cũng cho phép cài theo kiểu này.

Một số dòng router, bạn phải làm gián đoạn quá trình khởi động của router để vào một chế độ đặc biệt, tại đó một TFTP server (tương tự như FTP nhưng chức năng cơ bản hơn) được khởi động, cho phép truyền firmware OpenWrt vào qua đường mạng LAN. Đồng thời lúc đó dịch vụ telnet của router cũng được khởi động cho phép bạn truy cập vào bằng dòng lệnh và dùng 1 lệnh đặc biệt để tiến hành ghi OpenWrt lên bộ nhớ.

Cách vào chế độ đặc biệt này (chế độ bảo trì - maintenance mode) cũng tùy theo loại router. Có loại chỉ cần bấm vào một nút đặc biệt trên thân router, theo một chuỗi nhịp nào đó, có loại bạn phải căn thời gian, chớp một giai đoạn ngắn khi khởi động để kết nối telnet vào router và gõ 1 phím theo quy định để giữ router đứng lại ở chế độ này (không thì nó sẽ tiếp tục khởi động vào chế độ bình thường)

Một số dòng router, bạn phải tháo bung vỏ, dùng cáp serial kết nối vào router và thực thi các lệnh tương tự như trên (nhưng qua serial terminal chứ không phải telnet). Sự éo le ở đây là cổng serial trên router khác với cổng serial (người dùng Windows thường gọi là cổng COM) trên PC nên bạn không thể dùng trực tiếp cáp serial thông thường. Khi đó có 2 giải pháp: Một là dùng loại cáp serial dành cho điện thoại phổ thông (không phải smartphone) như DKU-2 của Nokia và chỉ sử dụng 1 vài đầu dây trong đó, hai là bạn tự lắp mạch TTL-converter để chuyển đổi điện áp và dùng kèm cáp serial dành cho PC. Để thao tác với lệnh qua đường serial, bạn có thể dùng chương trình GtkTerm hay CuteCom

Thay thế firmware cho router wifi bằng OpenWrt 7198da10

Thay thế firmware cho router wifi bằng OpenWrt Gtkter10

Thay thế firmware cho router wifi bằng OpenWrt Cutemo10

Một số dòng, oái oăm hơn khi chân cắm serial bị cắt bỏ khỏi board. Một số dòng thì cách vào chế độ bảo trì rất khắt khe, đòi hỏi bạn phải căn trúng thời gian và chớp đúng thời cơ.

Trên đây tôi đã giới thiệu qua về OpenWrt và nói sơ qua về cách cài đặt. Có vẻ phức tạp và dễ nản phải không? Tuy nhiên đừng quá lo vì chỉ một số dòng khó tính như vậy, còn loại rẻ nhất, dễ mua nhất thì lại cực dễ như tôi đã trình bày đầu tiên. Còn cho dù router của bạn thuộc loại khó tính, khiến bạn phải truy cập telnet hay phải hàn mạch để dùng cáp serial thì cái cảm giác trị được con router ương bướng cũng rất sướng. Bài tiếp theo tôi sẽ nói về cách build OpenWrt từ mã nguồn, khi bạn muốn hưởng những cập nhật mới nhất.
      
Prosperity
Prosperity Tích cực

Cấp bậc: Tích cực

Giới tính : Nam

Bài viết : 464

Danh vọng : 820

Uy tín : 0

Build OpenWrt từ nguồn


Ở trên tác giả đã có bài giới thiệu về OpenWrt. Tiếp theo tác giả sẽ hướng dẫn cách build một bản OpenWrt từ mã nguồn. Do tác giả dùng Ubuntu trong công việc hàng ngày nên các dòng lệnh, minh họa dưới đây là áp dụng với Ubuntu. Bạn vẫn có thể áp dụng tương tự với các bản Linux khác.

Ta có thể tìm các dòng lệnh để lấy mã nguồn OpenWrt ở trang này: https://dev.openwrt.org/wiki/GetSource

Nhưng trước đó, hãy cài đặt các phần mềm công cụ cần thiết cho việc build cái đã.

sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk flex quilt git-core

Ở đây tôi muốn lấy phiên bản mới nhất, đang còn trong giai đoạn phát triển (chưa phát hành) của OpenWrt, thường gọi là nhánh "trunk":

git clone git://git.openwrt.org/openwrt.git trunk

Chuyển vào thư mục mã nguồn vừa copy

cd trunk

Sửa file feeds.conf.default, tìm dòng

#src-git oldpackages http://git.openwrt.org/packages.git

Xóa dấu # ở đầu, thành:

src-git oldpackages http://git.openwrt.org/packages.git

và lưu lại.

Cập nhật danh sách nguồn các phần mềm bổ sung:

scripts/feeds update -a

Thêm các phần mềm này vào chỉ mục các gói phần mềm có thể được cài vào OpenWrt

scripts/feeds install -a

Lưu ý, lệnh này chỉ "điểm mặt" những phần mềm nào có thể được cài, chứ không làm cho nó cài sẵn vào OpenWrt. Để làm điều này, ta tiến hành ở bước sau.

Bây giờ ta mở màn hình cấu hình, để chọn lựa loại router và chọn những phần mềm nào ta muốn bao gồm trong OpenWrt thành phẩm.



make menuconfig

Ta sẽ nhận được màn hình như thế này:

Thay thế firmware cho router wifi bằng OpenWrt Uvzohm10

Mục Target System và Target Profile là để ta chọn dòng và loại router mà ta sẽ build OpenWrt cho. Ở đây tôi muốn build OpenWrt cho TP-Link WR841ND v8.2 (các router TP-Link rẻ tiền và cho phép thay thế firmware dễ dàng). Tham khảo trong http://wiki.openwrt.org/toh/tp-link/tl-wr841nd, tôi thấy router này sử dụng chip AR9341. Như vậy, Target System sẽ là Atheros AR7xxx/AR9xxx. Khi đã đặt Target System, ta vào Target Profile để chọn tiếp TP-LINK TL-WR841N/ND.

Thay thế firmware cho router wifi bằng OpenWrt J38gKYj

Tiếp theo ta sẽ cài LuCI, là gói phần mềm cho giao diện Admin của OpenWrt. Kéo xuống phía dưới của màn hình OpenWrt Configuration ta sẽ thấy mục LuCI:

Thay thế firmware cho router wifi bằng OpenWrt K8NKYTx

Vào trong LuCI > 1. Collections và chọn 

luci

Thay thế firmware cho router wifi bằng OpenWrt SGDDuPv

Sau đó ta bấm ExitExit mãi đến khi nào tới màn hình này:

Thay thế firmware cho router wifi bằng OpenWrt LTpCkrA

thì ta bấm chọn Yes để lưu lại các lựa chọn vừa rồi.

Bạn cũng có thể chọn thêm các phần mềm khác, cách làm tương tự khi chọn luci.

OpenWrt cần một số công cụ riêng, chạy trên vi xử lý này (x86) mà lại nhắm build phần mềm chạy trên vi xử lý khác (MIPS) nên ta dùng lệnh sau để cài đặt:

make tools/install V=99
make toolchain/install V=99


Bây giờ ta gõ

make V=99

để bắt đầu quá trình build. Nếu làm lần đầu tiên, quá trình này có thể mất cả giờ đồng hồ, cho nên bạn có thể bỏ nó đó đi giặt đồ được rồi.

Sau khi build xong, cái file firmware thành phẩm sẽ nằm trong thư mục bin. Chẳng hạn firmware cho TP-Link WR841ND sẽ là các file:

$ ls bin/ar71xx/*wr841n*
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v3-squashfs-factory.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v3-squashfs-sysupgrade.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v5-squashfs-factory.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v5-squashfs-sysupgrade.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-factory.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin
bin/ar71xx/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin


Trong đó, file sysupgrade là để dùng thông qua giao diện web admin, file factory được dùng khi muốn cài firmware thông qua cáp serial.

Bạn còn có thể đọc bài chi tiết hơn ở đây (tiếng Anh, minh họa với OpenWrt bản cũ).

OPENWRT TOOLCHAIN

- https://downloads.openwrt.org/attitude_adjustment/12.09/x86/net5501/
- https://docs.google.com/document/d/1S25t3dnJl5aGqKBqLJVouomCfyyg3lV0M7HhEYB-DL0/edit
- https://downloads.openwrt.org/docs/buildroot-documentation.html


Lưu ý:

- Nếu Router hỗ trợ cổng USB thì có thể chuyển rootfs lên usb để có nhiều khoảng trống cài đặt soft hơn, Nếu Router hỗ trợ cổng USB thì quá thoải mái bằng cách chuyển rootfs lên usb để có nhiều khoảng trống cài đặt soft hơn, tham khảo cách làm: Openwrt rootfs to usb. Với Router có bộ nhớ trong =< 4Mb (TL-WR740N, WR741ND,...), các bạn có thể mod gắn thêm cổng usb theo hướng dẫn: Mod USB cho TP-LINK740N.
- OpenWrt community là nơi mà các bạn có thể hỏi về hệ điều hành này. Đây là nơi mà bạn có thể hỏi làm cách nào để cài đặt Chillispot và CoovaChilli trên OpenWrt. Một vài phiên bản của DD-WRT firmware có đi kèm với Chillispot và CoovaChilli. Vì vậy, bạn vui lòng tham khảo bài viết  DD-WRT firmware và WiFi Marketing để biết các cấu hình thiết bị của bạn. Còn đây là nơi mà bạn có thể biết thêm thông tin về hai dự án Chillispot và CoovaChili.
- Các bạn cũng có thể Config router sử dụng OpenWrt như NAS server đơn giản.
- Một cách khác để Xem IPTV (MyTV, OneTV) dùng router chạy Openwrt bằng tvheadend.
      

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Quyền hạn của bạn

Bạn không có quyền trả lời bài viết
free counters



  • Đoàn Ngọc Khánh

    mobile phone 098 376 5575


    Đỗ Quang Thảo

    mobile phone 090 301 9666


    Nguyễn Văn Của

    mobile phone 090 372 1401


    IP address signature
    Free forum | © PunBB | Free forum support | Liên hệ | Báo cáo lạm dụng | Thảo luận mới nhất