Easy installer can't check integrity download Samsung Galaxy S8

Hi,

Easy installer is blocked at download step with a HTTP 404 error while trying to download checksum file: https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip.sha256sum

Here are the logs:

LANG=C easy-installer
Gtk-Message: 23:32:46.640: Failed to load module "canberra-gtk-module"
Gtk-Message: 23:32:46.641: Failed to load module "canberra-gtk-module"
23:32:46,749 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
23:32:46,749 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
23:32:46,749 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jrt:/ecorp.easy.installer/logback.xml]
23:32:46,756 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@4450d156 - URL [jrt:/ecorp.easy.installer/logback.xml] is not of type file
23:32:46,810 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
23:32:46,810 |-INFO in ch.qos.logback.core.joran.action.DefinePropertyAction - About to instantiate property definer of type [ecorp.easy.installer.logger.LogPathPropertyDefiner]
23:32:46,829 |-INFO in ch.qos.logback.core.joran.action.DefinePropertyAction - Popping property definer for property named [LOG_PATH] from the object stack
23:32:46,830 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
23:32:46,836 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
23:32:46,842 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
23:32:46,876 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [/home/username/snap/easy-installer/common/aec29c45-b89d-4a87-965a-6fc1d0f3b43f.log]
23:32:46,877 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
23:32:46,878 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
23:32:46,878 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
23:32:46,880 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ecorp.easy.installer.logger.GUIAppender]
23:32:46,880 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [GUI]
23:32:46,885 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@35:18 - no applicable action for [encoder], current ElementPath  is [[configuration][appender][encoder]]
23:32:46,885 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@36:22 - no applicable action for [pattern], current ElementPath  is [[configuration][appender][encoder][pattern]]
23:32:46,885 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
23:32:46,885 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
23:32:46,885 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
23:32:46,885 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [GUI] to Logger[ROOT]
23:32:46,885 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
23:32:46,886 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4461c7e3 - Registering current configuration as safe fallback point

23:32:46.919 [JavaFX Application Thread] DEBUG ecorp.easy.installer.EasyInstaller - 
OS name = Linux
Java Home = /snap/easy-installer/38/easy-installer-linux-x64
Current working dir = /tmp/hsperfdata_username
ADB folder path = /snap/easy-installer/38/easy-installer-linux-x64/bin/adb/
23:32:47.098 [JavaFX Application Thread] DEBUG ecorp.easy.installer.EasyInstaller - language = en, country = US 
23:32:47.251 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - initialize()
23:32:47.257 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(null)
23:32:47.405 [JavaFX Application Thread] DEBUG ecorp.easy.installer.EasyInstaller - Detected screen's size = 1920.0 x 1048.0
stage's size = 1440.0 x 1024.0
23:32:50.559 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(beforeYouBeginRoot)
23:32:50.561 [JavaFX Application Thread] DEBUG e.e.i.c.MainWindowController - change view()
23:32:50.944 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(connectDeviceRoot)
23:32:50.945 [JavaFX Application Thread] DEBUG e.e.i.c.MainWindowController - change view()
23:32:51.096 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(connectDeviceRoot)
23:32:51.096 [JavaFX Application Thread] DEBUG e.e.i.c.MainWindowController - change view()
23:32:53.880 [JavaFX Application Thread] WARN  e.e.i.c.s.EnableADBController - imageName = enableADB11.png, error = java.lang.NullPointerException: Input stream must not be null
23:32:54.027 [JavaFX Application Thread] WARN  e.e.i.c.s.EnableADBController - imageName = enableADB11.png, error = java.lang.NullPointerException: Input stream must not be null
23:32:54.423 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - ResetNextButtonEventHandler()
23:32:54.425 [JavaFX Application Thread] WARN  e.e.i.c.s.EnableADBController - imageName = enableADB12.png, error = java.lang.NullPointerException: Input stream must not be null
23:32:54.877 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(enableDevMode)
23:32:54.878 [JavaFX Application Thread] DEBUG e.e.i.c.MainWindowController - change view()
23:32:55.186 [JavaFX Application Thread] INFO  e.e.i.c.s.DeviceDetectedController - startDetection()
23:32:55.190 [Thread-3] INFO  e.e.i.tasks.DeviceDetectionTask - runADBDevicesCmd(): 
path = /home/username/snap/easy-installer/common/sources/
23:32:55.200 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - updateParameters(), Parameters = {1=devices, 2=-l}
23:32:55.201 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - getFullCmd(), full command =  [/snap/easy-installer/38/easy-installer-linux-x64/bin/adb/adb, devices, -l]
23:32:55.212 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - 
  (debug)* daemon not running; starting now at tcp:5037
23:32:55.519 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - 
  (debug)* daemon started successfully
23:32:55.520 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - 
  (debug)List of devices attached
23:32:55.520 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - 
  (debug)9889193748544c4555     device usb:3-1 product:dreamltexx model:SM_G950F device:dreamlte transport_id:1
23:32:55.521 [Thread-3] DEBUG e.e.i.tasks.CommandExecutionTask - Exit value = 0

23:32:55.522 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -  raw shell outputs = 

* daemon not running; starting now at tcp:5037

* daemon started successfully

List of devices attached

9889193748544c4555     device usb:3-1 product:dreamltexx model:SM_G950F device:dreamlte transport_id:1 
23:32:55.523 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask - checkAdbDevicesResult(* daemon not running; starting now at tcp:5037)
23:32:55.542 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask - checkAdbDevicesResult(* daemon started successfully)
23:32:55.542 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask - checkAdbDevicesResult(9889193748544c4555     device usb:3-1 product:dreamltexx model:SM_G950F device:dreamlte transport_id:1)
23:32:55.542 [Thread-3] INFO  e.e.i.tasks.DeviceDetectionTask -   Device has been found
23:32:55.543 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : 9889193748544c4555
23:32:55.543 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : device
23:32:55.543 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : usb:3-1
23:32:55.543 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : product:dreamltexx
23:32:55.544 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   "product" keyword has been found
23:32:55.544 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : model:SM_G950F
23:32:55.545 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   "model" keyword has been found
23:32:55.545 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : device:dreamlte
23:32:55.545 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   "device" keyword has been found
23:32:55.545 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask -   Current subString : transport_id:1
23:32:55.545 [Thread-3] DEBUG e.e.i.tasks.DeviceDetectionTask - call(), result: Device found
23:32:55.549 [JavaFX Application Thread] INFO  e.e.installer.helpers.DeviceHelper - loadYaml(/yaml/dreamlte_flash.yml)
23:32:55.598 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - parseSteps(yaml)
23:32:55.599 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:custom
23:32:55.599 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - parseCustomStep(yaml)
23:32:55.600 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:custom-executable
23:32:55.605 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:load
23:32:55.605 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:custom-executable
23:32:55.606 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:load
23:32:55.606 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:askAccount
23:32:55.606 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --step type:custom
23:32:55.607 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - parseCustomStep(yaml)
23:32:56.941 [JavaFX Application Thread] INFO  e.e.i.c.MainWindowController - loadSubScene(deviceDetectedRoot)
23:32:56.941 [JavaFX Application Thread] DEBUG e.e.i.c.MainWindowController - change view()
23:32:57.252 [JavaFX Application Thread] INFO  e.e.installer.helpers.DeviceHelper - loadYaml(/yaml/dreamlte_fs.yml)
23:32:57.254 [JavaFX Application Thread] INFO  e.easy.installer.utils.ConfigParser - parseSourcesToDownload(...yaml...)
23:32:57.254 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --> url: https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip, filePath: e-latest-r-dreamlte.zip
23:32:57.254 [JavaFX Application Thread] DEBUG e.easy.installer.utils.ConfigParser - --> url: https://images.ecloud.global/stable/dreamlte/recovery-e-latest-r-dreamlte.img, filePath: recovery-e-latest-r-dreamlte.img
23:32:57.255 [JavaFX Application Thread] INFO  e.e.i.c.s.DownloadSrcController - startNextDownload()
23:32:57.255 [JavaFX Application Thread] DEBUG e.e.i.c.s.DownloadSrcController - taskIterator has next ? {} true
23:32:57.258 [JavaFX Application Thread] INFO  e.e.i.c.s.DownloadSrcController - bindProgressUIToService()
23:32:57.259 [JavaFX Application Thread] INFO  e.e.i.c.s.DownloadSrcController - DownloadService.createTask(https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip,e-latest-r-dreamlte.zip)
path = /home/username/snap/easy-installer/common/sources/dreamlte/
path = /home/username/snap/easy-installer/common/sources/dreamlte/
23:32:57.278 [Thread-4] DEBUG e.easy.installer.tasks.DownloadTask - downloadFile(https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip.sha256sum, /home/username/snap/easy-installer/common/sources/dreamlte/e-latest-r-dreamlte.zip.sha256sum)
23:32:57.912 [Thread-4] DEBUG e.easy.installer.tasks.DownloadTask - response code: 404, Not Found
23:32:57.913 [JavaFX Application Thread] DEBUG e.e.i.c.s.DownloadSrcController - DownloadService.succeeded()

Easy installer v0.21.2
Kernel 6.9.3-76060903-generic
Linux Ubuntu 22.04

Samsung Galaxy S8
Model SM_G950F
Product dreamlte

Any ideas ?
If you have the correct URL, how can I override it easily in the easy installer ? Is there an update of easy installer with the fixed URL ?

Hi @JayBeeDe welcome to the /e/ forum.

The error can be reproduced by

~$ wget https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip.sha256sum
--2025-01-31 23:02:46--  https://images.ecloud.global/stable/dreamlte/e-latest-r-dreamlte.zip.sha256sum
Resolving images.ecloud.global (images.ecloud.global)... 94.130.48.40, 2a01:4f8:10b:25a6::2
Connecting to images.ecloud.global (images.ecloud.global)|94.130.48.40|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: /stable/dreamlte/e-2.2-r-20240715417776-stable-dreamlte.zip.sha256sum [following]
--2025-01-31 23:02:46--  https://images.ecloud.global/stable/dreamlte/e-2.2-r-20240715417776-stable-dreamlte.zip.sha256sum
Reusing existing connection to images.ecloud.global:443.
HTTP request sent, awaiting response... 404 Not Found
2025-01-31 23:02:46 ERROR 404: Not Found.

This particular (rather old 2024-07-15) build e-2.2-r-20240715417776-stable-dreamlte.zip is affected by a server outage [1], is why it is unobtainable. Here is a list of issues Issues · e / Backlog · GitLab. The original Easy Installer is replaced by Web Installer - still in “testing phase” without as far as I see a mention in Support topics.


However

includes

Samsung 	Galaxy S8 	dreamlte 		tested

or manual cli install Install /e/OS on a Samsung Galaxy S8 - “dreamlte”

[1]

It may take a little familiarisation but OpenAndroidInstaller has the ability to use local files so you could download the latest pair (ROM + e-recovery version e-2.7-s-202501xxxxxx... ) from either of the two available Different Build Types.

2 Likes