Thứ Tư, 29 tháng 11, 2017

[Phần 2] Sử dụng công cụ Binwalk để phân tích Firmware


Binwalk là một công cụ cho phép chúng ta phân tích một hoặc nhiều tập tin. Nó cho phép chúng ta nhận dạng tập tin hoặc những đoạn code được nhúng vào trong Firmware. Binwalk sử dụng thư viện libmagic, vì vậy nó tương thích với các Magic Signature được tạo ra cho tiện ích tập tin  Unix.

Mình chỉ mới làm quen với chương trình nàyđược khoảng thời gian rất ngắn nhưng mình thấy nó thật sự hữu ích cho ai muốn tìm hiểu phân tích Firmware.
Thông tin chi tiết về nó các bạn có thể truy cập vào:
Trang chủ:  http://binwalk.org
Git: https://github.com/ReFirmLabs/binwalk
Cài đặt: https://github.com/ReFirmLabs/binwalk/blob/master/INSTALL.md


Trích xuất các tập tin từ Kernel của Box FPT

Đầu tiên các bạn tải Kernel về bằng cách truy cập vào địa chỉ sau đây:
http://fbox-fw.fpt.vn/rom8675B00//v2.3.41/FPT-KERNEL.bin (phiên bản này hình như hơi cũ thì phải,,, nhưng mình nghĩ FPT nó không update cái Kernel này làm gì,,, có thì nó chỉ update Apps thôi.)

Sau khi tải về và lưu ở đâu đó, của mình thì lưu tại /Downloads, các bạn thử dùng Binwalk phân tích xem thế nào, mình thử phân tích thì nó như hình dưới.


Như vậy tập tin FPT-KERNEL.bin thực chất là một file ảnh (romfs dạng một phân vùng có tên là MIPSLINUX_XLOAD). Để chắc ăn mình thử mở bằng 010 Editor xem thế nào và hình dưới cũng cho mình kết quả y chang như Binwalk phân tích.


Oái,,, hình như phân vùng này còn chứa một file gì đó với định dạng .zbf (vmlinux_xload.zbf). Chắc ăn nhất là thử mount vào /tmp để xem thôi.

Rồi,, y rằng. Mở sao đây? Binwalk chứ sao.
Như vậy nhìn vào những gì Binwalk phân tích thì ta thấy file này chứa ZBOOT và tại offset 0x768 có chứa dữ liệu bị nén bằng gzip. Chúng ta không quan tâm tới offset chứa ZBOOT mà chỉ quan tâm tới phần data gzip kia thôi. Trích xuất nó ra xem thế nào.

Nếu như may mắn thì chúng ta có thể giải nén được data này ra và xem trong đó là cái gì.
Có vẻ giải nén ra được rồi nhưng không có gì cả,, chỉ là 1 file không tên tuổi.
Mình thử dump string xem có gì không thì thấy khá nhiều thông tin thú vị (cái này các bạn tự tìm hiểu nhé....)
Binwalk tiếp xem sao.

Lại thấy một data bị nén nữa,,, nhưng lần này file 1896 có vẻ cho chúng ta nhiều thông tin hơn nữa.
dd phát nữa xem sao.
Tiếp tục giải nén ra xem thế nào.

 XONG,,, lần này thì đã có dữ liệu để xem rồi.










Thứ Ba, 28 tháng 11, 2017

Giải nén file dune_service_XXXX.dsf của Dune

Mình có sử dụng một cái Box giải trí của thằng Dune (Dune TV-102). Bữa có tìm cách telnet vào nó qua cổng LAN (chứ cổng Serial UART thì quá bình thường) mục đích là không phải tháo nó ra mất zin.
Mình có tìm hướng dẫn trên mạng thì trang của Dune có hướng dẫn.
Các bạn nếu đang dùng nó có thể tham khảo.
http://files.dune-hd.com/sdk/doc/txt/dune_devel_info.txt

Đầu tiên các bạn tải dune_service_telnetd.dsf về vào một thư mục nào đó. Ở đây mình ví dụ là thư mục /Document và mở nó ra xem ở dạng hex



Để giải nén file này ra thì rất đơn giản là các bạn tải code từ trang dưới sau đó complie thành chương trình để chạy.

Sử dụng gcc để biên dịch thành file chạy  ELF


 Chạy lệnh decode nó sẽ tự giải nén ra với tên là outfile.gz


Hóa ra file dune_service_telnetd.dsf thực chất là cái lệnh
#!/bin/sh
telnetd

Thứ Bảy, 25 tháng 11, 2017

[Phần 1] Giải quyết DRM key

ĐÂY LÀ MỘT BÀI VIẾT DÀI KỂ VỀ QUÁ TRÌNH MÌNH TÌM DRM Key..
Như bài trước mình có giới thiệu qua về con Box của FPT chạy Linux thuần túy...

Bài viết này mình sẽ có gắng nói thật ngắn gọn về DRM key của con Box này. Vậy DRM key là gì và chúng có tác dụng gì trong thiết bị giải trí??

Mình xin nhắc lại chút về từ khóa DRM key cho một vài bạn hiểu (mình cũng tìm hiểu trên mạng và tha về blog này thôi...đứng quá khích khi mình nói sai nhé, hãy comment lại cho mình biết.)

DRM key là sao và tác dụng của chúng trong thiết bị giải trí???
DRM key là từ được viết tắt của Digital Rights Management Key (công nghệ quản lý bản quyền số). DRM key cần thiết cho việc thực hiện một số chứng năng nhất định mà nhà sản xuất muốn quản lý, cụ thể ở trên Box này thì DRM key có tác dụng rất quan trọng trong việc phát Video/Audio chất lượng cao qua cổng HDMI (bản quyền mà).

DRM key thường thì nó là một mã số riêng biệt, nghĩa là mỗi một thiết bị thì sẽ có DRM key tương ứng, việc này nhằm quản lý chặt chẽ vấn đề bản quyền số. Thông thường DRM key nó sẽ nằm ở phân vùng bootloader do vậy phải thật sự hỏng nặng lắm như sét đánh, cháy nổ mới mất cái DRM key này. (bootloader là một đoạn mã được thực thi trước khi hệ điều hành bắt đầu chạy và nó cho phép nhà sản xuất thiết bị quyết định những tính năng nào người sử dụng được phép dùng hoặc bị hạn chế.)

Mất DRM key điều gì sẽ xảy ra.. các thiết bị khác thì mình không rõ nhưng với Box nếu như mất DRM key thì việc xuất hình ảnh, âm thanh chất lượng cao qua cổng HDMI hay quang sẽ = 0,,, Nói tóm lại là Box sẽ vẫn chạy và màn hình sẽ đen thui. Việc này nhằm ngăn chặn khi một ai đó cố gắng can thiệp vào phần cứng để làm một điều gì đó mà nhà sản xuất không mong muốn.

Nói dài dòng vậy thôi, giờ đi vào việc chính.

Mình có 1 con Box sử dụng mạng FPT sau này do hết hạn hợp đồng nên Box nó trở thành cục chặn giấy đúng nghĩa, cắm nguồn vẫn lên nhưng không thể làm gì được vì nó dùng mạng của FPT. Sau một thời gian mình tìm hướng đi để sử dụng được Box này thì phát hiện thêm 1 vấn đề là tất cả các cách thức truy cập vào con Box này đều bị vô hiệu hóa và kèm theo là có mật khẩu bảo vệ.
Mình cũng thử từng dò mật khẩu bằng cách nhập vào những chuỗi ký tự mà người ta hay đặt pass nhưng tất cả đều không thành công.

Sau đó mình search Google thì mình thấy chip Sigma này nó được nhiều hãng sử dụng. Và cụ thể ở đây mình có thấy 1 hãng đó là Dune. Tìm hiểu một hồi mình tìm ra cách truy cập vào Bootloader của Box và mày mò trong đó,, và cũng từ đây thì Box đồng nghĩa với việc tèo khi boot không được nữa.

Kinh nghiệm cho mình biết là nó đã bị lỗi gì đó trong con Flash mà mình hay gọi tắt là lỗi ROM.

Giải quyết vấn đề.

Với những con bị lỗi ROM thì thường cách giải quyết nhanh gọn nhẹ nhất mà dân kỹ thuật hay làm là nạp ROM. Nạp ROM là gì?? Đó là phương pháp để làm sao cho máy trở về như lúc ban đầu, thường thì chúng ta có các nút Reset trên các thiết bị nhưng với một vài thiết bị đặc biệt thì hang sản xuất họ lại không thiết kế nút này,,, Phương pháp nạp ROM đa số đều làm cho thiết bị chạy lại thành công và các lỗi liên quan tới phần mềm đều được fix hết. một vài trường hợp vẫn không hết bệnh thì có nghĩa là rơi vào phần cứng… lúc này thì không phải liên quan tới ROM nữa mà nó có thể liên quan tới RAM, Vi xử lý, các IC giao tiếp hay cấp nguồn.


Tiến hành nạp ROM

Để tiến hành nạp ROM cho một thiết bị đang bị lỗi phần mềm thì chúng ta có nhiều bước thực hiện.
  • Sử dụng máy nạp ROM chuyên dụng
  • Sử dụng thao tác lệnh console thông qua các cổng giao tiếp trên board thiết bị. Thường thì đa số thiết bị sẽ cung cấp cổng Console này,, cổng này dân kỹ thuật thường hay gọi là cổng nối tiếp hay là cổng RS232…
  • Sử dụng thao tác lệnh Console thông qua cổng giao tiếp đặc biệt JTAG. JTAG được làm ra để dung cho việc test PCB là chủ yếu, nhưng thông qua cổng này chúng ta có cũng có thể nạp được ROM hay debug phần mềm.

Bài viết này mình sẽ sử dụng máy nạp ROM chuyên dụng, nhờ mối quan hệ với anh em kỹ thuật mà mình mượn được một bộ nạp ROM dạng chân TSOPxx.

Bước đầu tiên thuộc điều kiện bắt buộc phải có là có một source tốt, có nghĩa là có 1 cái Box đang chạy OK. Mình có liên hệ trong nhóm thì có 1 anh nhà đang dùng con này và mình có xin nhờ anh đó dump file ROM hộ mình và ảnh OK.
Sau khi có ROM ok mình tiến hành Backup ROM cũ trước rồi nạp vào và,,,,cắm nguồn thì thì có boot bình thường, hiện logo FPT nhưng sau đó thì không còn hiện tượng gì xảy ra nữa, hình ảnh, âm thanh đều không có,,, trong khi đó màn hình HDMI vẫn báo có tín hiệu. == > vẫn có tín hiệu có nghĩa là box đã boot OK nhưng có vấn đề gì đó mà không hiện hình được. Tiến hành tìm kiếm thông tin thì trên mạng có một sản phẩm khác hãng có cấu trúc phần cứng tương đồng là Dune TV102, tìm kiếm thông tin về sản phẩm này thì thu được kết quả có file log của loại sản phầm này, tìm thêm chút nữa thì thấy nó có cổng giao tiếp RS232.

Tiến hành rà soát trên board Box để tìm cổng Console thì phát hiện ra có 2 vùng socket để trống, kết hợp kinh nghiệm thì xác định được J2 là cổng Console.

Tiến hành log vào thì chính xác là là đây là cổng Console và file log như dưới: (file log rất dài nên mình chỉ post của sổ của nó đang chạy.)
Tình cờ mình đi chợ Nhật tảo thấy họ bán ve chai con này có 70k nên hốt về một con và thật bất ngờ là nó chạy OK... chắc do hết hạn hợp đồng truyền hình như mình nên họ bỏ.
Quay lại vấn đề.

Mình thử Log vào con mới và save lại file log sau đó mình đem 2 file này ra so sánh.
Để ý thì thấy file này nó chạy tới cuối luôn và so sánh với Box OK thì hoàn toàn giống nhau. Như vậy vấn đề nằm ở đâu???
Rà soát lại lần nữa thì ta thấy ngay gần đoạn đầu tiên khi boot thì có sự khác biệt:


Từ khóa DRM key với Google thì chúng ta được nhiều thông tin thú vị liên quan tới các thiết bị phát nguồn HD, cụ thể ở đây là với box. Theo như mô ta từ google thì DRM key thường được đi kèm với thiết bị HD để chống tình trạng sao chép nguồn HD, cụ thể thì ví như là phát tán phim lậu. Một ngôi nhà được ví như là Box và chì khóa nhà thì nó dĩ nhiên là giống như mật khẩu ra vào ngôi nhà đó rồi,, hehe, DRM key nó sẽ giống như cái quyền thuê nhà vậy,,, bạn chỉ được quyền sống trong căn nhà đó nhưng không cho phép mang đồ vật gì ra ngoài. Quay trở lại vấn đề về cái lỗi DRM key này, như vậy kết luận một điều là DRM key có liên quan tới hình ảnh trên màn hình HDMI không hiển thị.

Thử kết nối màn hình qua cổng AV thì hình ảnh hiện lên bình thường ??????????????????? quái lại. Như vậy là sao!!! Tìm lại chút thông tin trên mạng vẫn về DMR key thì chúng ta thu them được chút thông tin là DRM key sẽ chỉ ngăn việc sao chép hình ảnh video chất lượng cao ra khỏi thiết bị… liên tưởng tới vấn đề của Box thì ta có thể thấy là việc cắm cổng HDMI vào màn hình thì không hiển thị và nếu cắm cổng AV thì hiển thị bình thường. như vậy kết luận một điều là DRM key ngăn không cho Video và âm thanh chất lượng cao xuất qua cổng HDMI.

Phân tích cơ chế kiểm tra DRM key để cho phép xuất hình ảnh ra cổng HDMI.

Rà soát và so sánh lại file log chúng ta có them thông tin về DRM key, cụ thể là một chuỗi ký tự liên quan tới DMR key:

  1. Một phân vùng có tên là DRM keys
  2. Một file có tên là hdcpkey.xxxxx
  3. Một file có tên là iptokey.xxx
Cả 2 file này đều nằm trong phân vùng có tên là DRM keys và đều liên quan tới cụm từ DRM keys. như vậy vấn đề rõ rang nằm ở 2 file này.

Đọc và so sánh giữ 2 con Box nữa thì ta lại phát hiện một điều là 2 file hdcpkey và iptoken có các chuỗi số khác nhau (10 con Box thì sẽ có 10 file có chuỗi số khác nhau….). Như vậy mình đoán là mỗi Box sẽ có file khác nhau và không trùng lẫn được. Tới đây vấn đề gần sáng tỏ rồi.

Một Box A có chuỗi số hdcpkeyiptoken là AAA và một Box B có chuỗi số hdcpkeyiptoken là BBB. Nếu như copy source của con B qua A thì báo lỗi.. ??? Box dự vào cái gì để phát hiện ra chuỗi số của 2 file này không hợp lệ, lấy gì để so sánh 2 file này??

Thử lấy con ROM OK đóng qua board bị lỗi ROM thì vẫn là vấn đề DRM key như vậy Box so sánh 2 chuỗi file này với một chuỗi file nào đó không phải nằm trong nội dung con ROM để phát hiện ra việc can thiệp phần cứng nhằm vượt qua cơ chế DRM của hãng.

Sử dụng một chương trình Hex Editor để đọc source và tìm kiếm từ khóa DRM key liên quan.


Như vậy chúng ta có them thông tin:
  • -rom1fs-: đây là ký tự nhận dạng trong linux cho biết đây là một phân vùng
  • DRM keys: tên phân vùng và ta cũng nhìn thấy là trong phân vùng này có chứa một file hdcpkey.xxx. di chuyển xuống offset dưới chúng ta cũng sẽ thấy một file nữa tên là iptoken nữa.
Thử thay đổi tên của 2 chuỗi này thì khi chạy sẽ báo lỗi không tìm thấy 2 file này…và màn hình thì vẫn đen thui.

Sử dụng Hex Editor tìm tới phân vùng DRM Keys này và làm theo cách thủ công là copy - paste đoạn offset thay thế, dò phân vùng này ta thu đươc kết quả là offset chứa phân vùng này là cố định đều có địa chỉ bắt đầu từ 0x154000 và kết thúc là 0x15572F (chú ý là ứng với mỗi loại NAND khác nhau thì Offset khác nhau nhé). Sau khi thử copy-paste thì ố ồ.. cuối cùng cũng hiện hình.

Phân tích file ROM bằng công cụ binwalk thì ta thu được kết quả như hình dưới.

Như vậy là mình đã hiểu sơ qua cơ chế của DRM keys và cách mình vượt qua nó. Thực sự thì còn rất nhiều điều thú vị đằng sau câu chuyện này mà mình không dám kể ra vì nó sẽ làm ảnh hưởng "miếng cơm" của một số người (mình đã được yêu cầu gỡ bổ một vài nội dung liên quan tới bản quyền).

Kết thúc phần này, phần tới mình xin nói về Cách sử dụng binwalk để phân tích cũng như giải nén firmware

Thứ Năm, 23 tháng 11, 2017

Nâng cấp Flash từ 8MB lên 16MB trên TP-Link WR841N v9

Bữa rồi mình có đi chợ Nhật Tảo chơi mua được em "đồng nát" WR841N version 9.1, tính về cài OpenWRT mà không được toàn báo lỗi 18005. Mình có tìm hiểu thì biết lỗi này liên quan tới việc TPlink chặn không cho upgrade Firmware dành riêng cho nhà mạng Viettel.

Bài viết này mình sẽ hướng dẫn các bạn cách unlock router để có thể upgrade firmware phiên bản quốc tế. Cách thức unlock sẽ can thiệp vào chương trình u-boot của firmware. Cụ thể ở đây là mình sẽ thay thế u-boot gốc của TP-Link (bị giới rất nhiều thứ) bằng u-boot mod của tác giả pepe2k.

Các tính năng của u-boot mod này các bạn có thể xem tại địa chỉ của tác giả: https://github.com/pepe2k/u-boot_mod

Các thứ cần chuẩn bị:
  1. U-boot_mod để unlock u-boot: u-boot_mod__tp-link_tl-wr841n_v9
  2. Chương trình Hxd hay WinHex để chỉnh sửa file Firmware
  3. File ROM đã backup từ ROM gốc ra (tải từ đây)
  4. Tool cho phép nạp EEPROM, Flash
Đầu tiên để có thể tiến hành nâng cấp Flash thì điều cần làm quan trọng là hãy backup lại Flash của bạn bằng một tool nào đó cho phép bạn Programer hay gọi là nạp ROM. Ở đây mình sử dụng Tool CH341A (bài viết trước mình có giới thiệu sơ qua về nó), các bạn có thể mua ở VN:
 Ở đây là file backup của mình, các bạn có thể sử dụng nó nếu cần:

link 1: https://mega.nz/#!IwoUAbQR!0fUxsIU-AU6iYRpGQgrkWj8x5ccQ57hkYU29bC-2ckk
link 2: https://mega.nz/#!hx4ymAbB!0fUxsIU-AU6iYRpGQgrkWj8x5ccQ57hkYU29bC-2ckk

 Hãy mở file u-boot_mod__tp-link_tl-wr841n_v9__20170831__git_master-b29f18ad.bin và 841Nv9.1 bằng Hxd hay một chương trình nào đó cho phép bạn xem và chỉnh sửa Hexa như WinHex chẳng hạn, cá nhân mình thì thích thằng HxD hơn vì đơn giản và có những chức năng cơ bản mình cần. (WinHex thì pro quá...). Tại Tab của u-boot_mod__tp-link_tl-wr841n_v9__20170831__git_master-b29f18ad.bin hãy copy toàn bộ nội dung vào bộ nhớ tạm bằng Ctrl+A sau đó thì là Crtl+C

Chuyển qua Tab 841Nv9.1 và chọn menu Edit --> Select block và gõ thông số như hình dưới:

Tiếp tục thực hiện lệnh Edit --> Paste write Ctrl+B. Mục đích việc này là để thay thế u-boot gốc của TP-Link bằng u-boot-mod của pepe2k (nhiều tính năng hơn..)

Save lại cho chắc ăn.

Như vậy là chúng ta đã unlock u-boot rồi đó,,,

Tiến hành thêm vài bước nữa để thay đổi cấu trúc offset cho phép nâng lên 16MB không làm bước này thì router vẫn chạy nhưng không nhận diện được không gian trống thực sự của Flash.
Vẫn tại cửa sổ Tab  bạn hãy vào Search --> Goto ... để đi tới offset khác và gõ như hình dưới.

Hãy chắc chắn rằng con trỏ đang ở vị trí như hình dưới để khi mình chèn data sẽ không bị lệch.

Đi tiếp vào Edit --> Insert bytes và nhập các thông sô như hình dưới  để chèn data rỗng vào.
Tính toán 1 chút... nếu bạn rành về chuyển đổ các cơ số thì sẽ biết cách tính 16MB nó bằng bao nhiêu nếu đổi sang cơ số thập phân.
16MB = 16*1024*1024 = 16777216d = FFFFFFh = 16,384KB





Sau khi xong thì Save lại và bỏ lên tool để nạp nó. Mình có sẵn tool nên nạp luôn,, nếu bạn không có tool và chip Flash thì có thể liên hệ mình nạp giùm cho hoặc ra chợ Nhật tảo sạp E10 có ông tên Nhân mập chuyên làm chuyện chép/nạp ROM (hình như chạy hay không thì cứ 20K/lần.)
Sau khi Flash xong và cắm nguồn,, kiểm tra dung lượng nó thì như hình dưới,

Cài thêm vài chương trình trên OpenWRT như adblock, upxd.... thì còn lại như vậy.

Thứ Ba, 21 tháng 11, 2017

[Phần 0] Khám phá FPT Box HD



Bài viết này mình sẽ tập trung duy nhất về thiết bị xem truyền hình FPT HD (phiên bản chạy linux thuần của FPT sử dụng chip Sigma nhé). FPT sử dụng một loại box khác nữa chạy hệ điều hành Android 4.4 thì phải, mình không bàn ở đây vì mình không có nó và cũng không đủ tiền để mua nó (thời điểm hiện tại nghe nói là giá 1tr500k).


Nội dung bài viết mình sẽ nói về:
  1. Tìm hiểu Cơ chế DRM và cách vượt qua chúng (đây là vấn đề mình gặp phải khi cái box nhà mình nó hư và mình tìm cách sửa nó)
  2. Giải nén Kernel của box để xem thông tin (để biết mật khẩu mà nó chứa là gì)
  3. Phân tích một vài tập lệnh mà Box nó chạy khi khởi động
  4. Xem Chế  độ debug của box (Serial console) để tìm cách thâm nhập vào Box
  5. Chiếm quyền root của box để tùy biến một số thứ.


Sơ lược về phần cứng 1 chút:

Box bao gồm 3 phiên bản phần cứng khác nhau nhưng cấu hình thì tương đương nhau và cùng chạy 1 phiên bản Linux chung.
  1. Phiên bản chạy chip Sigma SMP8671A (dual DDR3 = 256MB)
  2. Phiên bản chạy chip Sigma SMP8675A/B (DDR3 256MB)
  3. Phiên bản này nghe nói là do FPT tự thiết kế sử dụng chip Sigma SMP8673A (DDR3 1GB) mình chưa có con này nên cũng không biết nhiều về nó, mọi thông tin có được do người bạn phía bắc nói mình biết.
Phiên bản 1 và 2 thì mình thấy là do Shenzhen Kaifa Technology Co. và MitraStar Technology Corp. thiết kế và sản xuất (mình biết điều này do thấy số MAC của nó là dạng 00:1C:55:xxxxx B0:46:FC:xxxx và tra trên https://macvendors.com thì nó báo thế.

Phiên bản thứ 3 thì tra MAC không có kết quả nào cả (chắc là do FPT chưa đăng ký MAC vendor...)

Board nạp cho EEPROM, Flash 24XX 25XX

Do công việc và cùng sở thích vọc vạch các thiết bị điện tử nên mình có thử đặt một board mạch cho phép Programer bộ nhớ EEPROM vàFLash họ 24xx, 25xx của các hãng từ trang AliExpress với giá bằng 2 tô bún bò có giò heo. Sau 2 tuần thì mình đã nhận trên tay em nó.

Dưới  đây là board CH431A



Extract Firmware thiết bị TP-Link

Bài viết này sẽ hướng dẫn các bạn extract firmware của 1 thiết bị bất kỳ để xem nội dung của nó..
 
Sẽ có bạn thắc mắc về việc tại sao phải cần xem nội dung của firmware

Nâng cấp bộ nhớ Flash cho TL-WR841N v8

Chào các bạn!

Bài trước mình có đề cập tới vấn đề nâng cấp RAM cho TL-WR841n v8 (RAM gốc của hãng là 32MB và mình nâng lên 64MB). Lần trước mình cũng nói là chưa có đồ để thực hiện.. hôm rồi vô tình dọn dẹp lại cái góc bàn thì thấy trên main máy tính có con Bios nó cũng giống với con Flash của Router này, mình tra datasheet thì thấy dung lượng nó 8MB, con Flash trên Router này dung lượng chỉ có 4MB thôi,, rất hạn chế khi mà mình muốn cài thêm 1 vài ứng dụng dùng cho mục đích cá nhân.

Sau khi mình có được con Flash 8MB này rồi mình mới có thêm điều kiện nâng cấp nó.

Để nâng cấp được bộ nhớ cho con Router này thì các bạn phải chuẩn bị 1 vài đồ nghề như dưới đây:

Chuẩn bị:

Thực hiện:
  • Truy cập vào router qua telnet hoặc ssh hay là serial đều được và gõ lệnh: cat /dev/mtd0 > /tmp/backup_uboot.bin để sao lưu u-boot gốc vào thư mục /tmp. (bao gồm cả số serial, MAC, phiên bản, model...). Sử dụng ssh để truy cập vào thư mục này và lưu trữ tập tin backup_uboot.bin tránh trường hợp làm không thành công.
  • Sử dụng mỏ hàn, khò để bốc con Flash ra khỏi board và dùng board nạp EEPROM đã mua như bước 2 ở trên đê backup nội dụng con Flash ra. Ta sẽ được 1 file *.bin với dung lượng là 4MB.
  • Sử dụng chương trình Winhex hay là chương trình HxD để chỉnh sửa file *.bin trên. Mở file *.bin ở trên bằng chương trình HxD (các bạn có thể dùng chương trình biên tập hex bất kỳ để chỉnh sửa, ở bài viết này mình dùng Hxd). Mở thêm cái file bạn đã giải nén ở bước 1 ra (uboot_for_tp-link_tl-wr841n_v8.bin) và copy toàn bộ nội dung của file này vào bộ nhớ đệm. Bên cửa sổ mà bạn đang mở file *.bin (4MB kia) hãy nhấn  Ctrl+E để chọn 1 khối block (nhập vào 0000 - FFFF như hình dưới)
  • Sau đó nhấn Ctrl+B để copy đè nội dung lúc trước đã copy vào bộ nhớ đệm. Việc này nhằm mục đích thay thế u-boot gốc của Router sang u-boot đã được chỉnh sửa để có thể chạy được các con Flash có dung lượng lớn hơn.
  • Vẫn tại của sổ này, bạn đi tới offset 003f0000 nếu thấy có dữ liệu trên dòng này thì thực hiện tiếp lệnh dưới:
  • **** Đặt con trỏ Tại vị trí đầu tiên của offset 003F0000 và vào menu Edit --> Insert bytes và nhập thông số như hình dưới:

  • Lưu lại thành một file *.bin và sử dụng board nạp EEPROM để nạp vào con Flash 8MB sau đó đóng lại vào board Router.
  • Cắm nguồn và thưởng thức.


Mọi thắc mắc bạn có thể mail cho tôi hoặc bình luận dưới bài viết.



Nâng cấp RAM cho TL-WR841N

Rảnh rỗi ngày chủ nhật chẳng biết nghịch trò gì cho vui. Nhìn lên tường thấy con Router WR841N rồi lại nhớ đến trên mấy trang về OpenWRT có nói tới vụ nâng cấp RAM, ROM, chế USB cho con router này... Việc nâng cấp ROM và chế USB thì mình chưa có đồ thực hiện, chỉ có nâng cấp RAM là dễ dàng nhất nên thử nghiệm cho vui.

Hình dưới là dung lượng bộ nhớ RAM 32MB của hãng, nói chung đây là hàng còn zin :D

Zin

 Hình dưới này là sau khi được thay 1 thanh RAM có dung lượng 64MB (gấp đôi bản gốc).

Sau khi nâng cấp








Nâng cấp TL-WR841v8 OpenWRT từ dòng lệnh

Mình đang sử dụng TL-WR841N v8 và đang ở bản  OpenWRT (Barrier Breaker, r43286). Để có thể nâng cấp OpenWRT lên phiên bản mới nhất (phiên bản hiện tại là 15.05.1) mà không cần phải chạy serial hay là TFTP.

Truy cập vào http://downloads.openwrt.org/ và chọn thư mục ar71xx/generic/. Phiên bản TL-WR841N của mình hiện tại đang dùng là 8.3 do vậy mình sẽ tải openwrt-15.05.1-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin.
Đầu tiên mình sẽ telnet vào Router qua địa chỉ router của mình bằng công cụ Putty. các bạn có thể tải từ trên mạng về.

  1. Sao lưu toàn bộ cấu hình cũng như các phân vùng, để sao lưu được các phân vùng bạn có thể sử dụng lệnh cat /proc/mtd
  2. Đăng nhập vào router với quyền root
  3. cd /tmp
    wget http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin
  4. Sử dụng sysupgrade để tiến hành nâng cấp chương trình.

Bài đăng nổi bật

Timer điện tử Kawsan KW-TS17C

 

Popular Posts