[Guide] Emmcdl Command Lines How to use

EMMCDL is a powerful utility that enables backup, restore, and flashing operations via Emergency Download mode using firehose/sahara protocols. This guide will walk you through the process of downloading and utilizing EMMCDL to perform various operations on your device, using the 9008 mode to complete the process. Unlike fastboot, EDL allows these operations without the need to unlock the bootloader, making it a versatile tool for device management.

Download Links:

  • Download and extract zip, make sure there is no space in path.


Step 1: Download EMMCDL Utility

  • Download emmcdl from above links

Step 2: Prepare Firehose Programmer File

  • obtain programmer firehose from device firmware

Step 3: Connect Device in EDL Mode

  • install qualcomm 9008 driver on your pc
  • Power off your device completely.
  • Press and hold the appropriate key combination to enter EDL mode. This varies depending on the device model but commonly involves holding specific buttons while connecting the device to the computer via USB cable.
  • Once connected, your device should be recognized as Qualcomm HS-USB QDLoader 9008 in Device Manager.

Step 4: Perform Backup, Restore, or Flashing

  1. Open cmd.
  2. Navigate to the directory where you extracted the EMMCDL.
  3. Run the following commands to perform desired operations:
    • Backup: emmcdl -p <port> -f <firehose.mbn> -b <backup_name>
    • Restore: emmcdl -p <port> -f <firehose.mbn> -b <backup_name>
    • Flashing: emmcdl -p <port> -f <firehose.mbn> -d <path_to_image>

Replace <port> with the COM port number assigned to your device, <firehose.mbn> with the name of the firehose programmer file, <backup_name> with the name of the backup file, and <path_to_image> with the path to the image file you want to flash.

Step 5: Monitor Progress and Completion

  • Monitor the progress of the operation in the Command Prompt window.
  • Once the operation completes successfully, disconnect your device from the computer and reboot it.

EMMCL Command Lines:

Options:                                :actions
       -l                               List available mass storage devices
       -info                            List HW information about device attached to COM (eg -p COM8 -info)
       -MaxPayloadSizeToTargetInBytes   The max bytes in firehose mode (DDR or large IMEM use 16384, default=8192)
       -SkipWrite                       Do not write actual data to disk (use this for UFS provisioning)
       -SkipStorageInit                 Do not initialize storage device (use this for UFS provisioning)
       -MemoryName <ufs/emmc>           Memory type default to emmc if none is specified
       -SetActivePartition <num>        Set the specified partition active for booting
       -disk_sector_size <int>          Dump from start sector to end sector to file
       -d <start> <end>                 Dump from start sector to end sector to file
       -d <PartName>                    Dump entire partition based on partition name
       -d logbuf@<start> <size>         Dump size of logbuf to the console
       -e <start> <num>                 Erase disk from start sector for number of sectors
       -e <PartName>                    Erase the entire partition specified
       -s <sectors>                     Number of sectors in disk image
       -p <port or disk>                Port or disk to program to (eg COM8, for PhysicalDrive1 use 1)
       -o <filename>                    Output filename
       [<-x <*.xml> [-xd <imgdir>]>...] Program XML file to output type -o (output) -p (port or disk)
       -f <flash programmer>            Flash programmer to load to IMEM eg MPRG8960.hex
       -i <singleimage>                 Single image to load at offset 0 eg 8960_msimage.mbn
       -t                               Run performance tests
       -b <prtname> <binfile>           Write <binfile> to GPT <prtname>
       -g GPP1 GPP2 GPP3 GPP4           Create GPP partitions with sizes in MB
       -gq                              Do not prompt when creating GPP (quiet)
       -r                               Reset device
       -ffu <*.ffu>                     Download FFU image to device in emergency download need -o and -p
       -splitffu <*.ffu> -o <xmlfile>   Split FFU into binary chunks and create rawprogram0.xml to output location
       -protocol <s|f>                  Can be <s>(STREAMING),  default is <f>(FIREHOSE)
       -gpt                             Dump the GPT from the connected device
       -raw                             Send and receive RAW data to serial port 0x75 0x25 0x10
       -wimei <imei>                    Write IMEI <imei>
       -v                               Enable verbose output
emmcdl -r
to reset Device