현재 A800을 쓰고 있지만 반도체 수급 문제때문인지 단종되고 A800s가 새로 나와 현재 시장에서 새로 팔리는 물건은 거의 A800s 이더군요.
메인 SoC 외 다른 스펙 차이점은 없는 것 같아 이 펌웨어도 음성을 교체하려 봤더니 펌웨어 구조 자체가 기존 70mai Pro 나 A800s 와는 다른 것 같습니다.
통상 같은 회사 블랙박스 같은 경우 펌웨어가 유사점을 갖는게 보통인데 70mai 시리즈의 경우는 전 시리즈가 AP가 달라서 그런지 펌웨어가 전부 다른게 뭔가 특이하더군요.
어쨌든 이것도 결국 리눅스 커널 기반의 펌웨어이기에 방법만 찾으면 언팩 및 리팩이 가능할 것 같아 일단 도전해보기로 했습니다.
현재 A800s 의 기본 OTA 펌웨어는 0.0.47w 버전으로 Dashcam Talk 에 올라온 파일을 다운받았습니다.
https://dashcamtalk.com/70mai-a800s/
70mai A800S - DashCamTalk
The 70mai A800S is a good bang for your buck 4K camera, the In the $100 price range, there are few cameras that will have better video quality.
dashcamtalk.com
파일을 다운로드 받아보니 이번 펌웨어는 bin 파일 하나더군요.
헥스에디터를 사용해 열어보니 패킹된 파일이고 ubi 파티션 등등 파일정보가 보입니다.
일단 가장 기본적인 binwalk 을 사용해 펌웨어를 분석해 봤습니다.
binwalk -f info.txt FW_DR2800.bin
결과물 내용을 보면 아래와 같은 내용들이 보입니다.
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
82184 0x14108 xz compressed data
86080 0x15040 xz compressed data
2482176 0x25E000 gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)
9981952 0x985000 Executable script, shebang: "/bin/sh"
9982917 0x9853C5 Unix path: /customer/modules/4.9.84/usb-common.ko
9982967 0x9853F7 Unix path: /customer/modules/4.9.84/usbcore.ko
9983011 0x985423 Unix path: /customer/modules/4.9.84/adc-keys.ko
9983059 0x985453 Unix path: /customer/modules/4.9.84/fat.ko
9983102 0x98547E Unix path: /customer/modules/4.9.84/msdos.ko
9983147 0x9854AB Unix path: /customer/modules/4.9.84/vfat.ko
9983191 0x9854D7 Unix path: /customer/modules/4.9.84/mmc_core.ko
9983239 0x985507 Unix path: /customer/modules/4.9.84/mmc_block.ko
9983288 0x985538 Unix path: /customer/modules/4.9.84/kdrv_sdmmc.ko
9983338 0x98556A Unix path: /customer/modules/4.9.84/ehci-hcd.ko
9983386 0x98559A Unix path: /customer/modules/4.9.84/scsi_mod.ko
9983434 0x9855CA Unix path: /customer/modules/4.9.84/usb-storage.ko
9983623 0x985687 Unix path: /mnt/mmc/uvc/udc-uvc.sh
9983651 0x9856A3 Unix path: /mnt/mmc/uvc/prog_uvc -A 7
9983848 0x985768 Unix path: /customer/modules/4.9.84/usb-common.ko
9983895 0x985797 Unix path: /customer/modules/4.9.84/usbcore.ko
9983939 0x9857C3 Unix path: /customer/modules/4.9.84/ehci-hcd.ko
9983987 0x9857F3 Unix path: /customer/modules/4.9.84/scsi_mod.ko
9984035 0x985823 Unix path: /customer/modules/4.9.84/usb-storage.ko
9984083 0x985853 Unix path: /customer/modules/4.9.84/udc-core.ko
9984128 0x985880 Unix path: /customer/modules/4.9.84/libcomposite.ko
9984177 0x9858B1 Unix path: /customer/modules/4.9.84/udc-msb250x.ko
9984371 0x985973 Unix path: /customer/modules/4.9.84/usb-common.ko
9984418 0x9859A2 Unix path: /customer/modules/4.9.84/usbcore.ko
9984462 0x9859CE Unix path: /customer/modules/4.9.84/ehci-hcd.ko
9984510 0x9859FE Unix path: /customer/modules/4.9.84/scsi_mod.ko
9984558 0x985A2E Unix path: /customer/modules/4.9.84/usb-storage.ko
9984606 0x985A5E Unix path: /customer/modules/4.9.84/udc-core.ko
9984651 0x985A8B Unix path: /customer/modules/4.9.84/libcomposite.ko
9984700 0x985ABC Unix path: /customer/modules/4.9.84/udc-msb250x.ko
10113024 0x9A5000 JPEG image data, JFIF standard 1.01
10113054 0x9A501E TIFF image data, big-endian, offset of first image directory: 8
10244096 0x9C5000 JPEG image data, JFIF standard 1.01
10244126 0x9C501E TIFF image data, big-endian, offset of first image directory: 8
10375168 0x9E5000 JPEG image data, JFIF standard 1.01
10375198 0x9E501E TIFF image data, big-endian, offset of first image directory: 8
10506240 0xA05000 JPEG image data, JFIF standard 1.01
10506270 0xA0501E TIFF image data, big-endian, offset of first image directory: 8
10637312 0xA25000 JPEG image data, JFIF standard 1.01
10768384 0xA45000 JPEG image data, JFIF standard 1.01
10768414 0xA4501E TIFF image data, big-endian, offset of first image directory: 8
11030528 0xA85000 JPEG image data, JFIF standard 1.01
11030558 0xA8501E TIFF image data, big-endian, offset of first image directory: 8
11161600 0xAA5000 Squashfs filesystem, little endian, version 4.0, compression:xz, size: 31438304 bytes, 728 inodes, blocksize: 131072 bytes, created: 2021-02-25 08:59:17
42602496 0x28A1000 UBIFS filesystem superblock node, CRC: 0xC4380269, flags: 0x4, min I/O unit size: 2048, erase block size: 126976, erase block count: 13, max erase blocks: 131, format version: 4, compression type: lzo
42729472 0x28C0000 UBIFS filesystem master node, CRC: 0x16FCB140, highest inode: 64, commit number: 0
42856448 0x28DF000 UBIFS filesystem master node, CRC: 0x2ADAE67, highest inode: 64, commit number: 0
44253184 0x2A34000 UBIFS filesystem superblock node, CRC: 0x4F68A065, flags: 0x4, min I/O unit size: 2048, erase block size: 126976, erase block count: 13, max erase blocks: 84, format version: 4, compression type: lzo
44380160 0x2A53000 UBIFS filesystem master node, CRC: 0x84806DD8, highest inode: 66, commit number: 0
44507136 0x2A72000 UBIFS filesystem master node, CRC: 0x90D172FF, highest inode: 66, commit number: 0
이 정도면 binwalk 만으로도 압축 풀 수 있을 것 같아 한번 돌려보니 잘 풀리는군요.
binwalk -e FW_DR2800.bin
압축풀린 내용은 squashfs-root 폴더에 들어있습니다.
오디오는 audios 폴더에 들어있고 이전과 비슷하게 영어, 일본어, 한국어, 폴란드어, 러시아어, 스페인어, 그리고 마지막은 체코어인가요? 를 제공합니다.
한국어 파일 폴더를 보니 음성파일이 37개 뿐입니다. 이전 70mai, 70mai 500s, 800이 전부 66개 음성이었던걸 보면 바뀐게 좀 있는 것 같은데 음성파일을 맞춰서 업데이트 한 후 리팩을 해 봐야겠습니다.
'자동차 이야기 > 샤오미 70Mai' 카테고리의 다른 글
샤오미 블랙박스, 70mai A800s 펌웨어 한국어 음성패치 테스트 완료 (27) | 2021.07.21 |
---|---|
샤오미 블랙박스, 70mai A800s 펌웨어 언팩(2) (0) | 2021.07.20 |
샤오미 블랙박스, 70mai A800 1.0.9 펌웨어 공개 (75) | 2021.04.03 |
샤오미 블랙박스, 70mai A800 1.0.8B 펌웨어 공개 (12) | 2021.03.28 |
블랙박스 펌웨어 업데이트시 SD카드 포맷 방법 (7) | 2021.03.12 |
댓글