Some OTA (over-the-air) update packages omit userdata to preserve your files. If you need a full flash, find the complete factory firmware package (usually >1GB).
# Install mtkclient
git clone https://github.com/bkerler/mtkclient
cd mtkclient
pip install -r requirements.txt
You can copy the code below and save it as MT6735_Android_scatter.txt (SP Flash Tool reads the content, not just the filename).
# General Configuration
# This is a generic scatter for MT8163 platform
# Warning: Partition sizes may vary by specific device model.
partition_index: SYS0
partition_name: PRELOADER
file_name: preloader.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x100000
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
d_type: FALSE
reserve: 0x00
partition_index: SYS1
partition_name: DSP_BL
file_name: dsp_bl.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x100000
physical_start_addr: 0x100000
partition_size: 0x100000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00
partition_index: SYS2
partition_name: MBR
file_name: mbr.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x200000
physical_start_addr: 0x200000
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS3
partition_name: EBR1
file_name: ebr1.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x280000
physical_start_addr: 0x280000
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS4
partition_name: PRO_INFO
file_name: pro_info.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x300000
physical_start_addr: 0x300000
partition_size: 0x300000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00
partition_index: SYS5
partition_name: NVRAM
file_name: nvram.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x600000
physical_start_addr: 0x600000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00
partition_index: SYS6
partition_name: PROTECT_F
file_name: protect_f.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xB00000
physical_start_addr: 0xB00000
partition_size: 0xA00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00 mt8163 scatter file
partition_index: SYS7
partition_name: PROTECT_S
file_name: protect_s.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1500000
physical_start_addr: 0x1500000
partition_size: 0xA00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00
partition_index: SYS8
partition_name: LK
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1F00000
physical_start_addr: 0x1F00000
partition_size: 0x60000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS9
partition_name: BOOT
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1F60000
physical_start_addr: 0x1F60000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS10
partition_name: RECOVERY
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2F60000
physical_start_addr: 0x2F60000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS11
partition_name: LOGO
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x3F60000
physical_start_addr: 0x3F60000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS12
partition_name: EXPDB
file_name: expdb.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x4760000
physical_start_addr: 0x4760000
partition_size: 0xA00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
d_type: FALSE
reserve: 0x00
partition_index: SYS13
partition_name: ANDROID
file_name: system.img
is_download: true
type: YAFFS_IMG
linear_start_addr: 0x5160000
physical_start_addr: 0x5160000
partition_size: 0x80000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS14
partition_name: CACHE
file_name: cache.img
is_download: false
type: YAFFS_IMG
linear_start_addr: 0x85160000
physical_start_addr: 0x85160000
partition_size: 0x10000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00 Some OTA (over-the-air) update packages omit userdata to
partition_index: SYS15
partition_name: USRDATA
file_name: userdata.img
is_download: false
type: YAFFS_IMG
linear_start_addr: 0x95160000
physical_start_addr: 0x95160000
partition_size: 0x5E8C0000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
d_type: FALSE
reserve: 0x00
partition_index: SYS16
partition_name: FAT
file_name: fat.bin
is_download: false
type: NORMAL_ROM
linear_start_addr: 0
The MT8163 scatter file is a critical configuration document used in the flashing and firmware restoration of devices powered by the MediaTek MT8163 chipset, such as various Amazon Fire tablets and budget Android devices. Written in a structured text format, this file acts as a "map" for the device’s internal NAND or eMMC storage, defining the exact memory addresses and partition boundaries for components like the bootloader (preloader), the recovery image, and the system software.
Without a scatter file, specialized flashing tools like SP Flash Tool cannot function. These tools read the scatter file to understand where each binary piece of the firmware belongs. If the tool were to write data to the wrong address—for instance, placing system data in the bootloader partition—the device would likely become "bricked" or unbootable. This precision is what allows developers and technicians to perform "unbricking" procedures, bypass FRP (Factory Reset Protection), or install custom ROMs.
In summary, the MT8163 scatter file is the bridge between raw firmware data and the hardware's physical memory. It ensures that the flashing process is orderly and compatible with the specific architecture of the MT8163 platform, making it an indispensable tool for mobile software maintenance and development.
The MT8163 scatter file is a critical text-based configuration document used by MediaTek's Smart Phone Flash Tool (SP Flash Tool) to manage the flashing and partitioning of devices powered by the MT8163 chipset. Found in devices ranging from Amazon Echo Dots to Android car stereos and budget tablets, this file serves as a blueprint for the device's eMMC storage layout. Core Function and Structure
The primary purpose of a scatter file is to define the physical and linear addresses for every partition on a device's flash memory. It ensures that firmware components like the bootloader, kernel, and system images are written to the exact locations required for the hardware to initialize and boot correctly. Key elements within an MT8163 scatter file include: the recovery image
General Settings: Information about the platform (MT8163), storage type (typically EMMC), and the project version (e.g., tb8163p3_bsp).
Partition Index: A sequential list of partitions, such as SYS0, SYS1, etc..
Partition Details: Each entry specifies a partition_name (e.g., preloader, recovery, system), its linear_start_addr, physical_start_addr, and total partition_size.
Download Status: A flag indicating whether the partition is meant to be updated during a standard flash operation.
Exploring the Amazon Echo Dot, Part 2: Into MediaTek utility hell
| Partition | Purpose | |-----------|---------| | PRELOADER | 1st-stage bootloader, initializes DRAM | | PGPT / PMT | Primary GPT / Partition Manager Table | | NVRAM | Wi-Fi/BT MAC address, IMEI (no modem on MT8163 usually) | | UBOOT / LK | Little Kernel – second bootloader | | BOOTIMG | Kernel + ramdisk (Android boot) | | SEC_RO | dm-verity, AVB metadata | | ANDROID | System partition (read-only) | | USRDATA | User data + internal storage |
Let’s dissect a typical line from MT8163_Android_scatter.txt. Understanding these parameters is essential for advanced troubleshooting.
- partition_index: SYS11
partition_name: system
file_name: system.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x4a800000
physical_start_addr: 0x4a800000
partition_size: 0x60000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
Using SP Flash Tool’s “Read Back” function: