Replace the original on-board UFS

Hi,
is there someone who knows how to replace the original onboard UFS with another vendor’s UFS?

I removed the original UFS, and put our alternative 3.1 UFS, but while flashing images, SDKmanager cannot detect UFS. any idea?

Hi,
I think this could be done in Emergency Download (EDL) mode. I followed this link to re-flash the UFS (to rescue) multiple of time : Qualcomm USB flashing tool - 96Boards

Note that there hasn’t been official guide for RB5 but steps for Dragonboard 845c (RB3) are applicable : DragonBoard 845c Board Recovery - 96Boards

Also some rescue builds for Linux are not good, the good one I can use is described in the following discussion : Boot error with linaro openembedded - #24 by dchote

Hope that it could help.
K.

Thanks for your information.
For the RB5, the rescure is Qualcomm RB5 Board Recovery - 96Boards.

But, I am not sure if this works. If the original UFS is empty at the very beginning(after shipped by Thundercomm), it should work. I will try…

Hi,
Effectively the instruction in the above link leads to rb5-bootloader-ufs-linux-5.zip which is NOT good according to following discussion : Boot error with linaro openembedded - #25 by ndec

The good one is actually this : rb5-bootloader-ufs-linux-10.zip. I have done the rescue multiple of time even-though the RB5 shipped from Thundercom was not empty (it was installed with Ubuntu based image by default).

BR,
K.

Oops. Sorry about that. I’ve submitted a patch to fix the documentation:

1 Like

Hi @anon91830841,

I think that in Linaro OpenEmbedded Latest Release Notes for RB5, the link of the functional rescue/boot-loader image in the following phrase might also need to be updated to avoid unexpected issue :

A firmware/bootloader upgrade is required for this release, install with the fastboot images, latest bootloader package.

BR,
K.

@l4es and @anon91830841
I tried rb5-bootloader-ufs-linux-10.zip. with the qdl, the log is as below. but after that, I cannot go into fastboot mode to flash image. I tried the Qcom QFIL tool, yes, it can detect the UFS,

**

  1. QDL print log :

**

rb5-bootloader-ufs-linux-10$ sudo …/qdl/qdl prog_firehose_ddr.elf rawprogram?.xml patch?.xml
HELLO version: 0x2 compatible: 0x1 max_len: 1024 mode: 0
READ64 image: 13 offset: 0x0 length: 0x40
READ64 image: 13 offset: 0x40 length: 0x310
READ64 image: 13 offset: 0x1000 length: 0x1000
READ64 image: 13 offset: 0x2000 length: 0xc48
READ64 image: 13 offset: 0x3000 length: 0x1000
READ64 image: 13 offset: 0x4000 length: 0x1000
READ64 image: 13 offset: 0x5000 length: 0x1000
READ64 image: 13 offset: 0x6000 length: 0x1000
READ64 image: 13 offset: 0x7000 length: 0x1000
READ64 image: 13 offset: 0x8000 length: 0x1000
READ64 image: 13 offset: 0x9000 length: 0x1000
READ64 image: 13 offset: 0xa000 length: 0x1000
READ64 image: 13 offset: 0xb000 length: 0x1000
READ64 image: 13 offset: 0xc000 length: 0x1000
READ64 image: 13 offset: 0xd000 length: 0x1000
READ64 image: 13 offset: 0xe000 length: 0x1000
READ64 image: 13 offset: 0xf000 length: 0x1000
READ64 image: 13 offset: 0x10000 length: 0x1000
READ64 image: 13 offset: 0x11000 length: 0x1000
READ64 image: 13 offset: 0x12000 length: 0x1000
READ64 image: 13 offset: 0x13000 length: 0x1000
READ64 image: 13 offset: 0x14000 length: 0x1000
READ64 image: 13 offset: 0x15000 length: 0x1000
READ64 image: 13 offset: 0x16000 length: 0x1000
READ64 image: 13 offset: 0x17000 length: 0x1000
READ64 image: 13 offset: 0x18000 length: 0x1000
READ64 image: 13 offset: 0x19000 length: 0x1000
READ64 image: 13 offset: 0x1a000 length: 0x1000
READ64 image: 13 offset: 0x1b000 length: 0x1000
READ64 image: 13 offset: 0x1c000 length: 0x1000
READ64 image: 13 offset: 0x1d000 length: 0x1000
READ64 image: 13 offset: 0x1e000 length: 0x1000
READ64 image: 13 offset: 0x1f000 length: 0x1000
READ64 image: 13 offset: 0x20000 length: 0x1000
READ64 image: 13 offset: 0x21000 length: 0x1000
READ64 image: 13 offset: 0x22000 length: 0x1000
READ64 image: 13 offset: 0x23000 length: 0x1000
READ64 image: 13 offset: 0x24000 length: 0x1000
READ64 image: 13 offset: 0x25000 length: 0x1000
READ64 image: 13 offset: 0x26000 length: 0x1000
READ64 image: 13 offset: 0x27000 length: 0x1000
READ64 image: 13 offset: 0x28000 length: 0x1000
READ64 image: 13 offset: 0x29000 length: 0x1000
READ64 image: 13 offset: 0x2a000 length: 0x1000
READ64 image: 13 offset: 0x2b000 length: 0x1000
READ64 image: 13 offset: 0x2c000 length: 0x1000
READ64 image: 13 offset: 0x2d000 length: 0x1000
READ64 image: 13 offset: 0x2e000 length: 0x1000
READ64 image: 13 offset: 0x2f000 length: 0x1000
READ64 image: 13 offset: 0x30000 length: 0x1000
READ64 image: 13 offset: 0x31000 length: 0x1000
READ64 image: 13 offset: 0x32000 length: 0x1000
READ64 image: 13 offset: 0x33000 length: 0x1000
READ64 image: 13 offset: 0x34000 length: 0x1000
READ64 image: 13 offset: 0x35000 length: 0x1000
READ64 image: 13 offset: 0x36000 length: 0x1000
READ64 image: 13 offset: 0x37000 length: 0x1000
READ64 image: 13 offset: 0x38000 length: 0x1000
READ64 image: 13 offset: 0x39000 length: 0x1000
READ64 image: 13 offset: 0x3a000 length: 0x1000
READ64 image: 13 offset: 0x3b000 length: 0x1000
READ64 image: 13 offset: 0x3c000 length: 0x1000
READ64 image: 13 offset: 0x3d000 length: 0x1000
READ64 image: 13 offset: 0x3e000 length: 0x1000
READ64 image: 13 offset: 0x3f000 length: 0x1000
READ64 image: 13 offset: 0x40000 length: 0x1000
READ64 image: 13 offset: 0x41000 length: 0x1000
READ64 image: 13 offset: 0x42000 length: 0x1000
READ64 image: 13 offset: 0x43000 length: 0x1000
READ64 image: 13 offset: 0x44000 length: 0x1000
READ64 image: 13 offset: 0x45000 length: 0x1000
READ64 image: 13 offset: 0x46000 length: 0x1000
READ64 image: 13 offset: 0x47000 length: 0x1000
READ64 image: 13 offset: 0x48000 length: 0x1000
READ64 image: 13 offset: 0x49000 length: 0x1000
READ64 image: 13 offset: 0x4a000 length: 0x1000
READ64 image: 13 offset: 0x4b000 length: 0x1000
READ64 image: 13 offset: 0x4c000 length: 0x1000
READ64 image: 13 offset: 0x4d000 length: 0x1000
READ64 image: 13 offset: 0x4e000 length: 0x1000
READ64 image: 13 offset: 0x4f000 length: 0x1000
READ64 image: 13 offset: 0x50000 length: 0x1000
READ64 image: 13 offset: 0x51000 length: 0x1000
READ64 image: 13 offset: 0x52000 length: 0x1000
READ64 image: 13 offset: 0x53000 length: 0x1000
READ64 image: 13 offset: 0x54000 length: 0x1000
READ64 image: 13 offset: 0x55000 length: 0x1000
READ64 image: 13 offset: 0x56000 length: 0x1000
READ64 image: 13 offset: 0x57000 length: 0x1000
READ64 image: 13 offset: 0x58000 length: 0x1000
READ64 image: 13 offset: 0x59000 length: 0x1000
READ64 image: 13 offset: 0x5a000 length: 0x1000
READ64 image: 13 offset: 0x5b000 length: 0x1000
READ64 image: 13 offset: 0x5c000 length: 0x1000
READ64 image: 13 offset: 0x5d000 length: 0x1000
READ64 image: 13 offset: 0x5e000 length: 0x1000
READ64 image: 13 offset: 0x5f000 length: 0x1000
READ64 image: 13 offset: 0x60000 length: 0x1000
READ64 image: 13 offset: 0x61000 length: 0x1000
READ64 image: 13 offset: 0x62000 length: 0x1000
READ64 image: 13 offset: 0x63000 length: 0x1000
READ64 image: 13 offset: 0x64000 length: 0x4ac
READ64 image: 13 offset: 0x644b0 length: 0x1000
READ64 image: 13 offset: 0x654b0 length: 0x1000
READ64 image: 13 offset: 0x664b0 length: 0x1000
READ64 image: 13 offset: 0x674b0 length: 0x1000
READ64 image: 13 offset: 0x684b0 length: 0x1000
READ64 image: 13 offset: 0x694b0 length: 0x1000
READ64 image: 13 offset: 0x6a4b0 length: 0x1000
READ64 image: 13 offset: 0x6b4b0 length: 0x1000
READ64 image: 13 offset: 0x6c4b0 length: 0x1000
READ64 image: 13 offset: 0x6d4b0 length: 0x1000
READ64 image: 13 offset: 0x6e4b0 length: 0x1000
READ64 image: 13 offset: 0x6f4b0 length: 0x1000
READ64 image: 13 offset: 0x704b0 length: 0x530
READ64 image: 13 offset: 0x709e0 length: 0x1000
READ64 image: 13 offset: 0x719e0 length: 0x1000
READ64 image: 13 offset: 0x729e0 length: 0x1000
READ64 image: 13 offset: 0x739e0 length: 0x1000
READ64 image: 13 offset: 0x749e0 length: 0x1000
READ64 image: 13 offset: 0x759e0 length: 0x1000
READ64 image: 13 offset: 0x769e0 length: 0x1000
READ64 image: 13 offset: 0x779e0 length: 0x1000
READ64 image: 13 offset: 0x789e0 length: 0x1000
READ64 image: 13 offset: 0x799e0 length: 0x1000
READ64 image: 13 offset: 0x7a9e0 length: 0x1000
READ64 image: 13 offset: 0x7b9e0 length: 0x1000
READ64 image: 13 offset: 0x7c9e0 length: 0x1000
READ64 image: 13 offset: 0x7d9e0 length: 0x1000
READ64 image: 13 offset: 0x7e9e0 length: 0x1000
READ64 image: 13 offset: 0x7f9e0 length: 0x1000
READ64 image: 13 offset: 0x809e0 length: 0xcc
READ64 image: 13 offset: 0x80ab0 length: 0x84
READ64 image: 13 offset: 0x80b34 length: 0x1000
READ64 image: 13 offset: 0x81b34 length: 0x1000
READ64 image: 13 offset: 0x82b34 length: 0x1000
READ64 image: 13 offset: 0x83b34 length: 0x1000
READ64 image: 13 offset: 0x84b34 length: 0x1000
READ64 image: 13 offset: 0x85b34 length: 0x1000
READ64 image: 13 offset: 0x86b34 length: 0x1000
READ64 image: 13 offset: 0x87b34 length: 0x1000
READ64 image: 13 offset: 0x88b34 length: 0x1000
READ64 image: 13 offset: 0x89b34 length: 0x72c
READ64 image: 13 offset: 0x8a260 length: 0x1000
READ64 image: 13 offset: 0x8b260 length: 0x1000
READ64 image: 13 offset: 0x8c260 length: 0x1000
READ64 image: 13 offset: 0x8d260 length: 0x1000
READ64 image: 13 offset: 0x8e260 length: 0x1000
READ64 image: 13 offset: 0x8f260 length: 0xbf0
READ64 image: 13 offset: 0x8fe50 length: 0x1000
READ64 image: 13 offset: 0x90e50 length: 0x1000
READ64 image: 13 offset: 0x91e50 length: 0x1000
READ64 image: 13 offset: 0x92e50 length: 0x1000
READ64 image: 13 offset: 0x93e50 length: 0x1000
READ64 image: 13 offset: 0x94e50 length: 0xbf0
READ64 image: 13 offset: 0x95a40 length: 0x1000
READ64 image: 13 offset: 0x96a40 length: 0x1000
READ64 image: 13 offset: 0x97a40 length: 0x1000
READ64 image: 13 offset: 0x98a40 length: 0x1000
READ64 image: 13 offset: 0x99a40 length: 0x1000
READ64 image: 13 offset: 0x9aa40 length: 0x1000
READ64 image: 13 offset: 0x9ba40 length: 0x1000
READ64 image: 13 offset: 0x9ca40 length: 0x1000
READ64 image: 13 offset: 0x9da40 length: 0x1000
READ64 image: 13 offset: 0x9ea40 length: 0x1000
READ64 image: 13 offset: 0x9fa40 length: 0x1000
READ64 image: 13 offset: 0xa0a40 length: 0x1000
READ64 image: 13 offset: 0xa1a40 length: 0x1000
READ64 image: 13 offset: 0xa2a40 length: 0x1000
READ64 image: 13 offset: 0xa3a40 length: 0x1000
READ64 image: 13 offset: 0xa4a40 length: 0x1000
READ64 image: 13 offset: 0xa5a40 length: 0x1000
READ64 image: 13 offset: 0xa6a40 length: 0x1000
READ64 image: 13 offset: 0xa7a40 length: 0x1000
READ64 image: 13 offset: 0xa8a40 length: 0x1000
READ64 image: 13 offset: 0xa9a40 length: 0x1000
READ64 image: 13 offset: 0xaaa40 length: 0x1000
END OF IMAGE image: 13 status: 0
DONE status: 1
LOG: INFO: Binary build date: Nov 20 2020 @ 06:35:11
LOG: INFO: Binary build date: Nov 20 2020 @ 06:35:11
LOG: INFO: Chip serial num: 1450175946 (0x566fedca)
LOG: INFO: Supported Functions (15):
LOG: INFO: program
LOG: INFO: read
LOG: INFO: nop
LOG: INFO: patch
LOG: INFO: configure
LOG: INFO: setbootablestoragedrive
LOG: INFO: erase
LOG: INFO: power
LOG: INFO: firmwarewrite
LOG: INFO: getstorageinfo
LOG: INFO: benchmark
LOG: INFO: emmc
LOG: INFO: ufs
LOG: INFO: fixgpt
LOG: INFO: getsha256digest
LOG: INFO: End of supported functions 15
qdl: firehose operation timed out
LOG: INFO: Calling handler for configure
LOG: INFO: Storage type set to value UFS
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “xbl_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “xbl_config_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “xbl_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “xbl_config_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “cdt” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “aop_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “tz_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “hyp_a” successfully at 444kB/s
Unable to open BTFM.bin…ignoring
LOG: INFO: Calling handler for program
[PROGRAM] flashed “abl_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “dsp_a” successfully at 13107kB/s
LOG: INFO: Calling handler for program
[PROGRAM] flashed “keymaster_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “boot_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “cmnlib_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “cmnlib64_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “devcfg_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “qupfw_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “uefisecapp_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “multiimgoem_a” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “featenabler_a” successfully
Unable to open imagefv.elf…ignoring
LOG: INFO: Calling handler for program
[PROGRAM] flashed “aop_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “tz_b” successfully at 3236kB/s
LOG: INFO: Calling handler for program
[PROGRAM] flashed “hyp_b” successfully
Unable to open BTFM.bin…ignoring
LOG: INFO: Calling handler for program
[PROGRAM] flashed “abl_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “dsp_b” successfully at 13107kB/s
LOG: INFO: Calling handler for program
[PROGRAM] flashed “keymaster_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “boot_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “cmnlib_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “cmnlib64_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “devcfg_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “qupfw_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “uefisecapp_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “multiimgoem_b” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “featenabler_b” successfully
Unable to open imagefv.elf…ignoring
LOG: INFO: Calling handler for program
[PROGRAM] flashed “apdp” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “spunvm” successfully
Unable to open logfs_ufs_8mb.bin…ignoring
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “PrimaryGPT” successfully
LOG: INFO: Calling handler for program
[PROGRAM] flashed “BackupGPT” successfully
Update last partition 1 ‘rootfs’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 1 ‘rootfs’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
Update last partition 3 ‘last_parti’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 3 ‘last_parti’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
Update last partition 3 ‘last_parti’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 3 ‘last_parti’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
Update last partition 5 ‘last_parti’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 5 ‘last_parti’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
Update last partition 61 ‘last_parti’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 61 ‘last_parti’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
Update last partition 15 ‘last_parti’ with actual size in Primary Header.
LOG: INFO: Calling handler for patch
Update last partition 15 ‘last_parti’ with actual size in Backup Header.
LOG: INFO: Calling handler for patch
Update Primary Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with LastUseableLBA.
LOG: INFO: Calling handler for patch
Update Primary Header with BackupGPT Header Location.
LOG: INFO: Calling handler for patch
Update Backup Header with CurrentLBA.
LOG: INFO: Calling handler for patch
Update Backup Header with Partition Array Location.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Partition Array.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Primary Header.
LOG: INFO: Calling handler for patch
Update Primary Header with CRC of Primary Header.
LOG: INFO: Calling handler for patch
Zero Out Header CRC in Backup Header.
LOG: INFO: Calling handler for patch
Update Backup Header with CRC of Backup Header.
LOG: INFO: Calling handler for patch
LOG: INFO: Calling handler for setbootablestoragedrive
LOG: INFO: Using scheme of value= 1
partition 1 is now bootable
LOG: INFO: Calling handler for power

**

  • debug console print log:

**
B - 42919783 - Enter emrgency download
ÿ
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.XF.3.2-00310-SM8250-1
S - IMAGE_VARIANT_STRING=Soc8250LAA
S - OEM_IMAGE_VERSION_STRING=crm-ubuntu12
S - Boot Interface: USB
S - Secure Boot: Off
S - Boot Config @ 0x00786070 = 0x00000001
S - JTAG ID @ 0x00786130 = 0x0015a0e1
S - OEM ID @ 0x00786138 = 0x00000000
S - Serial Number @ 0x00786134 = 0x566fedca
S - OEM Config Row 0 @ 0x007841e0 = 0x0000000000000000
S - OEM Config Row 1 @ 0x007841e8 = 0x0000000000000000
S - Feature Config Row 0 @ 0x007841f8 = 0x0040200000000400
S - Feature Config Row 1 @ 0x00784200 = 0xc000000000000000
S - Core 0 Frequency, 1516 MHz
S - PBL Patch Ver: 5
S - PBL freq: 600 MHZ
D - 6208 - pbl_apps_init_timestamp
D - 1786037 - bootable_media_detect_timestamp
D - 20712515 - bl_elf_metadata_loading_timestamp
D - 722 - bl_hash_seg_auth_timestamp
D - 135666 - bl_elf_loadable_segment_loading_timestamp
D - 6272 - bl_elf_segs_hash_verify_timestamp
D - 7010 - bl_sec_hash_seg_auth_timestamp
D - 821 - bl_sec_segs_hash_verify_timestamp
D - 35 - pbl_populate_shared_data_and_exit_timestamp
S - 22655286 - PBL, End
B - 22805948 - SBL1, Start
B - 22921970 - SBL1 BUILD @ 06:35:11 on Nov 20 2020
D - 1220 - sbl1_hw_init
D - 0 - boot_flash_init
D - 915 - sbl1_xblconfig_init
D - 0 - boot_config_data_table_default_init
B - 22938470 - Using default CDT
D - 4758 - boot_config_data_table_init
B - 22946400 - CDT Version:3,Platform ID:8,Major ID:1,Minor ID:0,Subtype:0
D - 17476 - sbl1_hw_platform_pre_ddr
D - 6374 - pmic DevPrg init
D - 6405 - sbl1_hw_pre_ddr_init
D - 0 - boot_dload_handle_forced_dload_timeout
D - 61 - sbl1_ddr_set_params
B - 22981841 - Can’t detect if LP5 or LP4. If it fails to start check build/harware combo
B - 23006485 - eCDT MRR - Data Starting Address: 0x09066D00

B - 23007858 - DSF version = 156.8.14
B - 23012189 - Manufacturer ID = 1, Device Type = 8
B - 23015788 - Rank 0 size = 4096 MB, Rank 1 size = 4096 MB
D - 39040 - sbl1_ddr_init
D - 0 - boot_pre_ddi_entry
D - 92 - sbl1_do_ddr_training
B - 23032471 - DevProg DDR Entry
B - 23035765 - usb: init start
B - 23038846 - usb: enum_carried_from_pbl
B - 23041835 - usb: HIGH , 0x900e
B - 23045891 - usb: ENUM success
B - 23049124 - usb: vbus_det_pm_unavail
B - 27881361 - usb: host sends ZLP
B - 27965267 - UFS INQUIRY ID: SAMSUNG KLUDG4UHDB
B - 27968530 - UFS Boot LUN: 1

I suppose, there should be a provision step after replacing UFS.
do you have any idea on this?
thanks.

@anon91830841
do you know how to get UFS provision *xml file for RB5? I am sure it is because of the UFS provision. After replacing the original UFS with a brand new UFS, we need to flash provision images with the QFIL tool to format the UFS(flash its partition configure)
thanks,

@anon91830841
from DragonBoard 845c Board Recovery - 96Boards

it mentions:

UFS provisioning

UFS provisioning is not supported yet

do you know how to provision a brand new UFS in QFIL or QDL tool?

Hi,
After running UFS provision with an **

rb5-ufs-provison.xml,

** now my brand new Micron UFS works on RB5.

Summary:
Since the UFS on RB5 has a different LU sequence (LU0: data lun, Lu1/LU2: boot Lu) with other UFS vendors’ UFS default LU sequence. To make a brand new UFS work on RB5, you need this step.

1 Like

Hey Jackyard,

Where did you get the rb5-ufs-provison.xml? I can’t seem to find it anywhere.

Best,
Misha