Flashing the Jolla C2

See what I said in the other thread: Installing Sailfish to Reeder S19 Max Pro S - #63 by affe_null

In other words, it shouldn’t really matter because the fdl1-dl.bin and fdl2-dl.bin binaries support both eMMC and UFS.

1 Like

I’ve tried installing PMOS on Jolla C2 and accidentally bricked it. It’s hard to tell when everything went wrong, but now phone’s screen is always black, no reaction on keys. However, the phone is detected by libusb as Unisoc loader and I can flash with spd_dump utility, but nothing changes despite logs show no errors

Log 1

Waiting for dl_diag connection (30s)
libusb_control_transfer ok
CHECK_BAUD bootrom
BSL_REP_VER: “SPRD3\0”
CMD_CONNECT bootrom
current exec_addr is 0x65015f08
SEND fdl1-dl.bin to 0x65000800
SEND custom_exec_no_verify_65015f08.bin to 0x65015f08
EXEC FDL1
usb_recv failed : LIBUSB_ERROR_TIMEOUT
CHECK_BAUD FAIL
CHECK_BAUD FDL1
BSL_REP_VER: “Spreadtrum Boot Block version 1.1\0”
CMD_CONNECT FDL1
KEEP_CHARGE FDL1
SEND fdl2-dl.bin to 0x9efffe00
FDL2: incompatible partition
EXEC FDL2
usb_recv failed : LIBUSB_ERROR_TIMEOUT
DISABLE_TRANSCODE
Reading Partition List
[========================================] 100.0% Speed: 2.60Mb/s
Read Part Done: user_partition+0x0, target: 0x8000, read: 0x8000
0 splloader 256KB
1 prodnv 64MB
2 miscdata 1MB
3 misc 1MB
4 trustos_a 6MB
5 trustos_b 6MB
6 sml_a 1MB
7 sml_b 1MB
8 uboot_a 3MB
9 uboot_b 3MB
10 uboot_log 16MB
11 logo 8MB
12 fbootlogo 8MB
13 l_fixnv1_a 2MB
14 l_fixnv2_a 2MB
15 l_fixnv1_b 2MB
16 l_fixnv2_b 2MB
17 l_runtimenv1 2MB
18 l_runtimenv2 2MB
19 persist 2MB
20 l_modem_a 25MB
21 l_modem_b 25MB
22 l_deltanv_a 1MB
23 l_deltanv_b 1MB
24 l_gdsp_a 10MB
25 l_gdsp_b 10MB
26 l_ldsp_a 20MB
27 l_ldsp_b 20MB
28 l_agdsp_a 6MB
29 l_agdsp_b 6MB
30 pm_sys_a 1MB
31 pm_sys_b 1MB
32 teecfg_a 1MB
33 teecfg_b 1MB
34 hypervsior_a 10MB
35 hypervsior_b 10MB
36 boot_a 64MB
37 boot_b 64MB
38 vendor_boot_a 100MB
39 vendor_boot_b 100MB
40 init_boot_a 8MB
41 init_boot_b 8MB
42 dtb_a 8MB
43 dtb_b 8MB
44 dtbo_a 8MB
45 dtbo_b 8MB
46 super 4100MB
47 cache 64MB
48 blackbox 500MB
49 vbmeta_a 1MB
50 vbmeta_b 1MB
51 metadata 64MB
52 sysdumpdb 10MB
53 vbmeta_system_a 1MB
54 vbmeta_system_b 1MB
55 vbmeta_vendor_a 1MB
56 vbmeta_vendor_b 1MB
57 vbmeta_system_ext_a 1MB
58 vbmeta_system_ext_b 1MB
59 vbmeta_product_a 1MB
60 vbmeta_product_b 1MB
61 vbmeta_odm_a 1MB
62 vbmeta_odm_b 1MB
63 avbmeta_rs_a 1MB
64 avbmeta_rs_b 1MB
65 common_rs1_a 8MB
66 common_rs1_b 8MB
67 common_rs2_a 16MB
68 common_rs2_b 16MB
69 userdata 116573MB
standard gpt table saved to pgpt.bin
skip saving sprd partition list packet
partition list saved to partition_1784143831.xml
Total number of partitions: 69
Storage is ufs
ENABLE_WRITE_RAW_DATA
Device is using slot a
file size : 0xfd9c8
[========================================] 100.0% Speed: 15.48Mb/s
Write Part Done: uboot_a, target: 0xfd9c8, written: 0xfd9c8
file size : 0xfd9c8
[========================================] 100.0% Speed: 13.04Mb/s
Write Part Done: uboot_b, target: 0xfd9c8, written: 0xfd9c8
file size : 0x800000
[========================================] 100.0% Speed: 20.10Mb/s
Write Part Done: dtbo_a, target: 0x800000, written: 0x800000
file size : 0x800000
[========================================] 100.0% Speed: 20.00Mb/s
Write Part Done: dtbo_b, target: 0x800000, written: 0x800000

Log 2

[tyas@tyas-amdbc250 spreadtrum_flash]$ sudo ./spd_dump
exec_addr 0x65015f08
fdl fdl1-dl.bin 0x65000800
fdl SailfishOS/lk.bin 0x9efffe00 exec
w boot_a SailfishOS/hybris-boot.img
w boot_b SailfishOS/hybris-boot.img
w vendor_boot_a SailfishOS/vendor_boot.img
w vendor_boot_b SailfishOS/vendor_boot.img
w userdata sailfish.img
w super fimage.img
reset
branch:main, sha1:d24c21a0c93a545c0130668caa1826d59ceebe48
Waiting for dl_diag connection (30s)
libusb_control_transfer ok
CHECK_BAUD bootrom
BSL_REP_VER: “SPRD3\0”
CMD_CONNECT bootrom
current exec_addr is 0x65015f08
SEND fdl1-dl.bin to 0x65000800
SEND custom_exec_no_verify_65015f08.bin to 0x65015f08
EXEC FDL1
usb_recv failed : LIBUSB_ERROR_TIMEOUT
CHECK_BAUD FAIL
CHECK_BAUD FDL1
BSL_REP_VER: “Spreadtrum Boot Block version 1.1\0”
CMD_CONNECT FDL1
KEEP_CHARGE FDL1
SEND SailfishOS/lk.bin to 0x9efffe00
FDL2: incompatible partition
EXEC FDL2
usb_recv failed : LIBUSB_ERROR_TIMEOUT
DISABLE_TRANSCODE
Reading Partition List
[========================================] 100.0% Speed: 0.47Mb/s
Read Part Done: user_partition+0x0, target: 0x8000, read: 0x8000
0 splloader 256KB
1 prodnv 64MB
2 miscdata 1MB
3 misc 1MB
4 trustos_a 6MB
5 trustos_b 6MB
6 sml_a 1MB
7 sml_b 1MB
8 uboot_a 3MB
9 uboot_b 3MB
10 uboot_log 16MB
11 logo 8MB
12 fbootlogo 8MB
13 l_fixnv1_a 2MB
14 l_fixnv2_a 2MB
15 l_fixnv1_b 2MB
16 l_fixnv2_b 2MB
17 l_runtimenv1 2MB
18 l_runtimenv2 2MB
19 persist 2MB
20 l_modem_a 25MB
21 l_modem_b 25MB
22 l_deltanv_a 1MB
23 l_deltanv_b 1MB
24 l_gdsp_a 10MB
25 l_gdsp_b 10MB
26 l_ldsp_a 20MB
27 l_ldsp_b 20MB
28 l_agdsp_a 6MB
29 l_agdsp_b 6MB
30 pm_sys_a 1MB
31 pm_sys_b 1MB
32 teecfg_a 1MB
33 teecfg_b 1MB
34 hypervsior_a 10MB
35 hypervsior_b 10MB
36 boot_a 64MB
37 boot_b 64MB
38 vendor_boot_a 100MB
39 vendor_boot_b 100MB
40 init_boot_a 8MB
41 init_boot_b 8MB
42 dtb_a 8MB
43 dtb_b 8MB
44 dtbo_a 8MB
45 dtbo_b 8MB
46 super 4100MB
47 cache 64MB
48 blackbox 500MB
49 vbmeta_a 1MB
50 vbmeta_b 1MB
51 metadata 64MB
52 sysdumpdb 10MB
53 vbmeta_system_a 1MB
54 vbmeta_system_b 1MB
55 vbmeta_vendor_a 1MB
56 vbmeta_vendor_b 1MB
57 vbmeta_system_ext_a 1MB
58 vbmeta_system_ext_b 1MB
59 vbmeta_product_a 1MB
60 vbmeta_product_b 1MB
61 vbmeta_odm_a 1MB
62 vbmeta_odm_b 1MB
63 avbmeta_rs_a 1MB
64 avbmeta_rs_b 1MB
65 common_rs1_a 8MB
66 common_rs1_b 8MB
67 common_rs2_a 16MB
68 common_rs2_b 16MB
69 userdata 116573MB
standard gpt table saved to pgpt.bin
skip saving sprd partition list packet
partition list saved to partition_1784143981.xml
Total number of partitions: 69
Storage is ufs
ENABLE_WRITE_RAW_DATA
Device is using slot a
file size : 0x2d78000
[========================================] 100.0% Speed: 20.51Mb/s
Write Part Done: boot_a, target: 0x2d78000, written: 0x2d78000
file size : 0x2d78000
[========================================] 100.0% Speed: 20.59Mb/s
Write Part Done: boot_b, target: 0x2d78000, written: 0x2d78000
file size : 0x6400000
[========================================] 100.0% Speed: 20.80Mb/s
Write Part Done: vendor_boot_a, target: 0x6400000, written: 0x6400000
file size : 0x6400000
[========================================] 100.0% Speed: 20.79Mb/s
Write Part Done: vendor_boot_b, target: 0x6400000, written: 0x6400000
file size : 0xb89fc000
[========================================] 100.0% Speed: 23.24Mb/s
Write Part Done: userdata, target: 0xb89fc000, written: 0xb89fc000
file size : 0x5cd4d000
[========================================] 100.0% Speed: 26.70Mb/s
Write Part Done: super, target: 0x5cd4d000, written: 0x5cd4d000

Did you perhaps overwrite the SPL with the wrong image? You can add

w splloader u-boot-spl-16k-ufs-sign.bin
w splloader_bak u-boot-spl-16k-ufs-sign.bin

to the command to reflash it. The u-boot-spl-16k-ufs-sign.bin file can be extracted from https://storage.abscue.de/private/zImage/sprd-prebuilts-jolla-c2.tar.gz (inside boot)

2 Likes

Yep. that fixed my phone, thank you!

1 Like