Jump to content

[Guide] PRO1, Restore to stock firmware using Fastboot method


Recommended Posts

@tdm - I must confess I don't exactly know how to do it.. but now I could boot into QDL (EDL) and it shows properly and Q Flash Tool detects the device. Let's see if I can fix the phone now.

Hm.. flashing with Q Flash Tool still does not seem to work:

grafik.thumb.png.03808201028834213a2a195708ff6229.png

Apparently the connection timed out? It's weird though, because after pressing the "flash" button, it showed this dialog just after a few seconds...

Edit: on my Laptop it says "Cannot open device" instead:

grafik.png.5872b779edbcf2cdf3fe9e1df3b5def4.png

Edited by divstar
Link to post
Share on other sites
  • Replies 107
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

[This is a temporary page while we setting up the support page guild and host files on our server.] The Fastboot restoration file can be downloaded in here.  ADD: A newer file for 20200825 c

We already have the source code required to build our own alternative ROMs. The kernel source is on GitHub, as well as a device tree for LineageOS. This may still be at a pre-release level of reliabil

With some hex editor magic we can get a sneak peak of the boot screen, it's beautiful :).

Posted Images

9 minutes ago, divstar said:

@tdm - I must confess I don't exactly know how to do it.. but now I could boot into QDL (EDL) and it shows properly and Q Flash Tool detects the device. Let's see if I can fix the phone now.

Hm.. flashing with Q Flash Tool still does not seem to work:

grafik.thumb.png.03808201028834213a2a195708ff6229.png

Apparently the connection timed out? It's weird though, because after pressing the "flash" button, it showed this dialog just after a few seconds...

 

It may take a few tries, and you may need to try different hardware.  But it does work if you get the combination correct.

 

It is much easier to use the fastboot method.  Try that first.

 

Link to post
Share on other sites

I am sorry - could you point me to the fastboot method? I only found

But it does not work, because I am apparently not allowed to flash, unlock, set_active or anything else for that matter, meaning I am stuck. I just wish it would boot into the system as it did before ...

Edit: therefore I am trying with EDL. I set up connection for QUSB__BULK to WinUSB as required.

grafik.png.fd05f2100269dd83810fd1e39267b980.png

But whenever I try to flash, I get either "Connection timed out" (non-elevated qfpkg_gui.exe) or "Unknown error" (elevated qfpkg_gui.exe). I don't suppose there's a log to know what caused the error? I'll keep trying, but I already wrote to FxTec support.

Edited by divstar
Link to post
Share on other sites
3 minutes ago, divstar said:

I am sorry - could you point me to the fastboot method? I only found

But it does not work, because I am apparently not allowed to flash, unlock, set_active or anything else for that matter, meaning I am stuck. I just wish it would boot into the system as it did before ...

 

Okay then your only option is EDL.  You must either get my tool to work or contact FxTec support.

 

Link to post
Share on other sites
6 minutes ago, tdm said:

Okay then your only option is EDL.  You must either get my tool to work or contact FxTec support.

And as you said earlier it MIGHT be worth a try to use a different port, a USB-hub and/or a different cable.

And as you guide also point out EDL mode must be reinitiated on the device between each attempt.

Link to post
Share on other sites

Alright.. I did get Q Flash Tool to flash the phone. I did chose to "keep data", though, because I still have hopes on recovering the pictures and videos I had taken...

Unfortunately after it automatically restarted, it went back into fast mode...

This is the result of fastboot getvar all after flashing:

(bootloader) hw-revision:20001
(bootloader) unlocked:no
(bootloader) off-mode-charge:0
(bootloader) charger-screen-enabled:0
(bootloader) battery-soc-ok:yes
(bootloader) battery-voltage:4174
(bootloader) version-baseband:
(bootloader) version-bootloader:
(bootloader) erase-block-size: 0x1000
(bootloader) logical-block-size: 0x1000
(bootloader) variant:MSM UFS
(bootloader) partition-type:fsc:raw
(bootloader) partition-size:fsc: 0x1000
(bootloader) partition-type:fsg:raw
(bootloader) partition-size:fsg: 0x200000
(bootloader) partition-type:modemst2:raw
(bootloader) partition-size:modemst2: 0x200000
(bootloader) partition-type:modemst1:raw
(bootloader) partition-size:modemst1: 0x200000
(bootloader) partition-type:storsec:raw
(bootloader) partition-size:storsec: 0x20000
(bootloader) partition-type:logdump:raw
(bootloader) partition-size:logdump: 0x4000000
(bootloader) partition-type:sti:raw
(bootloader) partition-size:sti: 0x200000
(bootloader) partition-type:logfs:raw
(bootloader) partition-size:logfs: 0x800000
(bootloader) partition-type:toolsfv:raw
(bootloader) partition-size:toolsfv: 0x100000
(bootloader) partition-type:limits:raw
(bootloader) partition-size:limits: 0x1000
(bootloader) partition-type:splash:raw
(bootloader) partition-size:splash: 0x20A4000
(bootloader) partition-type:dpo:raw
(bootloader) partition-size:dpo: 0x1000
(bootloader) partition-type:msadp:raw
(bootloader) partition-size:msadp: 0x40000
(bootloader) partition-type:apdp:raw
(bootloader) partition-size:apdp: 0x40000
(bootloader) partition-type:dip:raw
(bootloader) partition-size:dip: 0x100000
(bootloader) partition-type:devinfo:raw
(bootloader) partition-size:devinfo: 0x1000
(bootloader) partition-type:sec:raw
(bootloader) partition-size:sec: 0x4000
(bootloader) partition-type:vendor_b:raw
(bootloader) partition-size:vendor_b: 0x40000000
(bootloader) partition-type:devcfg_b:raw
(bootloader) partition-size:devcfg_b: 0x20000
(bootloader) partition-type:cmnlib64_b:raw
(bootloader) partition-size:cmnlib64_b: 0x80000
(bootloader) partition-type:cmnlib_b:raw
(bootloader) partition-size:cmnlib_b: 0x80000
(bootloader) partition-type:vbmeta_b:raw
(bootloader) partition-size:vbmeta_b: 0x10000
(bootloader) partition-type:dtbo_b:raw
(bootloader) partition-size:dtbo_b: 0x800000
(bootloader) partition-type:boot_b:raw
(bootloader) partition-size:boot_b: 0x4000000
(bootloader) partition-type:keymaster_b:raw
(bootloader) partition-size:keymaster_b: 0x80000
(bootloader) partition-type:abl_b:raw
(bootloader) partition-size:abl_b: 0x100000
(bootloader) partition-type:dsp_b:raw
(bootloader) partition-size:dsp_b: 0x1000000
(bootloader) partition-type:mdtp_b:raw
(bootloader) partition-size:mdtp_b: 0x2000000
(bootloader) partition-type:mdtpsecapp_b:raw
(bootloader) partition-size:mdtpsecapp_b: 0x400000
(bootloader) partition-type:bluetooth_b:raw
(bootloader) partition-size:bluetooth_b: 0x100000
(bootloader) partition-type:modem_b:raw
(bootloader) partition-size:modem_b: 0x6E00000
(bootloader) partition-type:pmic_b:raw
(bootloader) partition-size:pmic_b: 0x80000
(bootloader) partition-type:hyp_b:raw
(bootloader) partition-size:hyp_b: 0x80000
(bootloader) partition-type:tz_b:raw
(bootloader) partition-size:tz_b: 0x200000
(bootloader) partition-type:rpm_b:raw
(bootloader) partition-size:rpm_b: 0x80000
(bootloader) partition-type:vendor_a:raw
(bootloader) partition-size:vendor_a: 0x40000000
(bootloader) partition-type:devcfg_a:raw
(bootloader) partition-size:devcfg_a: 0x20000
(bootloader) partition-type:cmnlib64_a:raw
(bootloader) partition-size:cmnlib64_a: 0x80000
(bootloader) partition-type:cmnlib_a:raw
(bootloader) partition-size:cmnlib_a: 0x80000
(bootloader) partition-type:vbmeta_a:raw
(bootloader) partition-size:vbmeta_a: 0x10000
(bootloader) partition-type:dtbo_a:raw
(bootloader) partition-size:dtbo_a: 0x800000
(bootloader) partition-type:boot_a:raw
(bootloader) partition-size:boot_a: 0x4000000
(bootloader) partition-type:keymaster_a:raw
(bootloader) partition-size:keymaster_a: 0x80000
(bootloader) partition-type:abl_a:raw
(bootloader) partition-size:abl_a: 0x100000
(bootloader) partition-type:dsp_a:raw
(bootloader) partition-size:dsp_a: 0x1000000
(bootloader) partition-type:mdtp_a:raw
(bootloader) partition-size:mdtp_a: 0x2000000
(bootloader) partition-type:mdtpsecapp_a:raw
(bootloader) partition-size:mdtpsecapp_a: 0x400000
(bootloader) partition-type:bluetooth_a:raw
(bootloader) partition-size:bluetooth_a: 0x100000
(bootloader) partition-type:modem_a:raw
(bootloader) partition-size:modem_a: 0x6E00000
(bootloader) partition-type:pmic_a:raw
(bootloader) partition-size:pmic_a: 0x80000
(bootloader) partition-type:hyp_a:raw
(bootloader) partition-size:hyp_a: 0x80000
(bootloader) partition-type:tz_a:raw
(bootloader) partition-size:tz_a: 0x200000
(bootloader) partition-type:rpm_a:raw
(bootloader) partition-size:rpm_a: 0x80000
(bootloader) partition-type:ddr:raw
(bootloader) partition-size:ddr: 0x100000
(bootloader) partition-type:cdt:raw
(bootloader) partition-size:cdt: 0x1000
(bootloader) partition-type:xbl_b:raw
(bootloader) partition-size:xbl_b: 0x3F5000
(bootloader) partition-type:xbl_a:raw
(bootloader) partition-size:xbl_a: 0x3F5000
(bootloader) partition-type:userdata:ext4
(bootloader) partition-size:userdata: 0x1AE05F3000
(bootloader) partition-type:system_b:ext4
(bootloader) partition-size:system_b: 0xC0000000
(bootloader) partition-type:system_a:ext4
(bootloader) partition-size:system_a: 0xC0000000
(bootloader) partition-type:frp:raw
(bootloader) partition-size:frp: 0x80000
(bootloader) partition-type:keystore:raw
(bootloader) partition-size:keystore: 0x80000
(bootloader) partition-type:misc:raw
(bootloader) partition-size:misc: 0x100000
(bootloader) partition-type:persist:raw
(bootloader) partition-size:persist: 0x2000000
(bootloader) partition-type:ssd:raw
(bootloader) partition-size:ssd: 0x2000
(bootloader) has-slot:modem:yes
(bootloader) has-slot:system:yes
(bootloader) current-slot:a
(bootloader) has-slot:boot:yes
(bootloader) slot-retry-count:b:0
(bootloader) slot-unbootable:b:no
(bootloader) slot-successful:b:no
(bootloader) slot-retry-count:a:0
(bootloader) slot-unbootable:a:yes
(bootloader) slot-successful:a:no
(bootloader) slot-count:2
(bootloader) secure:no
(bootloader) serialno:dc4648e9
(bootloader) product:msm8998
(bootloader) max-download-size:536870912
(bootloader) kernel:uefi
all:
finished. total time: 0.009s

 

Link to post
Share on other sites
8 minutes ago, divstar said:

Alright.. I did get Q Flash Tool to flash the phone. I did chose to "keep data", though, because I still have hopes on recovering the pictures and videos I had taken...

Unfortunately after it automatically restarted, it went back into fast mode...

This is the result of fastboot getvar all after flashing:

 

It looks like one of the slots is marked bootable and the other is not.  I think they were both marked unbootable before?

 

Try switching slots via "fastboot --set-active=b".  If that still does not work, you may have bad flash memory or some other problem that I can't help you fix.

 

EDIT: Also try booting to recovery and see what happens.  And last resort, try doing a full flash including userdata.  If the device won't boot and it needs to go back to the factory, your data is probably irretrievable anyway. 😞

 

Edited by tdm
  • Thanks 2
Link to post
Share on other sites

So.. "fastboot --set-active=b" sadly does not work:

$ ./fastboot.exe --set-active=b
Setting current slot to 'b'...
FAILED (remote: Slot Change is not allowed in Lock State
)
finished. total time: -0.000s

I cannot mark it as active due to being in a locked state.

Recovery mode does not actually boot into recovery; instead it boots into the same bootloader menu.

I guess I will give a full flash a try. It's sad, because I had some nice pictures there that I didn't share, because I didn't think this device would break. It's really a pity considering this device is not even one year old. Guess if I lose these images and videos, I'm gonna get rid of this device as well.

Link to post
Share on other sites
1 minute ago, divstar said:

So.. "fastboot --set-active=b" sadly does not work:


$ ./fastboot.exe --set-active=b
Setting current slot to 'b'...
FAILED (remote: Slot Change is not allowed in Lock State
)
finished. total time: -0.000s

I cannot mark it as active due to being in a locked state.

Recovery mode does not actually boot into recovery; instead it boots into the same bootloader menu.

I guess I will give a full flash a try. It's sad, because I had some nice pictures there that I didn't share, because I didn't think this device would break. It's really a pity considering this device is not even one year old. Guess if I lose these images and videos, I'm gonna get rid of this device as well.

I have a package to set the unlock flag without losing data. PM me.

  • Thanks 3
Link to post
Share on other sites

Just for the sake of voicing what I have tried and done:

  • Stuck in Fastboot Mode (probably after the last update)
  • Booted into EDL-Mode (ABL/XBL using keys, 3rd option in tdm's instruction guite)
  • Flashed while keeping data --> one of the boot partitions still was marked "not-unbootable:yes"
  • Flashed without keeping data --> stats-wise everything looks fine to me
  • --> Phone does not yet boot into anything else than Fastboot Mode and EDL-Mode (upon powering off and restarting into EDL-mode).

If anyone attempts to use Q Flash Tool, I recommend the following:

  • Remember to use zadig-Tool to set driver for "QUSB__BULK" to WinUSB
  • If you don't see that entry (after showing whole list), boot into EDL-Mode (QDL) properly
  • Connect to a USB2.0-port if you can - it's more likely to work
  • Do not interrupt flashing process
  • Read verify may help checking, that stuff really has been written

If I happen to resolve my problem without having to send my phone to FxTec, I'll let you know, guys. Big thanks to @tdm and @EskeRahn.

  • Thanks 3
Link to post
Share on other sites

Alright: so in order to repair it - sort-of - I had to use a certain package. After that I was able to do "fastboot set_active a" and reboot - AND it started booting again.

I've still got another problem: somehow the touchscreen of the display does not work at all (hardware keys do though - don't ask me why). I'm gonna research more and since this won't be my daily driver anymore, I might as well just try SailfishOS or the likes. Anyhow: a massive thank you to @tdm and @EskeRahn - wouldn't be able to make it even this far without you!

  • Like 2
  • Thanks 1
Link to post
Share on other sites

So ... last update: after applying some regular minor system update (58 megabytes) and a restart, the touchscreen started working again.

It seems everything works now as expected, though it is weird I had to do something in order to be able to use "fastboot set_active a".

Edit: locking it again (as it was supposed to be), worked, too. Why? Because in general I'd like to be able to use banking apps, that might not work otherwise. Thanks everyone for their efforts!

Also: locking the phone erases the data.

Edited by divstar
  • Like 4
Link to post
Share on other sites
  • 3 weeks later...
26 minutes ago, a123qwertz567 said:

Ok, so I have to do all the two dozens of "fastboot flash" commands from the first post? Iwas just curious if there is a "one command way".

 

This is usually scripted with a small shell script / batch file.  That's how Google does it with Nexus/Pixel.  I thought Chen provided one?

 

But otherwise, no, you cannot flash to multiple partitions with one command.  It is one at a time.  And yes that is tedious and error prone.  Hence the scripting.

 

  • Like 1
Link to post
Share on other sites
3 hours ago, tdm said:

 

This is usually scripted with a small shell script / batch file.  That's how Google does it with Nexus/Pixel.  I thought Chen provided one?

 

But otherwise, no, you cannot flash to multiple partitions with one command.  It is one at a time.  And yes that is tedious and error prone.  Hence the scripting.

 

I was able to just copy and paste the commands at once. So I did not have to process them one by one.

Link to post
Share on other sites

There is a flashall script included in the zip.  Just be warned that, as is, the flashall will boot you without wiping user data.  You don't want that to happen, so make sure you wipe userdata before firing off the flashall.

The link for the zip is at the top of the post.

Edited by Hook
  • Thanks 1
Link to post
Share on other sites
16 hours ago, a123qwertz567 said:

Ok, so I have to do all the two dozens of "fastboot flash" commands from the first post? Iwas just curious if there is a "one command way".

I have done this several times now by simple means of copy and paste in CMD/Shell. Hasn't gone wrong a single time. Just select the text in de OP and past it. Everything will run just fine. Do not forget that the package is still missing a file as tdm pointed out! You can find it on his site (link included below).

 

Link to post
Share on other sites
  • 2 months later...

The original post mentions 16 files to flash but the latest archive contains 24.
What do we do with the other 8?  Is there a certain order to follow?

Also the fastboot_all.bat causes confusion.

The 'fastboot flash userdata.img' command results in an error:

unknown partition 'userdata.img'
fastboot: error: cannot determine image filename for 'userdata.img'

And both the system.img and vendor.img are commented out.

Is there a specific reason for this?

Edited by Pro1user259
  • Like 1
  • Thanks 1
Link to post
Share on other sites
47 minutes ago, Pro1user259 said:

Also the fastboot_all.bat causes confusion.

I think we better tag @Waxberry here, I just naïvely added the link to the August package in the OP. Other things in the guide might need to be adjusted too.

e.g. I guess it should have one (and not both) of these (I do not know which)

fastboot set_active a
fastboot set_active b

and/or

fastboot --set-active=a
fastboot --set-active=b

...But I'm a noob here, others have to help here

Link to post
Share on other sites
2 hours ago, EskeRahn said:

I think we better tag @Waxberry here, I just naïvely added the link to the August package in the OP. Other things in the guide might need to be adjusted too.

e.g. I guess it should have one (and not both) of these (I do not know which)


fastboot set_active a
fastboot set_active b

and/or


fastboot --set-active=a
fastboot --set-active=b

...But I'm a noob here, others have to help here

I'm no expert here, but based on the first factory image files from October 2019, I don't think you need the set the active partition (and you certainly don't need to set both active) because you are sending the same files to both partitions. Really doesn't matter where you boot to. 

Also, in the Oct 2019 bat file flashing "userdata.img" is commented out and there is no such file.  I would try commenting that out and just doing fastboot erase userdata, which is what I added to the October bat file when I used it to flash the October 2019 stock.

I do know if Userdata isn't erased before reboot, things go awry.

This is all based on my experience with the OCt 2019 factory image and comparing the bat files.  I did restore the Oct 2019 image once, but it has been a very long time.

 

Edited by Hook
  • Thanks 2
Link to post
Share on other sites

I forgot to add, I am puzzled by system and vendor being commented out.  You need those.  I almost suspect they included one of their test batch files by mistake,  I would restore those.

  • Like 2
Link to post
Share on other sites
  • 7 months later...

Thanks tdb for your Factory Restore tool. I've used it to go back to stock as I'm trying to see if

...is a hardware or a software issue. I got it to work successfully, but did run into a small snag on my way there.

After a successful flash with the "Q Flash Tool", I got dropped on this menu:

bootloader.jpg.8078aa92b0fcc1a0140856519fb7feac.jpg

...and "start" would not work, not any of the "reboot to recovery" options -- I just got back here. I tried with both the 2020-07-07 as well as with the 2019-10-28 firmwares.

I then tried your suggestion of using fastboot to set the b slot active (I confirmed with `fastboot getvar all` that a was the one selected):

On 9/7/2020 at 6:05 PM, tdm said:

Try switching slots via "fastboot --set-active=b".  If that still does not work, you may have bad flash memory or some other problem that I can't help you fix.

...and this fixed it for me. I did have to run the fastboot command a few times, it seems a bit temperamental (once it said "error: Device does not support slots." and twice it said "FAILED (remote: Invalid Slot)").

So if anyone gets stuck along the way, hopefully my hints can help you get unstuck 🙂

  • Thanks 1
Link to post
Share on other sites
  • EskeRahn changed the title to [Guide] PRO1, Restore to stock firmware using Fastboot method

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