AIoT.IO.VN
AIoT.IO.VN
SmartHome SERIES
🌐 SONG NGỮ

LG SoundBar SK8 - Phần cứng & Kiến trúc hệ thống: SoC MediaTek MT8530, MTD Layout và Dual-Bank A/B

Ng Nghia Phan • • ⚡ 3 phút đọc • -- lượt xem • --
VI EN
MỤC LỤC BÀI VIẾT (Nhấn để xem)

Bài viết này đi thẳng vào kiến trúc phần cứng, sơ đồ phân vùng bộ nhớ và cơ chế nạp hệ điều hành của LG Soundbar SK8 — nền tảng bắt buộc phải nắm vững trước khi can thiệp firmware.


I. Thông số phần cứng chi tiết

Bo mạch chủ SK8 tích hợp vi xử lý âm thanh MediaTek MT8530 kết hợp các khối ngoại vi chuyên dụng:

Thành phầnChi tiết kỹ thuậtGhi chú vận hành
SoC (CPU)MediaTek MT8530 (2 nhân ARM Cortex-A9 @ 1.0 GHz)ARMv7-A, tập lệnh VFPv3-D16.
RAM256 MB DDR3Phần cứng gồm 2 chip RAM 128MB. DSP có 1 chip RAM riêng
Bộ nhớ FlashHynix H27U4G8F2D (SLC NAND 512MB)Trang 4096B data + 128B OOB, bảo vệ phần cứng bằng MediaTek NFI BCH ECC.
OS / KernelLinux 3.10.26 (arm-linux-gnueabihf)Glibc 2.23, BusyBox SysV init.
Wi-Fi / BTBroadcom BCM43xx (802.11ac 2.4/5GHz + BT 4.2)Driver wl.ko, nạp qua insert_wifi.sh khi boot.
Audio DSPDolby Atmos / DTS:X Hardware DecoderGiao tiếp I2S/SPI với SoC, xuất công suất Class-D và RF 5.8GHz ra Subwoofer.

II. Sơ đồ phân vùng NAND Flash (MTD Layout) & Cơ chế Dual-Bank A/B

Hệ thống sử dụng cơ chế A/B Dual Bank tương tự Android Seamless Update để chống brick khi nạp OTA:

+---------------------------------------------------------------------------------+
|                               BẢN ĐỒ PHÂN VÙNG MTD                              |
+-----------------------------------+---------------------------------------------+
| /dev/mtd0 - /dev/mtd8             | U-Boot, Boot Env, MAC, Calibration, DRM     |
| /dev/mtd9                         | Kernel Bank A (zImage ~3MB)                 |
| /dev/mtd10                        | Kernel Bank B (zImage ~3MB)                 |
| /dev/mtd11                        | Rootfs Bank A (SquashFS ~65MB, read-only)   |
| /dev/mtd12                        | Rootfs Bank B (SquashFS ~65MB, read-only)   |
| /dev/mtd13 - /dev/mtd20           | ubi_boot, /mnt/db (RW), /mnt/nfs, SysLog    |
+-----------------------------------+---------------------------------------------+

Nguyên lý hoạt động của Dual-Bank:

  1. Khi cập nhật OTA, firmware mới luôn được ghi vào Bank nhàn rỗi (ví dụ: đang chạy Bank A thì nạp vào Bank B).
  2. Trình cập nhật upg_prog kiểm tra mã băm XOR 32-bit trên Bank mới.
  3. Nếu hợp lệ, hệ thống đảo cờ boot trong MTD env (boot_bank) và khởi động lại vào Bank mới.
  4. Nếu Bank mới lỗi boot, U-Boot tự động quay về Bank cũ.

III. Chuỗi nạp khởi động (Boot Sequence)

graph TD A["Cấp nguồn AC"] --> B["MICOM khởi chạy & đóng Rơ-le nguồn chính"] B --> C["U-Boot nạp từ /dev/mtd0 -> Đọc cờ boot_bank"] C --> D["Nạp Linux Kernel 3.10.26 (mtd9 hoặc mtd10)"] D --> E["Mount Rootfs SquashFS vào / (mtd11 hoặc mtd12)"] E --> F["/sbin/init -> /etc/init.d/rcS"] F --> G["/etc/init.d/rcS.custom (Hook của bản Mod)"] F --> H["/usr/bin/bdpprog.sh -> Khởi động Audio Engine"]

Điểm can thiệp (Hook Point): Ta tiêm script /etc/init.d/rcS.custom vào quá trình khởi động để tự chạy telnetd, shairport-sync và airbridge ngay khi loa boot xong.


IV. Cấu trúc nhị phân của ROM LG nguyên bản (71.25MB)

File ROM chuẩn SK8_Main_20061834.bin có kích thước chính xác 71,256,864 bytes:

Offset HexDung lượngThành phầnMô tả
0x00000000 - 0x00556CCF5,598,416 bytesHeader & KernelTham số thiết bị và ZImage Kernel.
0x00556CD0 - 0x043C0ACF65,458,592 bytesRootfs SquashFSPhân vùng hệ điều hành Linux chứa ứng dụng.
0x043C0AD0 - 0x043F4CEF213,536 bytesPadding & PIT/VeRSThông tin phiên bản firmware.
0x043F4CF0 - 0x043F4CFF16 bytesSecurity TrailerKhối kiểm định chữ ký và mã băm XOR toàn cục.

Cấu trúc Security Trailer (16 Bytes cuối):

[ 58 6F 52 53 ] [ XX XX XX XX ] [ 53 52 6F 58 ] [ FF FF FF FF ]
     XoRS         XOR Checksum        SRoX         End Padding
  • XoRS (0x586F5253) và SRoX (0x53526F58): Magic bytes nhận diện.
  • XOR Checksum: Mã băm 32-bit XOR tính trên toàn bộ payload 71MB phía trước.
  • Khi repack firmware, bắt buộc phải đệm 0x00 cho khớp kích thước và tính lại đúng giá trị XOR này.
Chuyên đề •

LG-Soundbar

2 Tập
  1. LG SoundBar SK8 - Phần cứng & Kiến trúc hệ thống: SoC MediaTek MT8530, MTD Layout và Dual-Bank A/B Đang đọc
  2. LG SoundBar SK8 - Quá trình hồi sinh SoundBar gần 10 năm tuổi

Bình luận & Thảo luận 0

Chia sẻ thắc mắc, phản hồi hoặc kinh nghiệm thực chiến của bạn