RB5 always in 9008 mode and qdl: failed to write: Protocol error

After one flashing , the RB5 can’t be booted up. The board has no response even I pressed the button for a long time.

And once I connect the USB into a Ubuntu PC and code “lsusb” command, it shows the board is always in the 9008 mode(QDL).

So I tried the board recover like:

Use this bootloader:
https://releases.linaro.org/96boards/rb5/linaro/rescue/21.08/

But report the protocol error “qdl: failed to write: Protocol error”:

$ 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: 3244692764 (0xc166151c)
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
ERROR: n = -1, errno = 71 (Protocol error)
qdl: failed to write: Protocol error

Hello
Please follow below steps for recovery

  1. (On Host)Run ‘adb kill-server’
  2. (On Host)Run ‘sudo systemctl stop ModemManager’
  3. (On Target) Press ‘F_DL’ button and hold. (Don’t release before attempting flash)
  4. (On Target) Power on the device and wait for about 5 seconds.
  5. (On Target) Connect to Host machine via USB type-C
  6. (On Host) Run qdl downloader ‘sudo …/…/qdl/qdl prog_firehose_ddr.elf rawprogram?.xml patch?.xml’

Regards,