Title: Genio 520-EVK (P2V3, just unboxed) — genio-flash “Partition does not exist” on mmc0 (UFS), sparse data transfers OK but write fails
Board: Genio 520-EVK (P2V3), brand new / just unboxed. Boots into its shipped OS normally.
Host: Windows, Python 3.14, Genio Tools v1.7.1.
Image: the official Android UFS raw image listed for G520-EVK(P2V3) — aiot8391p2_64_bsp …_user_raw. Extracted files: ufs_lu2.bin, ufs_lu0_lu1.bin, lk.bin, placed in a genio-520-evk folder.
Cable: confirmed in the connector silk-screened “USB 3.2 P0 Download”. UART0 also connected (FTDI on COM3).
Boot Selection switches: never touched since unboxing (factory default; the download table lists this board as booting from UFS).
Symptom:
Connection, download mode, and fastboot all work. Sparse image DATA transfers successfully (Sending ‘mmc0’ returns OKAY). The failure is only at the Writing step: the partitions mmc0 / mmc0boot0 / mmc0boot1 report size 0 and “Partition does not exist.” Same result with erase-mmc, plain genio-flash, and genio-flash --skip-erase.
genio-flash --skip-erase output:
Connected to MediaTek SoC: hw_code[0x8189]
Sending bootstrap to address: 0x2001000
Jumping to bootstrap at address 0x2001000 in AArch64 mode
flashing mmc0=ufs_lu2.bin
< waiting for any device >
Warning: skip copying mmc0 image avb footer (mmc0 partition size: 0, mmc0 image size: 8740929536).
Invalid sparse file format at header magic
Sending sparse ‘mmc0’ 1/8 (262141 KB) OKAY [ 13.869s]
Writing ‘mmc0’ FAILED (remote: ‘Partition does not exist.’)
flashing mmc0boot0=ufs_lu0_lu1.bin
Sending ‘mmc0boot0’ (2048 KB) OKAY
Writing ‘mmc0boot0’ FAILED (remote: ‘Partition does not exist.’)
flashing mmc0boot1=ufs_lu0_lu1.bin
Sending ‘mmc0boot1’ (2048 KB) OKAY
Writing ‘mmc0boot1’ FAILED (remote: ‘Partition does not exist.’)
Rebooting OKAY
Already confirmed:
- v1.7.1 (above the v1.7 minimum for Genio 520).
- Correct UFS image for G520-EVK(P2V3) per the Android download table.
- Correct “USB 3.2 P0 Download” port.
- SoC connects (hw_code 0x8189), bootstrap jumps, fastboot reaches the board (remote: responses), sparse data transfers OKAY.
- Board is healthy — boots its shipped OS normally.
- Boot Selection DIP switches never moved from factory.
The only failing step is the partition write, because the targets report size 0 / do not exist.
Environment note: on Python 3.14, which the docs flag as a known-issue Windows platform (they recommend 3.12). Flashing reaches the board and transfers data, so likely unrelated, but flagging it.
Is there something I am missing during the steps?