XA2 Plus bricked (edit: update failed, stuck at the sony logo)

REPRODUCIBILITY (% or how often): 100%
BUILD ID = OS VERSION (Settings > About product): 3.3.16
HARDWARE (Jolla1, Tablet, XA2,…): XA2 Plus - Dual SIM
UI LANGUAGE: English
REGRESSION: (compared to previous public release: Yes, No, ?): Yes

DESCRIPTION:

I tried to update to 3.4.0.22 some days ago(had installed aliendalvik-control and pure maps). It said update failed, i thought i’ll wait for non-earlyaccess and try to update again, didn’t notice anything wrong immediately. However, soon i noticed that sound doesn’t work in phone calls (Whatsapp calls work OK). When 3.4.0.24 released, i tried to update again and noticed that it doesn’t let me update, after selecting download it just tries for a moment and then i get notification “Could not determine update size”. Also Store doesn’t work, tried to rebuild app registry from utilities, reboots but doesn’t change anything.

version --dup is just stuck at “refreshing and downloading packages”. I have removed the apps proven problematic and disabled and removed all Openrepos repos. Tried to install everything from /home/user/.pk-zypp-dist-upgrade-cache via rpm, all but telepathy-accounts…-package install, that says needs libaccounts.glib.so.0.

Tried to restart and rebuild app registry via terminal, still not letting me update. Tried systemctl start packagekit, then ssu re 3.4.0.24, then version --dup, does nothing. I don’t remember what else i have tried, but many things. Running any ssu command, i get a Dbus call failed, many other commands (like pkcon) give me different PackageKit related errors. Also, i have read through many posts here and tried their suggested solutions, but none of them solve the problem for me. “About product”-page and ssu still show the OS version as 3.3.0.16.

Probably something i tried has now caused Android apps not to start(except when i get a whatsapp messager and click the notification.)

Is it possible to get sailfish version .rpms for packagekit, zypper or pkcon packages somewhere and install them via rpm?

PRECONDITIONS:

STEPS TO REPRODUCE:

EXPECTED RESULT:

ACTUAL RESULT:

ADDITIONAL INFORMATION:

WARNING: DBus call failed, falling back to libssu: Message recipient disconnected from message bus without replying

1 Like

The “update failed” situation is usually due to an update that has failed half-way through.
This has probably left your system in a wrong state.
(Happened to me too: i was left with the new libicu libraries installed (.66) but an old version of ssu (which still looked for .63) and thus no working ssu and thus no working repositories.)

Running any ssu command, i get a Dbus call failed, many other commands (like pkcon) give me different PackageKit related errors.

Probably either your ssu or your dbus are the wrong version.
You can try to specifically update those from .pk-zypp-dist-upgrade-cache (the various ssu*, and dbus* and libdbus* packages) and try again.

Also try to check where you get an error message: is some package fialing to install/remove and stoping the update ?

In my case: there was a bug in some older version of aliendalvik-control and neither zypper nor pkcon were able to remove it succesfully. This caused the command-line update to crash in the middle (and the GUI update to reboot back into the previous version). I ended up doing rpm -e --noscripts aliendalvik-control-9.3.0-1 (which just deletes the files, but skips running the uninstall scripts).

Also of note: ssh only lets you in during the boot, so SSH into your phone as soon as your laptop sees the USB-network connection. Later in the boot process, once the UI (should be) starting, the behaviour is changed to only activating the USB connection if the user has entered the PIN/fingerprint - but if your system is broken it can’t even start the UI, you won’t be able to enter the fingerprint/PIN.

1 Like

Thanks for reply, i already figured out this much, and have tried all of these things. I was able to boot the UI normally, so i did not need to use SSH. I just tried to install the ssu, dbus and libdbus packages again, this time with --nodeps (i know this is probably a bad idea, but they didn’t install otherwise, complainign of conflicts and missing deps) (i backed up the most important files before doing that), and rebooted, now the phone is stuck in the Sony logo, considering just reflashing it, looks like there isn’t much else i can do at this point?

The --nodeps was a terrible idea, specially with critical packages like dbus (used by nearly anything on Sailfish, including systemctl).

The best approach would have been to try to see which subset of packages you can manage to install successfully. (Or have a link in /var/cache/zypp pointing to the updater’s cache in /home/user/.pk-zypp-dist-upgrade-cache/, and then use zypper's solver to find dependencies of dbus and ssu).

considering just reflashing it, looks like there isn’t much else i can do at this point?

If the phone is bricked to the point it can’t even boot successfully: yes, mostly - you can’t do much except boot it in fastboot mode.
You’re basically stuck with only two option:

  • Perform a new flash (Boot into fastboot mode and either use the fastboot command to send new image or let flash.sh do it for you). You only need to flash the 3.4.0.24’s kernel and root image. It’s superfluous to re-flash again the firmware/drivers. and You probably would like to keep your home partition (or back it up before re-flashing).
  • Boot into a recovery image (Boot into fastboot and send the boot recovery over USB – XA2 Plus are A/B device and don’t have a separate recovery image).

If you go the recovery root, you should be able to go into shell, mount your old root and hom (I think the telnet menu gives you the option ?) and chroot into the root to try again fixing it. (Just hope there is enough functional stuff left to at least get a bash shell working.

Thanks, i just reflashed it, already had all that i needed backed up. The thing was that i did not have zypper installed, and pkcon was not working, so only thing i could manage packages with was rpm. I tried to find the correct sailfish version of zypper rpm, but did not find. At that point it was easiest just to reflash, needed to get my daily driver phone working.

Hope that this is not the new standard where you have to become really careful with these updates because some basic and common apps can break them causing a need to reflash. Well, i guess i learned something again.