Cannot install firmware update
(→Troubleshooting installation: Added apt-get simulate remove and apt-cache depends) |
(move information from OTA to PR1.1 troubleshooting) |
||
Line 1: | Line 1: | ||
This article is for troubleshooting problems with [[Seamless Software Update|seamless software updates]] (also known as SSU or firmware updates). | This article is for troubleshooting problems with [[Seamless Software Update|seamless software updates]] (also known as SSU or firmware updates). | ||
+ | |||
+ | [[PR1.2_compulsory_My_Nokia_subscription|Due to privacy concerns]], it might be wise to remove microSD and SIM cards prior to updating to [[Maemo 5/PR1.2|PR1.2]] or above. | ||
+ | |||
+ | == 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 | ||
== Possible problems == | == Possible problems == | ||
Line 5: | Line 12: | ||
=== Not enough space? === | === Not enough space? === | ||
- | There are reports that at least | + | There are reports that at least 45 MB of free rootfs is needed for the PR1.2 update (and 42 MB for [[Maemo 5/PR1.1|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|maemo.org Extras]]. You can Backup the "Application list" before and restore it after the update. <code>ioquake3</code> ''must'' be uninstalled prior to updating, no matter your free space. |
- | + | If you do not have enough space for the upgrade, <code>apt-get dist-upgrade</code> 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 rootfs space|free up space in rootfs]]: | ||
=== Not possible over the air? === | === Not possible over the air? === | ||
If the Application Manager asks you to connect the device to your PC it's probably because: | If the Application Manager asks you to connect the device to your PC it's probably because: | ||
- | * You have missed the PR1.0.1. | + | * You have missed the PR1.0.1 update between PR1.0 and PR1.1. |
- | * You have | + | ** 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 <code>apt-get</code> or <code>dpkg</code>, 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 [[Updating the firmware|flash your device]]. Power users might be interested in troubleshooting the Linux way | + | The easiest solution is to backup and [[Updating the firmware|flash your device]]. Power users might be interested in troubleshooting the Linux way. |
== Troubleshooting installation == | == Troubleshooting installation == | ||
- | There are some packages that conflict with updating, causing it to tell you to use the PC Suite to update instead. 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 | + | 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 [[Extras/3rd Party Package Policy|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> | ||
+ | and/or: | ||
+ | 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 <code>apt-get upgrade</code> 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: | ||
+ | <pre> | ||
+ | # 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. | ||
+ | </pre> | ||
+ | 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 <code>apt-get upgrade</code>, 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 <code>mp-fremantle-generic-pr</code> metapackage), then try: | ||
+ | apt-get dist-upgrade | ||
+ | and see if you get something like this: | ||
+ | <pre> | ||
+ | # 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]? | ||
+ | </pre> | ||
+ | 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 <code>apt-get dist-upgrade</code> command. | ||
- | + | Both <code>apt-get update</code> and <code>apt-get dist-upgrade</code> might not show any conflicting packages but still the Application Manager refuses to install the update. | |
=== Possible conflicting packages === | === Possible conflicting packages === | ||
* libqt4-test | * libqt4-test | ||
- | * libgles1-sgx-img (possibly used by gltron or tuxracer, [http://talk.maemo.org/showthread.php?p=850743 ref]) | + | * libqt4-phonon |
+ | * libqt4-webkit | ||
+ | * libgles1-sgx-img (possibly used by brainparty, gltron or tuxracer, [http://talk.maemo.org/showthread.php?p=850743 ref]) | ||
* hildon-home-dbg (unconfirmed) | * hildon-home-dbg (unconfirmed) | ||
* battery-eye | * battery-eye |
Latest revision as of 10:24, 8 February 2011
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.
Contents |
[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 maemo.org 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
ordpkg
, 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>
and/or:
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
- This page was last modified on 8 February 2011, at 10:24.
- This page has been accessed 46,168 times.