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
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ần | Chi tiết kỹ thuật | Ghi 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. |
| RAM | 256 MB DDR3 | Phần cứng gồm 2 chip RAM 128MB. DSP có 1 chip RAM riêng |
| Bộ nhớ Flash | Hynix H27U4G8F2D (SLC NAND 512MB) | Trang 4096B data + 128B OOB, bảo vệ phần cứng bằng MediaTek NFI BCH ECC. |
| OS / Kernel | Linux 3.10.26 (arm-linux-gnueabihf) | Glibc 2.23, BusyBox SysV init. |
| Wi-Fi / BT | Broadcom BCM43xx (802.11ac 2.4/5GHz + BT 4.2) | Driver wl.ko, nạp qua insert_wifi.sh khi boot. |
| Audio DSP | Dolby Atmos / DTS:X Hardware Decoder | Giao 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:
- 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).
- Trình cập nhật
upg_progkiểm tra mã băm XOR 32-bit trên Bank mới. - 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. - 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.customvào quá trình khởi động để tự chạytelnetd,shairport-syncvàairbridgengay 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 Hex | Dung lượng | Thành phần | Mô tả |
|---|---|---|---|
0x00000000 - 0x00556CCF | 5,598,416 bytes | Header & Kernel | Tham số thiết bị và ZImage Kernel. |
0x00556CD0 - 0x043C0ACF | 65,458,592 bytes | Rootfs SquashFS | Phân vùng hệ điều hành Linux chứa ứng dụng. |
0x043C0AD0 - 0x043F4CEF | 213,536 bytes | Padding & PIT/VeRS | Thông tin phiên bản firmware. |
0x043F4CF0 - 0x043F4CFF | 16 bytes | Security Trailer | Khố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
0x00cho khớp kích thước và tính lại đúng giá trị XOR này.
Chuyên đề
•
2 TậpLG-Soundbar
- 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
- 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