Unable to install on new Fairphone 4 via Easy/web installers, and security patch dates do not match on latest builds

The Easy Installer is stopping at “Checking Security Patch Level,” with “cannot get security patch information,” and nothing particularly helpful in the logs (see below). The web-based installer fails on attempting a connection after confirming the connection in the browser prompt:

Error on step: device-detection
Cannot execute command connect adb
Cannot connect the device
Proposal: Check connection and that no other program is using the phone and retry.~~

I was going to attempt the manual installation process, but noticed the security patch date on that page is 2024-11-01. The security patches on my device are as of November 5, 2024 (Android 13). Given the severity of the anti-rollback warnings, I didn’t want to move forward on the assumption that a few days’ difference wouldn’t matter.

Edit: While the Easy Installer still fails at the same point, the web-based installer moves on to the “Downloading e/OS” and installation steps after running adb kill-server. The device then seemed to be stuck booting into the FastBoot Mode menu—I’m out of my depth, but switching from current-slot: b with fastboot --set-active=a allows me to boot as expected.

Leaving this up in case anyone runs into similar issues.

[…]
2024-12-26 15:38:05,511 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] downloadFile(https://images.ecloud.global/stable/FP4/IMG-e-latest-t-FP4.zip.sha256sum, /home/username/snap/easy-installer/common/sources/FP4/IMG-e-latest-t-FP4.zip.sha256sum)
2024-12-26 15:38:05,630 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] local file exist, size is 110
2024-12-26 15:38:05,634 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] last modified date = Thu Dec 26 15:00:20 EST 2024
2024-12-26 15:38:07,574 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] response code: 200, OK
2024-12-26 15:38:07,587 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] remote fileSize = 110.0
2024-12-26 15:38:07,587 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] full file size = 110.0
2024-12-26 15:38:07,595 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] validChecksum(/home/username/snap/easy-installer/common/sources/FP4/IMG-e-latest-t-FP4.zip.sha256sum)
2024-12-26 15:38:07,597 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1]   ChecksumLine = ceb98f8709837986d8b6c99ad1cf20fa59132d383c14bd005a77a6c246994fe3  IMG-e-2.5-t-20241108446629-official-FP4.zip
2024-12-26 15:38:07,597 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] createFileChecksum()
2024-12-26 15:38:09,891 DEBUG [Thread-13] e.e.i.t.DownloadTask [null:-1] compare checksum: ceb98f8709837986d8b6c99ad1cf20fa59132d383c14bd005a77a6c246994fe3 vs ceb98f8709837986d8b6c99ad1cf20fa59132d383c14bd005a77a6c246994fe3
2024-12-26 15:38:09,892 DEBUG [JavaFX Application Thread] e.e.i.c.s.DownloadSrcController [null:-1] DownloadService.succeeded()
2024-12-26 15:38:09,892 INFO [JavaFX Application Thread] e.e.i.c.s.DownloadSrcController [null:-1] startNextDownload()
2024-12-26 15:38:09,892 DEBUG [JavaFX Application Thread] e.e.i.c.s.DownloadSrcController [null:-1] taskIterator has next ? {} false
2024-12-26 15:38:09,892 DEBUG [JavaFX Application Thread] e.e.i.c.s.DownloadSrcController [null:-1] onDownloadsComplete()
2024-12-26 15:38:11,609 INFO [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] loadSubScene(downloadSceneRoot)
2024-12-26 15:38:11,610 DEBUG [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] change view()
2024-12-26 15:38:13,597 INFO [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] loadSubScene(uiRoot)
2024-12-26 15:38:13,597 DEBUG [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] change view()
2024-12-26 15:38:13,598 INFO [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] ResetNextButtonEventHandler()
2024-12-26 15:38:13,908 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] updateParameters(), Parameters = {fastboot_folder_path=/snap/easy-installer/38/easy-installer-linux-x64/bin/adb/, archive_path=/home/username/snap/easy-installer/common/sources/FP4/IMG-e-latest-t-FP4.zip, device_model=FP4}
2024-12-26 15:38:13,908 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] getFullCmd(), full command =  [/snap/easy-installer/38/easy-installer-linux-x64/bin/scripts/store-rom-info.sh, /snap/easy-installer/38/easy-installer-linux-x64/bin/adb/, /home/username/snap/easy-installer/common/sources/FP4/IMG-e-latest-t-FP4.zip, FP4]
2024-12-26 15:38:13,926 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)Archive Path=/home/username/snap/easy-installer/common/sources/FP4/
2024-12-26 15:38:13,926 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)Model=FP4
2024-12-26 15:38:13,981 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)2024-11-05
2024-12-26 15:38:14,266 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2024-12-26 15:38:14,266 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)                                 Dload  Upload   Total   Spent    Left  Speed
2024-12-26 15:38:15,776 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
2024-12-26 15:38:16,178 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
2024-12-26 15:38:16,381 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
2024-12-26 15:38:16,381 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] 
  (debug)  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
2024-12-26 15:38:16,420 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] Exit value = 1

2024-12-26 15:38:16,420 INFO [JavaFX Application Thread] e.e.i.c.MainWindowController [null:-1] ResetNextButtonEventHandler()
2024-12-26 15:38:17,589 DEBUG [Thread-14] e.e.i.t.DownloadTask [null:-1] timeoutThread is over!
1 Like

It’s quite obvious, that the installation won’t work, because of the anti-rollback protection:

The following values control whether anti-rollback features are triggered on FP4:

  • Rollback protection errors trigger if you install an update whose version number is LESS than the rollback index’s value stored on device.
  • The value of rollback index is UPDATED to match ro.build.version.security_patch ’s value of the currently installed version, but only if the bootloader is LOCKED .
  • The value of rollback index is NOT dependent on the currently installed ANDROID VERSION .
  • The value of rollback index can NEVER be DOWNGRADED .
  • Rollback protection errors are FATAL when the bootloader is LOCKED .
  • Rollback protection errors are IGNORED when the bootloader is UNLOCKED .

See Install /e/OS on a Fairphone FP4 - “FP4”

That’s the reason, why I have to wait until the next build, because my FP4 is on Patch 2024-12-01.

Appreciate the help; please see the somewhat less obvious edit in the original post, as the web-based installer was successful after running adb kill-server to prevent the “in use” error.

Both easy installer and web installer fails for me as well in almost similar way. “Web installer” fails at bootloader screen after phone restarts. And “Easy installer” fails at “cannot get security patch information”.

It’s quite obvious, that the installation won’t work, because of the anti-rollback protection

Not obvious. Both UIs says nothing about this. Logs says nothing this. Is this really the problem? IF it is the problem, why developers did not program this to the installer to inform the user about this if installer calls itself “easy”?

Dates are also confusing:

  1. Android build is 2024-10-30.
  2. Android security update is 2024-11-05
  3. Latest /e/ build is 2024-11-08 /e/OS official FP4 download
  4. Latest /e/ security patch is 2024-11-01 Install /e/OS on a Fairphone FP4 - “FP4”

If they built it 2024-11-08, why security patch is 2024-11-01 and not 2024-11-05 by that time?
And why it takes 3 months to create a new build?

I read GrapheneOS complains about slow Fairphone security releases, and refuse to work with Fairphone because of poor security

So if Fairphone is slow with security, I see /e/ is way more slower additionally on top of it. While graphene release security super fast I understand.

Graphene was recommended 5 days ago by two big youtube security people based on newest info youtube.com/watch?v=r5C38--z8OQ
still I tried /e/ first as Fairphone does not work with Graphene.

I don’t want to believe /e/ is so slow to release a security update. Maybe installer does not work because of the different issue instead? Or maybe they did building mistake that dates are confusing that even both installers don’t recognize the problem and don’t tell the user why it does not work or whatever?

Now this page says 2024-12-01 Install /e/OS on a Fairphone FP4 - “FP4”

Looking at the logs (which are similar to mine) above we see:

(debug)2024-11-05

Which indicates current phone security date.

Next lines:

(debug) 0 0 0 0 0 0 0 0 --:–:-- 0:00:02 --:–:-- 0
2024-12-26 15:38:16,420 DEBUG [Thread-15] e.e.i.t.CommandExecutionTask [null:-1] Exit value = 1

It means that downloading something failed. And since it shows error “cannot get security patch information” means downloading of that information failed. The web server is not responsive.

If I click the button “Send to support”, new line appears at the end of the log

sendLogToSupport(), sending log: failure

Maybe /e/ servers aren’t working (for 3 months now)?

I searched in installer code. This is the line which fails:

curl -o $MURENA_ROM_INFO https://images.ecloud.global/stable/FP4/e-latest-FP4.zip.prop

from file flash-scripts/linux/store-rom-info.sh · master · e / devices / Easy Installer · GitLab
This line tries do download the file, but fails.

But opening in the browser this link does work fine https://images.ecloud.global/stable/FP4/e-latest-FP4.zip.prop

This is similar issue, there problem was solved with manual install instead of using easy-installer:

You have put quite a bit of time into debugging! The manual CLI method for fp4 is done by a script provided within the ROM.

Clearly it is very important to check the Andriod SPL so that you do not downgrade SPL.