cosmic
April 15, 2022, 11:50am
121
The gods were with me: Re-locking the bootloader worked – I am running CalyxOS now with locked bootloader
For the record after re-enabling the OEM unlock toggle and OEM unlocking like described, I did:
boot into fastboot mdoe
fastboot flashing lock_critical
rebooting into Calyx, reenabling USB debugging and granting connected PC adb rights
rebooting into fastboot mode
fastboot flashing lock
rebooting into CalyxOS
I am very happy this worked, thank you!
7 Likes
I’m really glad this worked
Not gonna lie, I was really nervous about this as well!
4 Likes
Congratulations!
For the record: what is the state of the OEM-toggle and fastboot flashing get_unlock_ability
now that you have locked the bootloader?
2 Likes
cosmic
April 15, 2022, 12:23pm
124
Without having changed anything, OEM toggle is now “OFF”, but not grayed-out anymore (can be toggled). Don’t know about the state of get_unlock_ability
yet, will check ASAP, but I assume it is 0
now.
2 Likes
Not greyed out is to be expected, but “OFF” , hmm…
I don’t like that it keeps resetting. We really need to know at which point this happens, if it got reset when locking the bootloader again this could have still bricked the phone.
Edit: Ok, after some digging, turns out the devinfo
partition that gets flashed with the updated script stores that kind of information and the answer was in this forum all along
I possibly have an easy way to unlock without factory resetting.
Thanks to @Ingo for checking that Before explaining how it works, I would like to ask someone who has never been unlocked to get me a dump of the devinfo partition.
To do that, you’ll need:
And the attached <a class="attachment" href="/uploads/short-url/zPPivHFMg8DKzlT2lHAFKMeYlFq.gpx">prog_emmc_firehose_8953_ddr.gpx</a> (434.9 KB)
Power off your phone
Run
./edl.py r devinfo devinfo.bin --loa…
Now we need to figure out why it doesn’t get saved
cosmic
April 15, 2022, 9:13pm
126
Just had a look and indeed get_unlock_ability
was set to 0
(setting OEM unlock to “OFF”) after issuing fastboot flashing lock
(was not the case after fastboot flashing lock_critical
).
Yes. At least in my case, in summary the state of OEM unlock was affected at two occasions:
after flashing: OEM unlock went from “ON” to “OFF” (get_unlock_ability
from 1
to 0
) and OEM unlock toggle disabled (grayed out)
after bootloader locking (fastboot flashing lock
): OEM unlock went from “ON” to “OFF”, but remained active (i.e. can be toggled)
2 Likes
Whopsie, that’s a problem, it should be ${FASTBOOT_BIN} --set-active=a
.
I’ll fix that for the next release.
You are correct
3 Likes
As suggested I contacted the support and was able to send the Fairphone to a repair shop.
The cost was 30€.
After 2-3 weeks I got it back and it was restored to its factory default state.
6 Likes
For completeness (didn’t have access to my FP4 earlier): mine looks like this (from Stock to CalyxOS, bootloader locked):
And
’get_unlock_ability
is 0
2 Likes
Definitely don’t lock your bootloader in that case (as you are probably already know )!
Since my method of unlocking the OEM switch works, but for @cosmic get_unlock_ability
was reset to 0
again afterwards , better not to tempt fate. as well, tread very carefully here.
The only safe path forward is to wait for the Calyx devs to release a new version based on the updated Fairphone stock images, which they confirmed they will.
Edit: Should have reread your post
get_unlock_ability
definitely shouldn’t have been reset to 0
again, so let’s hope this gets fixed with the next CalxyOS release. You might have to wipe your phone again then, though
3 Likes
I have no problem with that. As long as CalyxOS only releases test builds, it will remain the secondary phone for now…
3 Likes
phrogg
April 22, 2022, 12:21pm
132
How long did it take them to respond? I’ve opened an issue and after 10 days there is still no answer. I’m so hyped I just want to get it running
phrogg
April 22, 2022, 12:38pm
133
NVM just received an answer
2 Likes
I just reflashed a FP4 with the updated factory images and get_unlock_ability
was reset to 0
. That phone hasn’t been flashed to any custom ROM before (so not a Calyx problem this time) and get_unlock_ability
was 1
before flashing.
So this is definitely not fixed…
Edit: I followed this process without locking the bootloader at the end and reflashed the whole OS again.
Same outcome, again.
Edit 2: Third time wasn’t the charm either. Tried a factory reset beforehand, tried fastboot flashing unlock
again (doesn’t work on a unlocked phone), still changed that 1
to a 0
again
11 Likes
friede
April 29, 2022, 9:08pm
135
Hi,
I think I messed up too… I did a quick flashing of CalyxOS (unlocked without critical). Then I recognized a much dimmer LED flash and wanted to get back to stock.
I did the download and startet the script which aborted because locked critical.
I unlocked critical and the installation went through. FPOS booted up, yeah!
And now for the messup. I got the message, that an unlocked phone isn’t secure. In my endles wisdom I locked critical and “nomal” again without toogling OEM unlock first in OS.
I then was presented the message that my system is corrupted. Now it just boots to fastboot mode and I cannot unlock the bootloader…
Here is my getvar all
(bootloader) parallel-download-flash:yes
(bootloader) hw-revision:10000
(bootloader) unlocked:no
(bootloader) off-mode-charge:0
(bootloader) charger-screen-enabled:0
(bootloader) battery-soc-ok:yes
(bootloader) battery-voltage:4096
(bootloader) version-baseband:
(bootloader) version-bootloader:
(bootloader) erase-block-size: 0x1000
(bootloader) logical-block-size: 0x1000
(bootloader) variant:SM_ UFS
(bootloader) partition-type:modemst2:raw
(bootloader) partition-size:modemst2: 0x600000
(bootloader) partition-type:modemst1:raw
(bootloader) partition-size:modemst1: 0x600000
(bootloader) partition-type:tunning:raw
(bootloader) partition-size:tunning: 0x600000
(bootloader) partition-type:fsc:raw
(bootloader) partition-size:fsc: 0x20000
(bootloader) partition-type:fsg:raw
(bootloader) partition-size:fsg: 0x280000
(bootloader) partition-type:fpconfig:raw
(bootloader) partition-size:fpconfig: 0x20000
(bootloader) partition-type:fpconfig_persist:raw
(bootloader) partition-size:fpconfig_persist: 0x20000
(bootloader) partition-type:traceability:raw
(bootloader) partition-size:traceability: 0x100000
(bootloader) partition-type:ALIGN_TO_128K_2:raw
(bootloader) partition-size:ALIGN_TO_128K_2: 0x1A000
(bootloader) partition-type:swversion:raw
(bootloader) partition-size:swversion: 0x20000
(bootloader) partition-type:oembin:raw
(bootloader) partition-size:oembin: 0x400000
(bootloader) partition-type:catecontentfv:raw
(bootloader) partition-size:catecontentfv: 0x100000
(bootloader) partition-type:catefv:raw
(bootloader) partition-size:catefv: 0x80000
(bootloader) partition-type:secdata:raw
(bootloader) partition-size:secdata: 0x7000
(bootloader) partition-type:uefivarstore:raw
(bootloader) partition-size:uefivarstore: 0x80000
(bootloader) partition-type:storsec:raw
(bootloader) partition-size:storsec: 0x20000
(bootloader) partition-type:logdump:raw
(bootloader) partition-size:logdump: 0x4000000
(bootloader) partition-type:cateloader:raw
(bootloader) partition-size:cateloader: 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-cdsp:raw
(bootloader) partition-size:limits-cdsp: 0x1000
(bootloader) partition-type:limits:raw
(bootloader) partition-size:limits: 0x1000
(bootloader) partition-type:splash:raw
(bootloader) partition-size:splash: 0x20A4000
(bootloader) partition-type:spunvm:raw
(bootloader) partition-size:spunvm: 0x800000
(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:fsgbk_b:raw
(bootloader) partition-size:fsgbk_b: 0x280000
(bootloader) partition-type:core_nhlos_b:raw
(bootloader) partition-size:core_nhlos_b: 0xAA00000
(bootloader) partition-type:uefisecapp_b:raw
(bootloader) partition-size:uefisecapp_b: 0x200000
(bootloader) partition-type:imagefv_b:raw
(bootloader) partition-size:imagefv_b: 0x200000
(bootloader) partition-type:featenabler_b:raw
(bootloader) partition-size:featenabler_b: 0x20000
(bootloader) partition-type:dtbo_b:raw
(bootloader) partition-size:dtbo_b: 0x1800000
(bootloader) partition-type:vbmeta_b:raw
(bootloader) partition-size:vbmeta_b: 0x10000
(bootloader) partition-type:vbmeta_system_b:raw
(bootloader) partition-size:vbmeta_system_b: 0x10000
(bootloader) partition-type:recovery_b:raw
(bootloader) partition-size:recovery_b: 0x6000000
(bootloader) partition-type:qupfw_b:raw
(bootloader) partition-size:qupfw_b: 0x14000
(bootloader) partition-type:devcfg_b:raw
(bootloader) partition-size:devcfg_b: 0x20000
(bootloader) partition-type:boot_b:raw
(bootloader) partition-size:boot_b: 0x6000000
(bootloader) partition-type:keymaster_b:raw
(bootloader) partition-size:keymaster_b: 0x80000
(bootloader) partition-type:dsp_b:raw
(bootloader) partition-size:dsp_b: 0x4000000
(bootloader) partition-type:abl_b:raw
(bootloader) partition-size:abl_b: 0x100000
(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: 0x200000
(bootloader) partition-type:modem_b:raw
(bootloader) partition-size:modem_b: 0xC300000
(bootloader) partition-type:hyp_b:raw
(bootloader) partition-size:hyp_b: 0x80000
(bootloader) partition-type:multiimgoem_b:raw
(bootloader) partition-size:multiimgoem_b: 0x8000
(bootloader) partition-type:tz_b:raw
(bootloader) partition-size:tz_b: 0x400000
(bootloader) partition-type:aop_b:raw
(bootloader) partition-size:aop_b: 0x80000
(bootloader) partition-type:questdatafv:raw
(bootloader) partition-size:questdatafv: 0x1000000
(bootloader) partition-type:fsgbk_a:raw
(bootloader) partition-size:fsgbk_a: 0x280000
(bootloader) partition-type:featenabler_a:raw
(bootloader) partition-size:featenabler_a: 0x20000
(bootloader) partition-type:core_nhlos_a:raw
(bootloader) partition-size:core_nhlos_a: 0xAA00000
(bootloader) partition-type:uefisecapp_a:raw
(bootloader) partition-size:uefisecapp_a: 0x200000
(bootloader) partition-type:imagefv_a:raw
(bootloader) partition-size:imagefv_a: 0x200000
(bootloader) partition-type:dtbo_a:raw
(bootloader) partition-size:dtbo_a: 0x1800000
(bootloader) partition-type:vbmeta_a:raw
(bootloader) partition-size:vbmeta_a: 0x10000
(bootloader) partition-type:vbmeta_system_a:raw
(bootloader) partition-size:vbmeta_system_a: 0x10000
(bootloader) partition-type:recovery_a:raw
(bootloader) partition-size:recovery_a: 0x6000000
(bootloader) partition-type:qupfw_a:raw
(bootloader) partition-size:qupfw_a: 0x14000
(bootloader) partition-type:devcfg_a:raw
(bootloader) partition-size:devcfg_a: 0x20000
(bootloader) partition-type:boot_a:raw
(bootloader) partition-size:boot_a: 0x6000000
(bootloader) partition-type:keymaster_a:raw
(bootloader) partition-size:keymaster_a: 0x80000
(bootloader) partition-type:dsp_a:raw
(bootloader) partition-size:dsp_a: 0x4000000
(bootloader) partition-type:abl_a:raw
(bootloader) partition-size:abl_a: 0x100000
(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: 0x200000
(bootloader) partition-type:modem_a:raw
(bootloader) partition-size:modem_a: 0xC300000
(bootloader) partition-type:hyp_a:raw
(bootloader) partition-size:hyp_a: 0x80000
(bootloader) partition-type:multiimgoem_a:raw
(bootloader) partition-size:multiimgoem_a: 0x8000
(bootloader) partition-type:tz_a:raw
(bootloader) partition-size:tz_a: 0x400000
(bootloader) partition-type:aop_a:raw
(bootloader) partition-size:aop_a: 0x80000
(bootloader) partition-type:ALIGN_TO_128K_4:raw
(bootloader) partition-size:ALIGN_TO_128K_4: 0x1A000
(bootloader) partition-type:ddr:raw
(bootloader) partition-size:ddr: 0x100000
(bootloader) partition-type:cdt:raw
(bootloader) partition-size:cdt: 0x20000
(bootloader) partition-type:ALIGN_TO_128K_1:raw
(bootloader) partition-size:ALIGN_TO_128K_1: 0x1A000
(bootloader) partition-type:xbl_config_b:raw
(bootloader) partition-size:xbl_config_b: 0x20000
(bootloader) partition-type:xbl_b:raw
(bootloader) partition-size:xbl_b: 0x380000
(bootloader) partition-type:xbl_config_a:raw
(bootloader) partition-size:xbl_config_a: 0x20000
(bootloader) partition-type:xbl_a:raw
(bootloader) partition-size:xbl_a: 0x380000
(bootloader) partition-type:userdata:ext4
(bootloader) partition-size:userdata: 0x377E72E000
(bootloader) partition-type:super:raw
(bootloader) partition-size:super: 0x180000000
(bootloader) partition-type:rawdump:raw
(bootloader) partition-size:rawdump: 0x20CCCD000
(bootloader) partition-type:oempersist:raw
(bootloader) partition-size:oempersist: 0xC800000
(bootloader) partition-type:metadata:raw
(bootloader) partition-size:metadata: 0x1DE0000
(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) partition-type:ALIGN_TO_128K_3:raw
(bootloader) partition-size:ALIGN_TO_128K_3: 0x18000
(bootloader) has-slot:modem:yes
(bootloader) has-slot:system:no
(bootloader) current-slot:a
(bootloader) has-slot:boot:yes
(bootloader) slot-retry-count:b:7
(bootloader) slot-unbootable:b:no
(bootloader) slot-successful:b:no
(bootloader) slot-retry-count:a:6
(bootloader) slot-unbootable:a:yes
(bootloader) slot-successful:a:yes
(bootloader) slot-count:2
(bootloader) secure:yes
(bootloader) serialno:3fdf6edb
(bootloader) product:FP4
(bootloader) snapshot-update-status:none
(bootloader) is-userspace:no
(bootloader) max-download-size:805306368
(bootloader) kernel:uefi
Is there a way besides sending it to the repair center?
Thanks in Advance
Volker
April 29, 2022, 9:38pm
136
Unfortunately no other (better) way has come up here on the forum up to now…
3 Likes
z3ntu
April 29, 2022, 10:00pm
137
@friede Can you share the filename of the zip you used for flashing? Did you pull the latest one from the support article?
5 Likes
Sorry @friede but now it’s time to send it back
phrogg
May 3, 2022, 12:05pm
139
I’m kinda sad. I wasn’t able to send my FP4 back until now, I rarely got a response on Apr 22 that I was able to send it back if I wanted. I replied that I indeed wanted and did not receive an answer since. I mean I get they don’t have the capacity like tech giants but I was so hyped for my FP4 and now I kinda completely forgot about it since it is already in a package waited on being shipped to the repair center… They mention a support phone number on the support site but the only number I found was the one in the impressum here Impressum - Fairphone is that the correct one to call? Just to make sure they didn’t forget about my request?
I think the number is mentioned here #contactsupport
3 Likes