Yet another (maybe) bricked phone, except I can access recovery

Ok, so critical partitions weren’t the issue here, If you ran the installer a second time without errors, everything should be fine.

Which brings us to this:

Unlike iodé, the complete Calyx installation happens through an install script, recovery just gets flashed via the fastboot update command mentioned above, together with some other partitions. I actually couldn’t tell you if those get flashed to both slots, I guess they aren’t, all the other (critical) partitions are explicitly flashed to both through fastboot flash.
That’s definitely a great observation though, the installer sets the slot to a, but according to the data above, the phone is in slot b, that might be a clue here :thinking:

Maybe something went wrong during the first boot (Anti Rollback Protection and all that…) and the phone switched to the other slot, which still (maybe) contains stock FPOS?

Looks like it :see_no_evil:

Ok, if that reasoning is correct, you are on a slot with the latest stock FPOS, but you reflashed the critical partitions with (probably) outdated versions from that old Calyx release, which is probably what’s causing the bootloop.
Actually not sure where to go from here, this calls for some more :coffee:

2 Likes

Thank you both so much for the help, but this phone is a lost cause.

I was reading through the Fairphone warranty, and it looks like this kind of thing isn’t covered (fair enough!). The email that comes with the warranty (also here) says I should ask the reseller I bought the phone from for help first, so I did that and they said they would take a look at the phone. I’m assuming they’ll send it forward to Fairphone? In any case, I don’t have the phone anymore, so we won’t be able to experiment with it.

Thanks again!

2 Likes

While flashing custom ROMs to your phone isn’t covered by warranty, what ultimately bricked your phone, get_unlock_ability reset to 0, is a bug in the proprietary bootloader, so in my opinion absolutely falls under Fairphone’s responsibility.
Others have gotten their phones repaired for free in similar cases, but don’t accept anything more than the 30 bucks, some had to pay. If you do have to deal with Cordon (the repair contractor), talk to Fairphone support and let them resolve it.

Hopefully you’ll get your phone back in a timely manner :crossed_fingers:

3 Likes

Finally got my phone back today, and I still had the balls to try again. Sure enough, after flashing CalyxOS to the phone, fastboot flashing get_unlock_ability was reset to 0, and the OEM unlock toggle in developer settings was grayed out. I had to root the phone and use adb shell su -c 'resetprop ro.boot.flash.locked 1' (as detailed in this issue by @hirnsushi) to get it back, but ultimately I decided to keep the bootloader unlocked and roll with a rooted phone because I’ve discovered AdAway.

Also, this time I didn’t have to update the Fairphone to the latest FPOS to get the OEM unlock code… :thinking:

Thank you so much for the help hirnsushi and yvmuell!

3 Likes

@ffff I ran into the same issue! Noooooo! :rofl:

I flashed the latest CalyxOS with the official installer. Came from latest stock-os.
After three times that the installer aborted (show red message but finished the installer) in step 6 I decide to NOT relock the bootloader to avoid bootloops. CalyxOS startet but warned me because of an unlocked-bootloader. So I decide to reboot into bootloader to lock my bootloader.

Again bootloops but I was not able to reinstall anything… So sad.

I try all zips’ mentioned here, plus:

I thought it should be flashable because my adb sideloade told me I need a “FP4I

The CalyxOS installer has protections in place against bricking your phone, if you get a warning, don’t lock your phone! I know the text on the first-run-wizard is confusing, and I’ve asked them in the past to remove it, but you should never lock your phone manually and without checking fastboot flashing get_unlock_ability!
The red warning messages are there for a reason.

That’s related to your patch level, did you update to the latest FPOS beforehand by any chance?
Sounds like you are still able to boot into recovery, so that’s something.

Can you tell me the name or URL of the Calyx factory images you downloaded please and could you get me the output of fastboot flashing get_unlock_ability && fastboot oem device-info :pray:

The red warning message did not tell me that the flashing process failed. Just that step 6 got a red text after I followed the prompt to relock my bootloader. I can’t remember the exact text (red). The flasher has never told me to lock or unlock the bootloader myself.

Well at least I could never boot calyxos with locked bootloader at the end, when I leftout the bootloader locked at step6 on the 4th fllash try, I could boot calyxOS with an unlocked bootloader. But within the init process of CalyxOS itself I got the message that I run CalyOS with an unlocked bootloader and the reference to Redirecting….

If there is already an open ticket about the flasher process design, please send me the link. I like to leave a comment of my case.

To your questions:
I had on the phone IodeOS with Android 11. A slightly older version that is no longer update-able. I then had the plan to come to CalyxOS, for this I wanted first to flash the latest stock firmware from FP.
So I flashed yesterday this original FP image first:
FP4-FP4G-factory.zip
Version: FP4.FP4G.A.170.20220920

This was the documentation I followed.

I was able to boot the stock firmware and enabled all the necessary todos to install CalyxOS (wifi, enable the unlock-switch in dev-options). Then I followed this docu from CalyxOS. This was the url of the image I used from CalyxOS:
FP4-factory-22404000.zip

At the moment I am able to boot into recovery.
In the head is written:

Android Recovery
Fairphone/FP4eea/FP4
11/RKQ1.210503.001/FP4I
user/release-keys

Perhaps a usefull information written in the recovery-logs:

ro.vendor.build.security_patch=2022-11-05
ro.build.version.incremental=FP4I
ro.build.version.release=11

The outputs you ask me:

(bootloader) get_unlock_ability: 0
(bootloader) Verity mode: false
(bootloader) Device unlocked: false
(bootloader) Device critical unlocked: true
(bootloader) Charger screen enabled: false

Dear @hirnsushi . I wanted to tell you in this way what a valuable community member you are. Always helpful, inquisitive and also friendly and informative. Thank you.

That’s definitely not the CalyxOS recovery, so it does indeed look like the same issue the OP had, damn it :see_no_evil:
The problem is, if you boot the phone before locking it, there’s a very high chance that you ended up with get_unlock_ability=0, so if something went wrong when locking it, it probably switched to the other slot. Could you check fastboot getvar current-slot please, that should confirm it.

Since we never properly solved the previous case, the question now becomes, where do we go from here. I’m not :100:% sure how key checking in recovery is implemented. This should be the Fairphone recovery, but installing the FPOS OTA didn’t work, the reason for that could be that the keys have been switched to the Calyx ones. Do you remember what error message you got? :thinking:

It’s a long-shot, but you might want to try installing the 4.4.1 Calyx full OTA with that recovery, that would at least give us some more data points.

So you locked the bootloader on previous attempts and it didn’t boot, am I understanding you correctly?
The message you got could have been along the lines of "Failed to lock "+device+" "+serialNumber+" bootloader", that will show up if you leave the flasher running after the installation finished, if I remember correctly.

I’ve mentioned the problem in another ticket about the get_unlock_ability reset here.

fastboot getvar current-slot results in current-slot: b

I did it with
adb sideload FP4-ota_update-22404010.zip
Sadly just bad results:

adb sideload Downloads/FP4-ota_update-22404010.zip 
serving: 'Downloads/FP4-ota_update-22404010.zip'  (~47%)    adb: failed to read command: Success

On the phone in recovery:

Now send the package you want to apply to the device with "adb sideload <filename>"...
Supported API: 3
Finding update package...
Verifying update package...
E:failed to verify whole-file signature
Update package verification took 59.9 s (result 1).
E:Signature verification failed
E:error: 21

Install from ADB completed with status 2.
Installation aborted.

Correct.

Nope, I never got this. 3 times not. After flash and locking the bootloader again in step 6 I got just a red-message similar to failed or unsuccessful. But after that the installer was terminated without an error message.

Yeah, that’s the wrong slot.

That’s what I feared would happen, so the stock recovery doesn’t accept a different OTA package, and we can’t install a stock update because you are running a Calyx installation.
I don’t think there are a lot of options left, my advice would be contactsupport as soon as possible, this probably has to be fixed by Cordon.

I’d say the same rule applies here:

2 Likes

Just for letting you know. My FP4 is still at my home. The support ticket is still in process. Really sad :frowning:

I am a little disappointed with the Fairphone support. I started the ticket on December 27, 2022. I was honestly and mentioned the bug directly instead of just saying that I have a strange bootloop. I had to call yesterday to get it to go further, 14 days after my last feedback. I was supposed to make a video of the boot process but nothing happened after the upload.

After consultation via telephone the supporter then wrote to me that he could do nothing, except that I can send it on my own cost.

I do not quite understand your sentence with Cordon. Should I ask for the supporter Cordon? :smiley:

No there is no way to contact Cordon without having anything from FP support first. What price did they mention reg own costs? If 30€ thats what is expected.

1 Like

Something about 45€.

But is the get_unlock_ability reset to 0, is a bug in the proprietary bootloader or not? Holy I am confused! :smiley:

Yes its a bug, still they charged 30€ for the repair just in some cases where it happened while installing FPOS they considered it to be under warranty. Didn’t read above what applies to you.

What Cordon did at the beginning was telling the people they need a new core module what is almost the price aof a new phone, and because of that the warning.

2 Likes

And it happened again. The Fairphone came back from France the day before yesterday. How can it happen again? I really don’t believe it.

What happened?
-Stock Fairphone OS
-there was no ota update on the part of Fairphone, so latest FW
-WLAN set up
-Developer Options activated
-In the options then USB debugging enabled and allowed from this PC
-Oem Unlock with password from FP website enabled
-started the latest device-flasher.exe from CalyxOS

Here I got to step 5, which was the unlock of the bootloader. This also worked. Shortly after, Fairphone stock briefly displayed “erasing”. Then the stock OS with unlocked bootloader started in the setup of a new android.
I waited 10 minutes to see if the device-flasher.exe from CalyxOS would somehow get out of step 5 and into step 6, but it did not.
So I decided to close the device-flasher.exe from CalyxOS.

But since my stock Android was back in the original state, I decide to do it again:
-set WLAN
-Enable Developer Options
-Enabled USB debugging in the options and allowed it from this PC
-Oem Unlock option was grayed out but on!
-started again the device-flasher.exe from CalyxOS
-the flasher then flashed on a & b partition various partitions
-then came the critical moment where I was asked to lock my bootloader again
-then the display of the FP4 said: Your device is corrupt. It can’t be trusted and will not boot.
-the device-flasher.exe has closed

The FP4 now boots into the bootloader every time. I can issue fastboot commands. I can not get into the recovery. At least not via the bootloader with the volume keys.

fastboot flashing get_unlock_ability && fastboot getvar current-slot && fastboot oem device-info:

get_unlock_ability: 1

current-slot: a

(bootloader) Verity mode: false
(bootloader) Device unlocked: false
(bootloader) Device critical unlocked: true
(bootloader) Charger screen enabled: false

Should I try to unlock the bootloader again now?

Since you still have get_unlock_ability=1, just unlock it again or let the device-flasher do it for you.

What is the CalyxOS version you are trying to install? :thinking:
I believe there were still some issues coming from FPOS A12, not sure if they’ve been fixed yet.
There is ongoing work for 4.6.1, but it hasn’t been released yet.

If you can’t get it to boot, run it with an unlocked bootloader for now, or head on over to the Matrix channel, the devs are usually quick to respond.

Edit: The download links for 4.6.1. are already live, so if you can’t get 4.6.0 to boot and you are feeling adventurous, you can try those.
Remember, only use the device-flasher, don’t lock the bootloader manually!

3 Likes

oh man… Puhhh.

Thanks for the information. The 4.6.1 was easy flashable with the official calyx-os installer.

Were you able to successfully lock the bootloader or are you keeping it open for now?

4.6.1 has been released to the Beta channel today and the changelog indicates it’s using the latest A11 blobs instead of 12, wonder where they did get that OTA from :thinking:

  • Update to latest stock - Android 11, FP4K
  • Stock Android 12 update to be integrated once the issues reported with it are fixed
  • Update kernel to Linux 4.19.272

Sorry for the late reply. I was using 4.6.1 and locked my bootloader then.

What is the current state? Is the official flasher easy and without problems to use with a brand new FP4?