Jump to content

Pro1-X: Flashing Stock Android with QDL (for those with linux)


Recommended Posts

This is an incomplete guide on how to flash the stock ROM (or in this example beta ROM with userdebug) on your Pro1-X. I used the windows instructions from Fxtec, and you should certainly read them and use them to assist in working through the reflash.

I searched for an alternative to the recommended QFIL, and found a linux tool called QDL (Qualcomm Download). This tool allows you to flash Fxtec's XML-based stock firmware to your Pro1-X using Emergency Download Mode (EDL).

I used this successfully to move from Sailfish OS to Android 2.1.6_userdebug. This may not be suitable for everyone, and would presumably need adjusting if you are flashing another image. I know little about anything to do with computers, so use at own risk, and check everything is correct before proceeding.

 

PREPARE FOR FLASHING

1) Download and extract the Fxtec firmware you wish to use. You'll find stock and if you jump through a few hoops beta. In my case I downloaded 2.1.6_userdebug.

2) Install QDL to your linux machine. It seems depending on your distro you can probably just do:

sudo apt install qdl

However, I installed dependencies, downloaded binaries and compiled on ubuntu:

sudo apt install libxml2-dev libudev-dev
git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git
cd ./qdl/
make

 

STOP MODEM MANAGER

Apparently some computers have a ModemManager.service, and this will interfere with the flashing. I did not have this installed on my device.

sudo systemctl stop ModemManager.service

Note you may need to restart this service, or perhaps a reboot will restart it, I am not sure.

 

FLASH ROM TO PRO1X

3) Navigate to extracted folder and investigate contents. There should be a file "prog_firehose_ddr.elf" and a number of "rawprogram*.xml" and a number of "patch*.xml". Take note of all these files, as they all need to listed in the qdl command. The QDL command should be as per:

qdl [--debug] [--storage <emmc|nand|ufs>] [--finalize-provisioning] [--include <PATH>] <prog.mbn> [<program> <patch> ...]

Note that you have to be in the folder with the ROM otherwise you will need to provide a /path/to/ every item listed. This will be tiresome with the number of rawprograms and patchs being large.

Note too that if you compiled QDL on device you will have to execute qdl with "/path/to/qdl" rather than just "qdl"

I don't know how quickly EDL times out, but to be sure all would go well, I prepared the command in the terminal, than entered EDL, then plugged in the phone, then executed the prepared command. This order may not be crucial.

You can enter edl via various measures. Refer to Fxtec flashing instructions for details. I held power, volume up and volume down for a long duration. The powered by android screen appears, then black, then reappears, then black. The device is now in EDL mode.

4) Ensure you are in the correct folder, prepare the command in the terminal (example for 2.1.6_userdebug shown), enter EDL mode, plug in phone, and then execute command:

qdl --debug --storage ufs --include . prog_firehose_ddr.elf rawprogram_unsparse0.xml rawprogram1.xml rawprogram2.xml rawprogram3.xml rawprogram4.xml rawprogram5.xml patch0.xml patch1.xml patch2.xml patch3.xml patch4.xml patch5.xml

Note the --include path is just "." in this case.

5) Wait for above to finish (20 minutes on my 10yo laptop) and then unplug phone and exit edl mode (hold power button for 10+seconds).

 

RECOVER DEVICE STORAGE

6) IMPORTANT: After finishing the initial boot wizard, go to the Settings → System → Advanced → Reset Options → Erase all data (Factory Set). This step needs to take place in order to recover your device’s storage after the factory flash.

 

THAT SHOULD BE FINISHED - See additional notes

Side load logkit with adb if that is why you are going back to android, and send as many logs as you can through to Fxtec so they can fix the modem and wifi firmware.

There may be typos, and this may not be a clever thing to do. However, it worked for me, and I have taken care when preparing. If anything need adjusting or further clarification please advise.

Note that I used the following sites for guidance:

Fxtec's firmware flashing instructions available via the links on this forum on there google drive.

https://forum.xda-developers.com/t/guide-unbrick-and-flash-official-rom-in-edl-on-linux.4177793/post-83729521

https://blog.mandre.org/2020/09/27/flashing-qualcomm-powered-android-device-from-linux.html

ADDITIONAL NOTES/EDIT

The persist partition presumably needs repairing if you are returning from UT/SFOS/Droidian etc. Refer to @mosen good guide here:

https://community.fxtec.com/topic/3630-pro¹-x-backup-restore-and-repair-device-specific-partitions/

Also, I have just realised that @mosen had already written a good guide for flashing stock roms with Linux. I would have used his good guide if I had of looked a bit harder - I didn't set out to reinvent the wheel! Read the alternative guide here:

https://community.fxtec.com/topic/3627-pro-1x-in-android-does-not-go-into-landscape-mode-ever/?do=findComment&comment=62564

 

Edited by Justin
Added some additional notes about persist partition and alternative instructions
  • Thanks 7
Link to post
Share on other sites
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms