Justin 23 Posted March 25, 2023 Share Posted March 25, 2023 (edited) 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 March 25, 2023 by Justin Added some additional notes about persist partition and alternative instructions 7 Quote Link to post Share on other sites
EskeRahn 5,460 Posted March 25, 2023 Share Posted March 25, 2023 Thanks for a nice step-by-stp guide, I added a link to it here. 2 Quote Link to post Share on other sites
senseamidmadness 9 Posted August 29 Share Posted August 29 This guide worked for me mostly as written, though the link to access qdl has changed and the tool is now "archived" on Github. This is the working link as of now: https://git.codelinaro.org/linaro/qcomlt/qdl 1 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.