steeb 28 Posted August 13, 2022 Author Share Posted August 13, 2022 Just an update, if you make SURE to back up your persist partition first, flashing the persist.img from the stock firmware WILL return screen rotation and the keyboard backlight. 3 Quote Link to post Share on other sites
ducksoup 110 Posted August 15, 2022 Share Posted August 15, 2022 I can confirm that on my device, running Ubuntu Touch and Sailfish has killed the sensors in Android. I didn't make my backup of persist until after booting both UT and SFOS unfortunately. @Casey has just posted the Windows-based instructions for reflashing the factory image. Is it possible that the official software can properly add the attestation keys into persist, and the python scripts we've all be using do not? Anyone want to try it out? 2 Quote Link to post Share on other sites
ducksoup 110 Posted August 15, 2022 Share Posted August 15, 2022 4 hours ago, ducksoup said: Is it possible that the official software can properly add the attestation keys into persist, and the python scripts we've all be using do not? Anyone want to try it out? Okay, I've tried this out, and no, the process outlined by @Casey does not restore key attestation functionality. I don't need key attestation working on my device anyway, but hopefully there's a solution out there that will provide both working sensors and working key attestation. 3 Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 18, 2022 Share Posted August 18, 2022 (edited) On 8/12/2022 at 3:10 PM, mosen said: @Caseyis working on QFIL instruction which will be the official way to reflash to stock. The EDL method using EDL.py from BKerler is not perfectly easy to set up but used by the testers since the testing devices went out in may. Generally, the provided EDL image contains .xml files that more exactly define what to do with the images than fastboot could do. In our case the EDL images do not wipe/overwrite the persist partition. Meaning that there is no harm for the keys. But also its not the fix for the OT problem here. I borked my keys by flashing the stock persist image which only got the sensors configured correctly but contains no keys. The right way would have been to make a backup of my devices persist incl. key while the sensors had stock config. To manually flash that back over the UT/SFOS alternated persist, instead of using the stock one. An EDL cable is not required. The procedure described below the edl.py install is effectively doing the same like an EDL cable. The EDL cable just puts a device into EDL mode. EDL cables can easily be made DIY, Just look up YT. Install edl.py from: (Copying the install instructions below for convenience.https://github.com/bkerler/edl # Debian/Ubuntu/Mint/etc sudo apt install adb fastboot python3-dev python3-pip liblzma-dev git sudo apt purge modemmanager # Fedora/CentOS/etc sudo dnf install adb fastboot python3-devel python3-pip xz-devel git # Arch/Manjaro/etc sudo pacman -S android-tools python python-pip git xz sudo pacman -R modemmanager sudo systemctl stop ModemManager sudo systemctl disable ModemManager sudo apt purge ModemManager # Actual install on all OS git clone https://github.com/bkerler/edl.git cd edl git submodule update --init --recursive sudo cp Drivers/51-edl.rules /etc/udev/rules.d sudo cp Drivers/50-android.rules /etc/udev/rules.d python setup.py build sudo python setup.py install Then download the 2.1.2 stock images from this google drive. Its the one F(x)tec released last weekhttps://drive.google.com/drive/folders/1_sgQ64ef9Di9kJ63Y6WNqllGRgRFOjac Unzip and open the folder containing the images and .xml files in a Terminal. Put Pro¹ X in EDL mode using adb reboot edl when you got adb available. Or connect your EDL cable now to automatically boot the device into EDL mode. Else, for the manual finger combo method: Hold power and vol + and vol - During boot and release all after android logo flashes up shortly and goes into a dark screen second. If it stays dark after you removed the combo and does not boot, show recovery or fastboot menu, Pro¹ X is in EDL mode. If it is booting or showing fastboot or recovery (dead droid logo), redo. I needed some tries first. Check if the usb connected Pro¹ X is in EDL mode: lsusb It should show: Bus 003 Device 011: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode) Then become root or do the following with sudo each: edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram_unsparse0.xml patch0.xml . edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram1.xml patch1.xml . edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram2.xml patch2.xml . edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram3.xml patch3.xml . edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram4.xml patch4.xml . edl --loader=prog_firehose_ddr.elf --memory=ufs qfil rawprogram5.xml patch5.xml . If any of the commands get stuck, redo the finger combo and enter EDL again. I did not need to do that since all went well with original cable and Pro¹ X not touched during flash. Reboot Pro¹ X with edl --loader=prog_firehose_ddr.elf reset reboot Please only follow this procedure if you are used to the command line. Mind for instance the dots at the end of each flash command. If you do not feel confident, wait for the official instructions using QFIL. Will add backup and restore instructions for individual partitions in a new Thread. Sorry, just read the suggestion now. Hey man, Excellent work you've did! Following your instructions all goes fine without any hiccups, unfortunately the last command for reboot does nothing on mine... Instead it shows all the edl options I can use (similar to when you execute edl --help)... Tried only reset without reboot... And now it's stuck on F(x)tec logo... Any brave ideas are much appreciated:) Edited August 18, 2022 by Ivaylo Hubanov 1 Quote Link to post Share on other sites
EskeRahn 5,421 Posted August 18, 2022 Share Posted August 18, 2022 1 minute ago, toast said: Am I correct in assuming that this means that at the moment, there is no safe way to flash the device with an alternate rom, if you intend to later be able to restore full functionality with stock rom? That is how I read the current situation, unfortunately. We know we need a backup of Persist, but we do not know why that did not help @ducksoup, at best it is a matter of how the restore is done, as it seems to work for @mosenwith edl. 1 Quote Link to post Share on other sites
liquidvx 8 Posted August 19, 2022 Share Posted August 19, 2022 5 hours ago, Ivaylo Hubanov said: .. And now it's stuck on F(x)tec logo... yep, same. is there a step missing? Quote Link to post Share on other sites
steeb 28 Posted August 19, 2022 Author Share Posted August 19, 2022 I've used the same instructions half a dozen times without issue. Perhaps it's an issue with the downloaded files? Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 3 hours ago, steeb said: I've used the same instructions half a dozen times without issue. Perhaps it's an issue with the downloaded files? Don't know, but what captured my attention is, on this share, there are two img files boot and recovery and one gz file which also contains boot and recovery img files inside... I did a diff and they seem to be identical with the ones outside of the gz, but who knows... Maybe I should try to replace the ones inside gz with those two? Anyone knows the reason those two img files are there? Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 Now I noticed that there are some errors I'm getting, but quickly flushed away from the output, so I didn't notice in the first place: ``` .0% Write (Sector 0x5 of 0x5, ) 7.43 MB/s firehose firehose - [LIB]: Error: firehose firehose - [LIB]: ERROR: UFS Error -5 (3) firehose firehose - [LIB]: ERROR: Write Failed sector 61360151, size 5 result 3 ``` 1 Quote Link to post Share on other sites
sspiff 29 Posted August 19, 2022 Share Posted August 19, 2022 12 hours ago, Ivaylo Hubanov said: Tried only reset without reboot... And now it's stuck on F(x)tec logo... I've had this happen once as well. Boot back into EDL mode (turn of the phone, then hold both volume keys and turn on the phone, it should show a logo very briefly, then go to a black screen) and run the flashing procedure again. This resolved my issue. It might take a few times to get into EDL mode correctly (I've had it boot into EDL but only memory dump mode and no firehose a couple of times first). 1 Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 1 hour ago, sspiff said: I've had this happen once as well. Boot back into EDL mode (turn of the phone, then hold both volume keys and turn on the phone, it should show a logo very briefly, then go to a black screen) and run the flashing procedure again. This resolved my issue. It might take a few times to get into EDL mode correctly (I've had it boot into EDL but only memory dump mode and no firehose a couple of times first). There should be an explanation behind all this... I don't believe it happens on random. I remember back in time when I played with my old android phone, there was difference between booting to edl while cable is connected or disconnected... Just tried with disconnected cable, but again it seems this firehouse mode is not running properly... 😞 Quote Link to post Share on other sites
sspiff 29 Posted August 19, 2022 Share Posted August 19, 2022 31 minutes ago, Ivaylo Hubanov said: There should be an explanation behind all this... I don't believe it happens on random. I'm sure there is, but I've only seen it once so it's hard to figure out a pattern from that. I believe it was "unique" for my personal flashing attempts in that it was one of the only times I rebooted into EDL mode through adb rather than using the volume keys at startup method. So basically a reboot and not a cold boot. But most people use `adb reboot edl` all the time without issue so I doubt that's the reason? Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 21 minutes ago, sspiff said: I'm sure there is, but I've only seen it once so it's hard to figure out a pattern from that. I believe it was "unique" for my personal flashing attempts in that it was one of the only times I rebooted into EDL mode through adb rather than using the volume keys at startup method. So basically a reboot and not a cold boot. But most people use `adb reboot edl` all the time without issue so I doubt that's the reason? Problem is I can't boot in anything that will allow me use adb method 😞 Was also wondering if there's a way to recognize if it is memory read mode or firehouse without running the flashing process and check for errors everytime 🤔 Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 (edited) @Ivaylo HubanovYou should be able to set the device into EDL mode anytime by: - Hold both volume buttons when device turns on. (There was a suspicion that the pwr-key is needed too, but it works with only both vol rocker buttons held.) - Release them right when the droid logo flashes up for a split second. - If the screens stays black, thats EDL mode. You can confirm this with `lsusb` showing up a qualcomm gobi modem. Thats the Pro¹-X in EDL mode. - When it boots, goes to fastboot or recovery, just try again by holding the pwr-btn for 10 seconds to force reboot. Troubleshooting: - Do NOT move or touch the device during the flash. Connection interrupts will cause edl.py to hang. Redo the process in this case. - When a EDL command hangs, from my experience it is enough to force reboot the device again and enter EDL mode again. The commands continued as soon as the EDL mode was entered again. In my case. - Ignore the red warnings edl.py throws. Those are non blocking. edl.py will stop at any blocking error. As long as it finishes a process, that one went well. Edited August 19, 2022 by mosen 1 Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 31 minutes ago, mosen said: @Ivaylo HubanovYou should be able to set the device into EDL mode anytime by: - Hold both volume buttons when device turns on. (There was a suspicion that the pwr-key is needed too, but it works with only both vol rocker buttons held.) - Release them right when the droid logo flashes up for a split second. - If the screens stays black, thats EDL mode. You can confirm this with `lsusb` showing up a qualcomm gobi modem. Thats the Pro¹-X in EDL mode. - When it boots, goes to fastboot or recovery, just try again by holding the pwr-btn for 10 seconds to force reboot. Troubleshooting: - When a EDL command hangs, from my experience it is enough to force reboot the device again and enter EDL mode again. The commands continued as soon as the EDL mode was entered again. In my case. - Ignore the red warnings edl.py throws. Those are non blocking. edl.py will stop at any blocking error. As long as it finishes a process, that one went well. I'm booting I'm EDL mode for sure, but the error messages say it can't write, so I thought like sspiff said, it is not in writable mode... 🤔 Anyway your suggestion is to safely ignore these and just try the steps many times? Strange is that each edl command can completes with "successful", so indeed it doesn't force stop or something... Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 @mosenwhat is the purpose of the last 'reset' command? It appears only that command doesn't complete properly so I've removed the reboot at the end, because in my opinion it is meant to restart the phone which is default resetmode option... Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 To clarify. I try to not suggest anything. Missing competence for that. I merely try to describe what happened to me, like usually in a user forum 😅 Reseting EDL by booting the device into EDL again worked for me to make the edl commands continue. But i never had to do that consequently many times and have no idea of the implications of doing so. 1 1 Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 @mosencan you advise what is the last command meant to do? edl --loader=prog_firehose_ddr.elf reset reboot Is it the same like: edl --loader=prog_firehose_ddr.elf reset Asking because it seems doesn't work for me with reboot at the end 🤔 1 Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 @mosenare you using special edl cable or normal USB type C cable that comes with device? 1 1 Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 The EDL cable is just a USB cable with extra switch to short lines. It is only ment to set the phone into EDL mode more easily than using `adb reboot edl` or the manual "Both volume rockers pressed until droid flashes shortly" methods. An edl cable has no implications to the flash process other than that. stolen from https://wiki.bananahackers.net/development/edl/diy-edl-cable 2 Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 @steebThere is a fix now i tested to relabel the sensors folder in persist into the SELinux context. I updated the backup/restore/repair guide with instructions. Would be great if you flash a persist backup with working keys but broken sensors. And test the restorecon fix: 3 Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 5 hours ago, Ivaylo Hubanov said: Was also wondering if there's a way to recognize if it is memory read mode or firehouse without running the flashing process and check for errors everytime 🤔 Sure! Its just lsusb and the Pro¹-X will show up as qualcomm gobi modem when in edl mode. Quote Link to post Share on other sites
Ivaylo Hubanov 13 Posted August 19, 2022 Share Posted August 19, 2022 @mosenwell all seems fine then with me... Only last step fail so I remove reboot at the end of command... However I already did flash my device more than 10 times now and result is still the same... Stuck on the F(x)tec logo... Really open for more brave ideas... I only got my device yesterday... Waiting for it more than a year, just checked it was working fine with android then tried flashing Ubuntu Touch via UBports which failed and I'm stuck now... 🙈 If I can make it work with Ubuntu Touch that will be just fine... Was trying to restore stock firmware after I read about that it is a good idea to do some backup first... Is it really so important to make this backup or maybe I can try flash Ubuntu Touch directly somehow... 🤔 I don't need android... Ordered this phone because I read it will be Ubuntu Touch compatible 😄 2 Quote Link to post Share on other sites
mosen 202 Posted August 19, 2022 Share Posted August 19, 2022 (edited) Ok, i am frankly out of ideas to blind diagnose. And the backlog got so long that i would favour to spend time in starting a fresh attempt. My fear is franceso or casey over at the official support tickets will have a lot of work to disentangle what happened anyway and you will likely have to explain every thing over and over. At this point, imo we should compile a sort of issue tracker or support request form/matrix where the most important questions are answered. I have not seen an official F(x) one. So i guess we could help them a lot with such. A good way to achieve a complete list of current necessary questions is by just starting with a batch of obvious ones and then extend post wise. I invite you all to do so. I will update this post and compile the final version into a pdf or plaintext doc to copy here or a like. Maybe we even find a solution while doing so. - Testing device or final production unit? - 8/265 or 6/128 GB model? - Device was working correctly with stock android on delivery? - Was a possible hardware fault present/obvious after delivery? - Which alternate OS was flashed? - Which method was used to flash initially? - Which guide/instructions did you follow? - Was a backup of persist made, and at which point? - Did you flash the stock persist images (NOT advised)? - Did you manually flash partitions using edl, QFIL or fastboot? Which ones? - Did you locally mount and/or edit partition images and flash them back? Which ones? What was edited? - Was an attempt made to fully flash back to stock android using the official QFIL instructions? Or the inofficial EDL instructions? - Did you participate in the beta firmware program? - Which latest build version did you sideload via adb in revovery mode? .... .... - Does the device show up as "Qualcomm Gobi Modem" when you do `lsusb` while connected to a linux computer? - Do the flashing procedures finish successfully or do they get blocked by a warning at some point? - Can you reach the fastboot bootloader menu or recovery by initially holding a volume button on reboot? (From the dead droid you can go to fastboot by pushing pwr and vol up, then reboot to bootloader from the appearing menu) .... .... Describe your current state: Edited August 19, 2022 by mosen 3 Quote Link to post Share on other sites
steeb 28 Posted August 19, 2022 Author Share Posted August 19, 2022 @mosen Oddly, this did fix the sensors, but not attestation. I feel quite certain it was working when I backed up the image, but unfortunately I dont have time to try re-flashing again this afternoon. 2 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.