Cannot install firmware update

This article is for troubleshooting problems with seamless software updates (also known as SSU or firmware updates).

Due to privacy concerns, it might be wise to remove microSD and SIM cards prior to updating to PR1.2 or above.


[edit] Before you start

  • Make sure you have a fully charged battery or the device plugged in before starting.
  • Make sure you make a backup prior to the update, just in case

[edit] Possible problems

[edit] Not enough space?

There are reports that at least 45 MB of free rootfs is needed for the PR1.2 update (and 42 MB for PR1.1). You have probably installed unstable software from extras-devel or other source with weak quality control. The simple solution is to uninstall anything not coming from Ovi and Extras. You can Backup the "Application list" before and restore it after the update. ioquake3 must be uninstalled prior to updating, no matter your free space.

If you do not have enough space for the upgrade, apt-get dist-upgrade will display an error:

E: You don't have enough free space in /var/cache/apt/archives/

There are some tips on how to free up space in rootfs:

[edit] Not possible over the air?

If the Application Manager asks you to connect the device to your PC it's probably because:

  • You have missed the PR1.0.1 update between PR1.0 and PR1.1.
    • If this is the case, there is nothing to do but to reflash. You have missed the intermediate step towards PR1.1 from PR1.0 and your device will not be able to guarantee you a proper OTA update.
  • You have manually installed some Debian package through apt-get or dpkg, perhaps bypassing the sanity checks and special controls that HAM (Hildon Application Manager) provides to guarantee a proper OTA update.
  • You somehow got the device into a state so it would be needed to remove some package to perform the OTA update (which is something that the extra-defensive Application Manager won't ever do)

The easiest solution is to backup and flash your device. Power users might be interested in troubleshooting the Linux way.

[edit] Troubleshooting installation

There are some packages that conflict with updating, causing it to tell you to use the PC Suite to update instead. This can happen because:

  • They are breaking the third party packaging policy
  • They are different versions (newer versions, most likely) than the expected by the OTA update package to properly work. Think that the OTA package is a metapackage expecting exact versions of package to be installed in the system before the upgrade and you'll get the point here :-): just one dependency of the OTA package in a different version than the expected one is enough to break the process, hence asking the user to reflash.

If this is the case you'd need to somehow restore the device to the proper state first by removing those packages and/or restoring them to the expected versions.

If you open the update in the Application Manager, and open the Details dialog, you will see the Problems tab. This will tell you the names of any conflicting packages, that can be unistalled in the terminal, by using:

apt-get remove <package name>

You can get some more information about why you have a specific package by typing:

apt-cache depends <package name>


apt-get -s remove <package name>

The latter will simulate removing a package, and will tell you which other programs will be affected. It is also possible to try to perform an apt-get upgrade from the command line (without confirming!) and see the output. If you find some message like the following one, then you'll have a good spot on which package is blocking the OTA update and why:

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run `apt-get -f install' to correct these.
The following packages have unmet dependencies:
  mp-fremantle-generic-pr: Depends: package (= 1.0) but 1.1 is installed
E: Unmet dependencies. Try using -f.

In the case above you'd have installed a newer version of 'package' than the expected by OTA, so the solution would be to restore it to the expected version before continuing. Another solution would be to upgrade the package (with apt-get upgrade, assuming that it is available in repository.

If you did not get any conflict but get some message saying that no package will be upgraded (or at least no package related to the mp-fremantle-generic-pr metapackage), then try:

apt-get dist-upgrade

and see if you get something like this:

# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  package-1 package-2 package-3
After this operation, 4620kB disk space will be freed.
Do you want to continue [Y/n]?

If that is the case then there you have the conflicting packages you will have to manually remove before trying again with the Application Manager, in case you do not want (and you should not) continue with the apt-get dist-upgrade command.

Both apt-get update and apt-get dist-upgrade might not show any conflicting packages but still the Application Manager refuses to install the update.

[edit] Possible conflicting packages

  • libqt4-test
  • libqt4-phonon
  • libqt4-webkit
  • libgles1-sgx-img (possibly used by brainparty, gltron or tuxracer, ref)
  • hildon-home-dbg (unconfirmed)
  • battery-eye
  • ioquake3