ZUK Z2 Rio Edition the most affordable smartphone based on Snapdragon 820

ZUK Z2 / Z2 PRO QPST / Qfil Rom Flashing Guide




UPDATE : You need to use Qfil (Guide link) for Zuk Z2 Pro, click “load content” and choose “contents.xml” from Qfil rom folder. Before that don’t forget to change “device type” to UFS from EMMC in “Firehose Download configuration” under Configuration menu.


It’s been almost 1.5 years after i discovered using different Qualcomm flashers across diffrent makers/models. I tried to explain all about “Qualcomm HS-USB  QDLoader 9008port, about Qualcomm’s own flasherQfil”  and how to solve this so called “black bricks” if you can find a proper rom for your model. You can read my articles if you want to learn more about “unbricking” your Qualcomm Snapdragons.

Ultimate Qualcomm Snapdragon Unbrick Guide, Snapdragon’s are UNBRICKABLE 

Today’s headline is the newcomer, Lenovo’s sub brand ZUK Z2 series. Amazing value for price, almost the cheapest Snapdragon 820 based smartphones and therefore already have many fans/forums around the world. I myself always used Qfil flash programmer when it was about unbricking a Qualcomm based Lenovo/ZUK. But after Snapdragon 820 things changed a little, in the name of programmer files and extensions. Until Snapdragon 810, for 64 Bit chips, we had “mbn” file extansion as our “firehose programmers”, for example “prog_emmc_firehose_8994_ddr.mbn” or “prog_emmc_firehose_8994_lite.mbn” inside our Qfil rom packages. And Qfil was the only flasher that is supporting this firehose protocol till now. After 820’s Qualcomm made differences both in file system and naturaly to our “service files”.  Mbn’s became “elf’s”, not the nation from middle-earth 🙂 Taken from wiki : “In computing, the Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps.” Examples from ZUK Z2’s Qfil rom folder : “prog_emmc_firehose_8996_ddr.elf” and “prog_emmc_firehose_8996_lite.elf“.

I read that some users are having difficulties flashing their Snapdragon 820 Zuk’s with Qfil, can be because of the version of Qfil, can be driver related or something else. Today i will show you a more easy way to flash any *.elf programmer to any Qualcomm 820 based smartphone, with right kind of rom of course. We will use our most case saviour Xiaomi’s latest “MiFlash” Qualcomm programmer, this version came out right after Xiaomi’s Snapdragon 820 based phone Mi5 and supporting elf programmers and is very easy to use in most cases.

Download MiFlash 

Download MiFlash 32 & 64bit New Version

Before we start, we need to put our Windows operating system into “Test Mode“, so we dont have to deal with any driver install issues in between our work, to do this just :

Press Start->Search->cmd then right-click on it and click Run as administrator. In the CMD window type or copy this “Bcdedit.exe -set TESTSIGNING ON”  and press enter. Restart PC.

After your work with unbricking is done, if you want to get out of this test mode, detailed instructions are here : Windows Test Mode .


Before we begin, let me remind you, this method will wipe your phone completely and bring it to “out of box” factory mode. So backing up your important data is a must! If your phone is already bricked and can’t power on or is stuck at logo, there is not much to do for your data.



First, we need to install adb on our computers, and for that, we will use a program called “adb setup“, thanks to Snoop05 from XDA-Developers, this will enable adb and fastboot commands to work on our systems. It will also install necessary adb drivers. There are many ways to do that but what is more important about Snoop05’s solution is that we can use adb and fastboot commands system-wide, this means our old “command prompt” will turn to accept this commands, and no need to work in the “adb” folder like we used to before. Then install Lenovo and ZUK phone Windows USB drivers + Qualcomm Diag port drivers on your system.


On Lenovo/ZUK phones to enable USB debugging, click “USB debugging (ADB)” under “USB computer connection” from the pop-up window when you plug the USB cable.  On ZUK Z1, if Cyanogen Rom is installed, go to settings> about phone, and click “Build number”couple of times till you see you are a developer message. Then back to settings>Developer opitons>USB debugging, click it and allow. Your system will install necessary”adb” drivers. Now open command prompt and type :

adb devices


Look at your phone for the Allow USB debugging? message, select Always allow from this computer and click OK. If you forget to allow from phone, the command will returnunauthorized, if OK you will see your phone as device .


Now it’s time to open our so called Qualcomm HS-USB Qdloader 9008 service port to work with. If your phone is in working condition, we will use an adb command from command prompt :

“adb reboot edl”



If your phone is bricked / can’t boot up / stuck at logo / restarting itself continuously, then we will use the key combination to open our Qualcomm HS-USB Qdloader 9008 service port. That key combination depends on the ROM that you had on your phone before it’s bricked.

If you were on Lollipop : Phone must be completely off. Pressing “Volume Up” key plug the USB cable in WITHOUT PRESSING POWER BUTTON !  Port will open.

If you were on Marshmallow : Phone must be completely off. Plug the USB cable in and immediately press Power On button. Port will open.


Now setup Miflash that you downloaded, Miflash will install necessary “Qulacomm” drivers to your system , so dont forget choose “Install this driver software anyway” option when it asks, twice, and after it finishes you will see a new port named Qualcomm HS-USB Qdloader 9008 in your device manager too. The driver path will be “C:\Program Files (x86)\Xiaomi\MiPhone\Qualcomm\Driver”, in case you want/need to install your drivers again.





Open MiFlash, click “refresh” button and you’ll see your Qualcomm 9008/EDL port there. Then click “Browse” and choose your downloaded rom folder please (unzip it before you that). It will look like this for ZUK Z2 rom folder :


When you are ready click “flash” button. In about 2-3 minutes the flashing will finish, unplug the usb cable and press power button long enough to power on your ZUK Z2. Thats it. Your ZUK has been saved or flashed with a stock factory rom.


Some of the paragraphs of this article are taken from my Xiaomi and Lenovo unbricking + flashing guides, so dont get confused becouse of some pictures here. If you need to look at them :

Xiaomi Mi5, How To Flash Global Multilanguage Rom + Unbrick Guide

Lenovo / ZUK Phones ; Qfil Roms + UNBRICK Guide



Copyright © 2016 by androidbrick.com. All rights reserved.

0 0 votes
Article Rating
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Oldest Most Voted
Inline Feedbacks
View all comments
Faruk Demir
6 years ago

Buradaki işlemlerin hepsini yaptım fakat flashlama yerinde hata alıyorum qpst sahara hatası veriyor miflash ise xml satırınca 1. ve 6.satırda hata var gibisinden bir uyarı veriyor lütfen yardım edin.

Faruk Demir
Reply to  Ustabas Osman
6 years ago

Hocam daha rom flashlamayı denemeden önce yaptım bu seçenekleri fakat olmuyor.

Faruk Demir
Reply to  Ustabas Osman
6 years ago

Çözdüm sorunu hocam Qfil’i yönetici olarak çalıştırmak gerekiyormuş yapamayanlara yardımcı olurum inşallah.

Faruk Demir
Reply to  Ustabas Osman
6 years ago

Herşey iyi gidiyor derken tam sonlara doğru Download Fail:FireHouse Fail:FHLoader Fail:Process Fail hatası verdi farklı bir sürümünü indiriyorum yazılımın onu denicem.

Marcelo Aragão
6 years ago

Hi there,
this link: http://www.androidbrick.com/download/unbrick-nexus-6p-angler/
brought me here.
Does these mean that this guide here works for the Huawei Nexus 6P?
Because the Nexus is a Snapdragon 810 and the guide is for the Snapdragon 820 and uses Xiaomi software no?

Marcelo Aragão
Reply to  Ustabas Osman
6 years ago

I’m getting the:
“The filename, directory name, or volume label syntax is incorrect.(0x8007007b: Open programmer “MPRG*.hex”) error in the MiFlash (directing the “browser” to the folder of the “unbrick_nexus_angler” that I unzipped.
there’s something I’m doing wrong?

lykos monopthalmos
6 years ago

Hi, do you know the key combination for opening a port on a Zuk Edge with 7.0 on it? I tried all of the above with no luck.

Viktorija Solovjova
6 years ago

hi, will this work with zuk z2 pro custom rom? I’ve just received the phone from china and it came with custom rom. But unfortunately the phone does not read any of the SIM cards so someone recommended to flash the rom. the thing is that I dont know if its possible with the custom rom. Any ideas on what I should do?

Viktorija Solovjova
Reply to  Ustabas Osman
6 years ago

Ive tried but it shows error. can not read com 8. should I unlock the bootloader before I flash?

Gerald J Laiyap
7 years ago

Hi AndroidBrick, I tried part 1 and part 2,non of the method help me. my phone is dead. like totally hard bricked. When I tried to flash using QFIL, this error came out.

QSAHARASERVER CALLED LIKE THIS: ‘C:Program FilesQualcommQPSTbinQSaharaServer.exe -p \.COM3 -s 13:C:UsersLaiyap ResidentDownloadsCompressedX3a40_S130_151122_ROW_QFILX3a40_S130_151122_ROW_QFILprog_emmc_firehose_8992_ddr.mbn ‘Current working dir: C:UsersLaiyap ResidentAppDataRoamingQualcommQFIL
Sahara mappings:
2: amss.mbn
6: apps.mbn
8: dsp1.mbn
10: dbl.mbn
11: osbl.mbn
12: dsp2.mbn
16: efs1.mbn
17: efs2.mbn
20: efs3.mbn
21: sbl1.mbn
22: sbl2.mbn
23: rpm.mbn
25: tz.mbn
28: dsp3.mbn
29: acdb.mbn
30: wdt.mbn
31: mba.mbn
13: C:UsersLaiyap
20:29:19: ERROR: function: sahara_rx_data:194 Unable to read packet header. Only read 0 bytes.
20:29:19: ERROR: function: sahara_main:854 Sahara protocol error
20:29:19: ERROR: function: main:265 Uploading Image using Sahara protocol failed
Download Fail:Sahara Fail:QSaharaServer Fail:Process fail
Finish Download

P/s.. I cannot even boot up into recovery or logo. I tried to downgrade my phone from Marshmallow to Lollipop.
My device Lenovo Vibe X3 (X3c40)

Ziya küçük
7 years ago

Hocam mokee rom da güncelleme sonrası telefon kapandı twrp de flasladım nafile romu flashlayamadım. TOOL_ALL_IN_ONE ile bootloader kilidini kapatırken bu sorun oluştu. Mokee rom nougat ta idi tuş kombinasyonu nasıl? Bütün tuş kombinasyonunu denedim ne yapacağımı bilemiyorum. Bu şekilde qfil de Flash alsam emergency download diye bir şey çıkıyor. Orda tıkanıyor.

Ziya küçük
7 years ago

Telefon şuan brick olmuş durumda. Üstte beyaz led yanıyor. Power tuşuna bastığım da 8-9 saniye sonra titriyor. Zuk logosu çıkıyor,sönüyor.

Ziya küçük
7 years ago

Merhaba hocam benim zuk z2 qualcomm hs-usb diagnostics 900e olarak qfil de görünüyor. Miflash ta görünmüyor ne yapabilirim. Lütfen yardım edin.

Serdar Akbulut
7 years ago

Hocam merhaba, zuk z2 proda sdfuse yöntemiyle güncelleme yamtım fakat açılışta zuk yazısında kaldı. mi flashtool kurulumuna kadar gelsim orada yenile tuşuna basınca değer sıfırdan büyük olmalıdır diye hata lıyorum ve ilerleyemiyorum. Zuk eu da verilen yöntemde ise sophoro diye bir hata alıyorum. Uzaktan bağlantı dahil tüm çözüm seçeneklerine açığım yardımcı olur musunuz?

Serdar Akbulut
Reply to  Ustabas Osman
7 years ago

ses kısma ve güç tuşu kombinasyonuyla sd update olan bölüm açılıyor, şu an anteoteyim ama normalde izmirde yaşıyorum

Serdar Akbulut
Reply to  Ustabas Osman
7 years ago

hocam sizi duyunca olmayan işlem oldu. Küçük çocuklar doktora gideceğini anlayınca iyileşirler ya sanırım o gibi oldu 😀 ilginiz için teşekkür ederim. Usb bellekle denemeye gerek kalmadı ama bu güzel bilgi için ayrıca teşekkür ederim. Bu site öğrenmek isteyenler için ilk başvuru kaynaklarından biri haline geliyor. Umarım daha da gelişecektie

Reply to  Ustabas Osman
6 years ago

selam. ben z2 root yapayim derken – ki yaptim da, ama ilk reboot sonrasi logo ekraninda takilip kaldi. napsam acaba. adb komutlari telefon açılmadığı için faydasiz sanirim.

Javier Carrasco
7 years ago

Update, SOLVED. everything worked fine with QFIL once I full charged the battery.
End of story. Z2 unblocked.
Just to add that I manage to get Z2 under state Qualcomm HS-USB QDLoader 9008 state by working on the USB cable by playing with black and green wires. This is well described elsewhere in internet.

Javier Carrasco
7 years ago

Update, I’ve also tried QFIL with same bad results

Javier Carrasco
7 years ago

Hi, I’ve got a ZUK Z2 bricked phone. After restoing a twrp Backup created with a prevoius versión.

I can put ZX2 in Qualcomm HS-USB QDLoader 9008 (COM4)

This port is recognized by QFIL program.
It is also recognized by XIAOMI Flas 2016.12.26 at com4 port

QFIL produces this error:
Program Path:C:adbROM0prog_ufs_firehose_8996_ddr.elf
COM Port number:4
Sahara Connecting …
Sahara Version:0
Start Sending Programmer
Download Fail:System.Exception: Unable to download Flash Programmer using Sahara Protocol

at QC.QMSLPhone.Phone.QPHONEMS_SaharaArmPrgDownload(String sFileName)

at QC.SwDownloadDLL.SwDownload.QPHONEMSSaharaDownloadArmPrg(UInt64& version, String armPrgPath)
Download Fail:Sahara FailSahara Fail
Finish Download

XIAOMI Flash program says that cannot receive hello packet and ends with an error: object reference not sent to an instance of an object.

What I’m doing wrong?

Thank you for the Help

Halil Ceylan
7 years ago

Hocam merhaba, telefonu yeni aldım da. Sanırsam orjinal rom hariç farklı bir rom kullanılmış. Güncelleme merkezi gözükmüyor telefon da. Zui forumda okuduğuma göre orjinal roma dönersem bu sorunun kalkacağını söylüyorlar. Acaba nasıl bir yol izlemeleyim?

Çok teşekkürler,

Aemilius X Macedonicus
7 years ago

I become always this failer when I will flash my Bricked Z2 Pro 🙁

PATCH file path:D:zukZ2121_CN_OPEN_USER_Q01017.1_M_ZUI_2.3.044_ST_161013_qpst.patch5.xml
Process Index:0
Start Download
COM Port number:10
Switch To EDL
Download Fail:Switch To EDL FailFailed to Switch to Emergency Download mode
Finish Download

Patryk Popiołek
7 years ago

Hi, i have a big problem with my zuk z2. I tried to restore total backup in TWRP, but after that and reebot my phone is hard bricked. I can’t turn it on, when i keep pressing power button for 8-9 sec it vibrate and flash led, but only this. I’m now on ubuntu so i did a virtual machine with Windows 7 Thin PC, installed everything i need (every program needed to flash with qfil, extension for reading usb on virtual machine etc.), but when im starting qfil with connected phone to usb (in terminal my phone is visible as Bus 001 Device 007: ID 05c6:900e Qualcomm, Inc.), but program cant found port, every single time… I tried everything, but now when im connecting to usb or charger its only pulsing LED, after 1-2 min it connect in terminal to Qualcomm, Inc… Please, help me…

Ergin Demir
7 years ago

Abi helal olsun çoğu yabancı forumlar bile senin siteden alıyor yöntemi. Fotoları değiştirmekten bile acizler. Zuk Z2 kullanıyorum 900 liraya gerçekten mükemmel cihaz. Başarılarının devamını dilerim..

Alvaro Lopetegui Arrieta
7 years ago

Hello, I have a problem following this guide. My device is a Zuk Z2 Pro, I inlocked the bootloader, rooted, flased TWRP and then I flashed ROM ‘Zuk_Z2_Pro_Gedeon_v2.1’ but when the process finished, the phone get bricked with the blue led.
Computer was not detecting port 9008, so I created special cable to activate the port as 9008. It worked and with the MiFlash, it started Flashing but then when it is around 95 seconds, the progress bar runs to the end and it finishes saying the everithing went OK but the phone doesn’t start. I tried with different roms but always the same issue.
Do you know what is going wrong?

Alvaro Lopetegui Arrieta
Reply to  Ustabas Osman
7 years ago

Thanks a lot!!!, that finally worked for me. I downloaded QPST build 437, in that version there is the possibility to change to UFS. Then used rom “Z2121_CN_OPEN_USER_Q01017.1_M_ZUI_2.3.044_ST_161013_qpst”.
I first had the message “SAHARA folder name not correct” but I just restart QFIL set the contents.xml and worked!!!

asafinalazari Mourad
7 years ago

QHSUSB_BULK Htc Desire d 820 n HTC HTC Desire D820n Single SIM Hello. I have Htc Desire d 820 n HTC. , screen blacked out suddenly, phone poweered off. After that, the phone didn’t power up. I tried push a power button for 10 seconds or more, and volume up + power button, volume down + power button with similar way. Without charging or connect to computer with USB cable, no reaction has shown. When it is connected to power, Red led is blinking and does not power on. When it is connected to computer, device is recognized as QHSUSB_BULK . I bought this phone in France , and I live in Morocco now, there is no service center for HTC . Please help to revive my bricked HTC Desire D820n Single SIM Thank you.

Nafter Make
7 years ago

someone have the rom from the example?

Nafter Make
7 years ago

i finally opened the port 9008 but when i try this error appear

Would love your thoughts, please comment.x