[YU Yureka Q&A, Help & Troubleshooting] darkspr1te:
qcom boot modes

1. DMSS mode 05c6:9008 Qualcomm, Inc (this is the mode the device switches to once the hex has been uploaded)

2. Sahara 05c6:900e Qualcomm, Inc (used by drivers to upload the firmware to qcom 3g dongles and modems)

3. DLoad protocol 05c6:9006 Qualcomm, Inc (note also called streaming protocol, this is the mode used by the PBL)

All modes use HDLC protocol but actuall commands and effect differ,

DMSS procotol commands and ack's

CMD_WRITE = 0x01, /* Write a block of data to memory (received) */
CMD_ACK = 0x02, /* Acknowledge receiving a packet (transmitted) */
CMD_NAK = 0x03, /* Acknowledge a bad packet (transmitted) */
CMD_ERASE = 0x04, /* Erase a block of memory (received) */
CMD_GO = 0x05, /* Begin execution at an address (received) */
CMD_NOP = 0x06, /* No operation, for debug (received) */
CMD_PREQ = 0x07, /* Request implementation info (received) */
CMD_PARAMS = 0x08, /* Provide implementation info (transmitted) */
CMD_DUMP = 0x09, /* Debug: dump a block of memory (received) */
CMD_RESET = 0x0A, /* Reset the phone (received) */
CMD_UNLOCK = 0x0B, /* Unlock access to secured ops (received) */
CMD_VERREQ = 0x0C, /* Request software version info (received) */
CMD_VERRSP = 0x0D, /* Provide software version info (transmitted) */
CMD_PWROFF = 0x0E, /* Turn phone power off (received) */
CMD_WRITE_32BIT = 0x0F, /* Write a block of data to 32-bit memory address (received) */
CMD_MEM_DEBUG_QUERY = 0x10, /* Memory debug query (received) */
CMD_MEM_DEBUG_INFO = 0x11, /* Memory debug info (transmitted) */
CMD_MEM_READ_REQ = 0x12, /* Memory read request (received) */
CMD_MEM_READ_RESP = 0x13, /* Memory read response (transmitted) */
CMD_MEM_UNFRAMED_READ_REQ = 0x14, /* Memory unframed read request (received) */
CMD_MEM_UNFRAMED_READ_RESP = 0x15, /* Memory unframed read response (transmitted) */
CMD_SERIAL_NUM_READ = 0x16, /* Return Serial number from efuse read */
CMD_MSM_HW_ID_READ = 0x17, /* Return msm_hw_id for authentication */
CMD_HASH_KEY_READ = 0x18, /* Root cert hash for authentication */
CMD_DLOAD_SWITCH = 0x3A, /* Switch from 9008 DMSS to DLOAD 9006 */

Dload

DLOAD_STREAMING_CMD_HELLO = 0x01,
DLOAD_STREAMING_CMD_HELLO_RESPONSE,= 0x02
DLOAD_STREAMING_CMD_READ,= 0x03
DLOAD_STREAMING_CMD_READ_RESP,= 0x04
DLOAD_STREAMING_CMD_WRITE,= 0x05
DLOAD_STREAMING_CMD_WRITE_RESP,= 0x06
DLOAD_STREAMING_CMD_STREAM_WRITE,= 0x07
DLOAD_STREAMING_CMD_STREAM_WRITE_RESP,= 0x08
DLOAD_STREAMING_CMD_NOP,= 0x09
DLOAD_STREAMING_CMD_NOP_RESP,= 0x0A
DLOAD_STREAMING_CMD_RESET,= 0x0B
DLOAD_STREAMING_CMD_RESET_RESP,= 0x0C
DLOAD_STREAMING_CMD_ERROR,= 0x0D
DLOAD_STREAMING_CMD_LOG,= 0x0E
DLOAD_STREAMING_CMD_UNLOCK,= 0x0F
DLOAD_STREAMING_CMD_UNLOCK_RESP,= 0x010
DLOAD_STREAMING_CMD_POWER_OFF,= 0x011
DLOAD_STREAMING_CMD_POWER_OFF_RESP,= 0x012
DLOAD_STREAMING_CMD_OPEN,= 0x013
DLOAD_STREAMING_CMD_OPEN_RESP,= 0x014
DLOAD_STREAMING_CMD_CLOSE,= 0x015
DLOAD_STREAMING_CMD_CLOSE_RESP,= 0x016
DLOAD_STREAMING_CMD_SECURITY_MODE,= 0x017
DLOAD_STREAMING_CMD_SECURITY_MODE_RESP,= 0x018
DLOAD_STREAMING_CMD_PARTITION_TABLE,= 0x019
DLOAD_STREAMING_CMD_PARTITION_TABLE_RESP,= 0x01A
DLOAD_STREAMING_CMD_OPEN_MULTI_IMAGE,= 0x01B
DLOAD_STREAMING_CMD_OPEN_MULTI_IMAGE_RESP,= 0x01C
DLOAD_STREAMING_CMD_ERASE_FLASH,= 0x01D
DLOAD_STREAMING_CMD_ERASE_FLASH_RESP,= 0x01E
DLOAD_STREAMING_CMD_GET_ECC,= 0x01f
DLOAD_STREAMING_CMD_GET_ECC_RESP,= 0x020
DLOAD_STREAMING_CMD_SET_ECC,= 0x021
DLOAD_STREAMING_CMD_SET_ECC_RESP,= 0x022
unframed_stream_write , = 0x30
unframed_stream_resp, = 0x031
QFPROM_WRITE , = 0x032
QFPROM_WRITE_RESPO, = 0x033
QFPROM_READ, = 0x034
QFPROM_READ_RESP, = 0x035

I wont cover sahara right now,

darkspr1te