Updating the firmware

(Windows: Finished re-writing section, all information is preserved, just re-written.)
m (Updating & Flashing your device: wikify link)
Line 28: Line 28:
  {{ambox
  {{ambox
|type=notice
|type=notice
-
|text=If you are flashing the N900 with the eMMC image, follow the [https://wiki.maemo.org/Updating_the_tablet_firmware#Flashing_the_eMMC_in_the_N900 instructions below].}}
+
|text=If you are flashing the N900 with the eMMC image, follow the [[#Flashing_the_eMMC_in_the_N900|instructions below]].}}
* for [http://tablets-dev.nokia.com/nokia_N900.php N900]
* for [http://tablets-dev.nokia.com/nokia_N900.php N900]
** for [[Maemo_UK_variant_firmware|UK devices]]
** for [[Maemo_UK_variant_firmware|UK devices]]

Revision as of 07:55, 12 July 2010

Contents

What does it do?

N900

These descriptions assume that you are using the latest official images.

Flashing the rootfs on your N900 will reset the device back to factory settings, meaning all preferences, bookmarks, contacts, communications, and applications will be reset to the original configuration, with the exception of the lock code; if you have already set a custom lock code, it will remain intact, instead of reverting to the default "12345." Also, all information contained in /home (except /home/opt) will remain intact. This means the information stored in /home/user/MyDocs which is the area visible in the default file manager (or when connecting to a computer), will remain intact. Your external memory (microSD), also be unaffected.

Flashing the eMMC and rootfs on your N900 will completely reset the device to factory settings, reverting everything to factory settings, including /home, but again, excepting the external memory.

The Backup application will save:

  • Communication and Calendar: Stored conversations, accounts, contacts, and calendar entries. Only applies to content used with stock applications. (i.e. not Pidgin, or other third-party applications)
  • Bookmarks: Bookmarks stored via MicroB. (Default browser only)
  • Settings: Your current settings in the Settings "application." (Settings in /home/user, gconf, /etc.) Third party settings applets will also be backed up and restored once installed. Manually created shell scripts or other files outside of the eMMC/MyDocs must be manually backed up during a rootfs flash.
  • Application List: A list of repositories and installed applications to be re-activated and installed after flashing. (Only applies to applications + repositories installed via the included Application Manager)

When flashing the eMMC, all user-created content must also be backed up manually to an external location in order to be preserved (i.e. computer or microSD). The eMMC image will contain the factory setting files and folders (.documents, .images, icons, etc.).

Updating & Flashing your device

For Windows, Mac or Linux you can use flasher-3.5 which can be download from the tablets-dev page. This page contains all installation packages include documentation for using the flasher.

  1. Download the Flasher for your device model: N900, N810, N800 or 770
  2. Download the latest firmware image for your device model:
Image:Ambox_notice.png
If you are flashing the N900 with the eMMC image, follow the instructions below.
  1. Ensure the battery is fully charged.
  2. Unplug the charger and switch off the device.

Linux

Once you have downloaded the flasher and the firmware image, follow these steps:

  1. If you downloaded the .deb version of the Flasher, install it with:
    sudo dpkg -i <flasher-package-name>
    If you are using 64-bit Linux, you'll need to force installation as follows:
    sudo dpkg -i --force-architecture <flasher-package-name>
    If you downloaded the .tar.gz version instead, you should untar it manually. The instructions below assume you have untarred it to the current directory.
  2. Turn off your device (make sure you unplug the charger or else the device will not power down completely. You can plug the device back into power once it starts flashing).
  3. On your PC, run:
    sudo flasher-3.5 -F <firmware-image> -f -R
    If you are using the .tar.gz package, use
    sudo ./flasher-3.5 -F <firmware-image> -f -R
  4. It will say:
    Suitable USB device not found, waiting
    • N900: Whilst holding the ‘u’ key, plug the USB back in. Wait until you get a dark screen with the NOKIA logo in the middle and a USB logo in the top right, and let go of the key.
    1. If the USB logo does not appear, and the device turns off - ensure the battery is charged by connecting to the wall charger for an hour.
    • N810, N800 and 770: Take your device, and hold down the Home/Swap button (looks like a little house on the N800 and 770, and two overlapping rectangles on the N810), and while holding down the Home/Swap button press the power button to turn it on.
      If it doesn't boot and start flashing, make sure the USB cable is plugged in.
  5. It should start flashing and then reboot. You can remove the USB cable when the flasher program exits back to the shell prompt.
from README_Flasher-3.5_beta coming with the flasher dowload tgz:
    
  For Nokia N900 with Fremantle image flashing mode can be enabled by
   1. Turn off Maemo device 
   2. Press and hold down key 'u' 
   3. Connect USB cable between Maemo device and host PC while holding down key 'u'
   4. When USB cable gets connected it powers Maemo device and set's it to flashing mode
   5. When USB icon appears on right upper corner Maemo device is in flashing mode 
   6. You can release key 'u'
 
        You will see USB image in the upper right hand corner of the screen if you did this correctly.
            
  Maemo device will wait for Flasher-3.5 input indefinitely when it is in 
  flashing mode. If flashing is tried without setting Maemo device first into 
  flashing mode image flashing may fail because Maemo device may not be able to 
  change to the flashing mode automatically.
   
  NOTICE: Make sure that device battery is fully charged before doing any 
          sort of flashing operation because flashing will fail if battery
          runs out of power during image flashing operation and device 
          may not be able to charge empty battery after failure in flashing. 


For Example(N900 Flashing on Ubuntu): Please replace <..> with filenames of proper firmware images.

  • Disconnect the Device if already connected.
  • Run : sudo flasher-3.5 -F <firmware-image-eMMC> -f -R
    • This will cause the Program to wait till N900 is connected.
  • Now Connect the usb cable while Holding 'u' key on Keyboard.
    • Device should be recognized and flashing will commence.You can release key 'u' now.
    • Once The Message Appears : Device has been Flashed Successfully, Remove the USB cable.
  • Run sudo flasher-3.5 -F <firmware-image-MR0_ARM.bin> -f -R
    • Once again the Program to wait till N900 is connected.
  • Now Just connect the usb cable connected to phone.No need to hold 'u' key.
    • Once The Message Appears : Device has been Flashed Successfully.Also Device will restart.
  • Now the Device is reset to factory settings.

Mac OS X

There are two methods for flashing the device on OS X, using the GUI, with the 770Flasher application or using the console, much like the Linux flashing method. Both methods work fine for both the 770 and the N800/N810.

GUI with 770Flasher

This is the easier of the two methods, and should be used by most people.

  1. Download the 770Flasher (yes, it will work fine for flashing an N800 or N810). Latest flashers (Linux/Mac), which work also for N900, are also available on Latest Official Maemo Development Environment Page
  2. Follow the steps above to get the appropriate firmware image.
  3. Drag the firmware image (will end in .bin) onto 770Flasher.
  4. Follow the on-screen prompts.
  5. You should now see Suitable USB device not found, waiting, switch on your device while holding the Home-button. Note for N810 users: switch on your device while holding the Swap button. Note for N900 users: Unplug USB cable. Switch of your device. Press and hold "U" key then plug in the USB cable. If the USB symbol in the top right corner shows up or the flashing starts let gu the "U" key.
  6. Watch the messages as the image loads to the device after which it reboots automatically.

Console with Flasher-3.5

These steps cover flashing the device with OS X using the Terminal. This is the more difficult than using 770Flasher, but gives you access to the advanced options flasher-3.5 provides (like setting R&D flags, flashing only parts of the image, unpacking the image, etc).

  1. Follow the steps above to get the appropriate firmware image and flasher.
  2. Turn off your device (make sure you unplug the charger or else the device wont power down completely) and plug in the USB cable to a port on the computer and the port on your device. N900 users cannot plug in the usb cable yet, as it would start recharging the battery.
  3. Open up the Terminal (located in /Applications/Utilities/) and run:
    sudo /usr/bin/flasher-3.5 -F <firmware-image> -f -R

    You will be asked for an administrator password, enter it.
  4. It will say:
    Suitable USB device not found, waiting
  5. Unplug the power cord from the device, as this will prevent it from updating. Then take your device, and hold down the Home/Swap button (looks like a little house on the N800 and 770, and two overlapping rectangles on the N810 users do not need to hold down anything), and while holding down the Home/Swap button press the power button to turn it on. N900 users press ‘u’ button and plug the usb cable. Release button when flashing process begins.
    If the device does not boot and start flashing, make sure the USB cable is plugged in.
  6. It should start flashing and then reboot. You can remove the USB cable after it has booted to a normal desktop (just make sure to eject any cards that may have mounted on your Mac).

Windows

N900

Updating the firmware using the Nokia Software Updater

Microsoft Windows users who wish to update their N900 can use the Nokia Software Updater (aka NSU), or use the Flasher (see section below).

The Nokia Software Updater is compatible with Windows XP Service Pack 3, Windows Vista Service Pack 2, and Windows 7. (Some users may encounter problems due to varying causes.)

The Nokia Software Updater can only be used when updating from a previous firmware to a new one. To reflash with the same firmware you currently have, or if you missed an update, use the flasher.

Updating or re-flashing the firmware using the Flasher

Note: This method is fully compatible with 32 bit versions of Windows; 64-bit users may encounter problems.

To flash from the Windows (XP, Vista, or 7) command line,

  1. Download and install the latest version of the Flasher.
  2. Download the latest firmware (.bin) file for your region and save it to  %ProgramFiles%\maemo\flasher-3.5\, or wherever you installed the Flasher.
  3. Ensure the battery is at least half full.
  4. Unplug USB cable if present, and switch off the device.
  5. Run the Flasher from the Start menu
  6. This is an alternate to step 5, if you have already opened the Flasher, ignore this step. Open the Command Prompt (Start then Run or Windows Logo key + R) and type cmd then press Enter. Change the directory to where you installed the Flasher (TIP: Use the TAB key to auto-complete commands and file-names)
    cd "%ProgramFiles%\maemo\flasher-3.5"
  7. Hold the u key on the device keyboard and connect the USB cable at the same time. See the Flasher documentation for more information.
  8. Run the following command:
    flasher-3.5.exe -F RX-51_2009SE_2.2009.51-1_PR_COMBINED_MR0_ARM.bin -f -R

Replace RX-51_2009SE_2.2009.51-1_PR_COMBINED_MR0_ARM.bin with the firmware you wish to update. The latest PR1.2 official (rootfs) images are listed below:

USA

RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin

Middle East and North Africa

RX-51_2009SE_10.2010.19-1.003_PR_COMBINED_003_ARM.bin

India

RX-51_2009SE_10.2010.19-1.004_PR_COMBINED_004_ARM.bin

UK (not the vodafone firmware, but fully compatible with vodafone devices).

RX-51_2009SE_10.2010.19-1.203.1_PR_COMBINED_203_ARM.bin

Global

RX-51_2009SE_10.2010.19-1_PR_COMBINED_MR0_ARM.bin

The update will take approximately 4 minutes after which the N900 will reboot and display the Welcome Screen with Regional settings. After booting, you may use the backup utility to restore your settings.

Issues with 64 bit Windows and Workarounds

According to this post, Windows driver signing can cause problems. You either need to turn on the loading of unsigned drivers or boot your computer to whole another OS. There are a few workarounds:

Option 1

Disabling signed driver detection is done by choosing the option "Boot without checking for signed drivers" (or something similar) in the Windows boot-menu. To display the boot-menu press the "F8" key as soon as the Windows boot process starts (i.e. after the BIOS has loaded, and after GRUB or other non-Windows bootloaders have passed).

Option 2

Alternatively you can permanently disable driver checking via command line in Windows 7. Instructions. (Non-maemo.org site).

Option 3

You can use Microsoft Virtual PC - Also known as XP Mode.
Professional, Enterprise, and Ultimate editions of Windows 7 come with Windows XP mode, but must be downloaded and installed before use.

  1. Connect your N900 in flasher mode; Hold u on the device keyboard, then connect the USB cable.
  2. Wait for Windows to install the appropriate drivers.
  3. Start Microsoft Virtual PC / Windows XP mode/
  4. Allow the Virtual PC to have access to your N900: (On the top bar): USB > N900 (Attach).
  5. Wait for Windows to install the appropriate drivers.
  6. When it is finished, proceed with the normal flashing steps above.

There have been numerous reports on the forums of people trying to flash the rootfs/FIASCO and eMMC with Windows 7 64 bit XP Mode/Virtual PC, where the rootfs/FIASCO image flashed just fine, but the eMMC image stays at "no suitable device found. Waiting". If you need to flash the eMMC as well, move onto option 4.

Option 4

An alternative approach is to use an Ubuntu LiveCD or a Persistant USB installation. This way, you are essentially using Ubuntu without installing it directly on your hard drive. Have ready maemo_flasher-3.5_2.5.2.2_i386.deb, which is the Debian Linux equivalent of a setup/installation file, the firmware files you need, and optionally, this page, if you don't have access to an internet connection on the LiveCD/USB.

After booting into your LiveCD/USB, follow the instructions from the Linux section of this page.

770/N800/N810/N810 WiMAX

Internet Tablet users can go to the appropriate support page for their device (N810 WiMAX Edition, N810, N800, or 770), download and install the Software Update Wizard, run it and follow the on-screen prompts. This will work both for updating and re-flashing the same firmware image.

Flashing only the kernel from a FIASCO image

If you only want to flash a kernel from a FIASCO image without overwriting your rootfs (e.g. because you tried out a different kernel and that didn't work) you can use the following flasher command instead of the one above:

sudo ./flasher-3.5 -F <firmware-image> --flash-only=kernel -f -R

This will flash the kernel from the FIASCO image and the reboot your device. The rootfs will not be touched by this.

Flashing the eMMC in the N900

Image:Ambox_notice.png
When flashing the eMMC content, always flash the FIASCO/Rootfs image and then flash the eMMC. Do not boot up the device between the two i.e do NOT use the -R parameter at the end!


Flasing the eMMC resets the MyDocs folder contents to factory settings. N900 users don't need to reflash the eMMC of their device. If you are reading this it's probably because you got a pre-production device e.g. in the Maemo Summit. If you have a sales unit and you have problems with your eMMC you should contact Nokia Care.

Also note that any backups created in your MyDocs area will need to be copied off the device to be safe across an eMMC flash as the MyDocs area and other partitions on /dev/mmcblk0 will be erased.

Note that the eMMC images available do not contain pre-loaded maps. If you reflash your eMMC you will lose them (the Maps application will work as usual but you will need to download the maps needed).

In order to flash the eMMC, follow these steps:

  • Fully charge the battery (IMPORTANT!!)
  • Install Flasher for your OS (Linux, Mac OS X or MS Windows)
  • Flash the FIASCO/rootfs image using the above commands, without the -R parameter
  • Grab the Vanilla eMMC image (.bin file) from the Nokia repository
  • Navigate to the directory where the image file was saved (Windows users: if you don't know the full path to the image, copy it to the flasher directory)
  • Execute the following command (in Linux you have to be root!):
    • Windows
      flasher-3.5.exe -F RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin -f -R
    • Linux
      ./flasher-3.5 -F RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin -f -R
    • Debian based Linux (e.g Ubuntu)
      flasher-3.5 -F RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin -f -R
  • Text similar to the following will be displayed on the computer:
flasher v2.5.2 (Oct 21 2009)

Image 'mmc', size 241163 kB
Version RX-51_2009SE_1.2009.41-1.VANILLA
  • The dim Nokia screen will be displayed for a few seconds followed by progression dots. Text similar to the following will be displayed on the computer:
USB device found found at bus 001, device address 006.
Found device RX-51, hardware revision 2101
NOLO version 1.4.13
Version of 'sw-release': RX-51_2009SE_1.2009.42-11.002_PR_002
Booting device into flash mode.
Suitable USB device not found, waiting.
USB device found found at bus 001, device address 007.
Raw data transfer EP found at EP2.
[writing     74 %  179200 /  241163 kB 13180 kB/s]
Image(s) flashed successfully in 26.848 s (8982 kB/s)!
  • The flash will take a minute or so, after which the device will reboot.
  • The bright Nokia screen will come up on the screen with the USB icon on the top right followed by progression dots with yellow LED blinking for a few seconds, first boot will be slow as the device would be optifying files.

Seamless Software Update

Main article: Seamless Software Update

SSU is Nokia's new method for upgrading the devices over-the-air without requiring a reflash. When Nokia pushes an update over SSU, you will see an update notification and be given the option to install the update—just like with your computer.

Generally speaking, SSU updates should be relatively pain-free, but there are a few issues to watch out for:

  • If you have an aftermarket kernel or intifs installed (like the rotation support kernel or fanoush's bootmenu) and a kernel or initfs upgrade is pushed, they will be overwritten and you'll need to wait for your kernel or the bootmenu to be updated to reinstall them.
  • If you have extensively modified the home directory for user "user", such as moved all the documents to a memory card or removing or leaving empty some of the subdirectories

If the update doesn't show up for you at all, you may have accidentally (or intentionally) uninstalled osso-software-version-rx*4, which is required to update. You can get it back by simply running an apt-get install osso-software-version-rx34, for the N800, and an apt-get install osso-software-version-rx44, for the N810. Then updating your repository list in Application manager.

If the packages that caused osso-software-version-rx*4 to be removed are still installed, they will need to be removed completely (in the case of conflicting packages). Alternatively, for packages which are simply newer than those specified by osso-software-version-rx*4, you can install osso-software-version-rx*4-unlocked, which does not have strict dependencies.

On N900 (probably also previous devices), it's possible the application manager ends up with message stating that it's required to upgrade using the Nokia PC application. In this case please check out OTA to PR1.1 troubleshooting.

You can show the list of packages that are not going to be ugraded with apt-get update && apt-get upgrade. In that case, you can try using apt-get dist-upgrade command (as root, the app manager has to be shut down) to override. This is not supported because you can break future updates.


Troubleshooting

  • If you get a "Permission denied" error then chmod +x flasher-2.0 or chmod +x flasher-3.0 to make the flasher tool executable. You may also need root permissions, run command with sudo or su to root.
  • If you need to flash your Nokia 770 with an image from 2005 then use the older flasher called "flasher" with no number in the name
  • If you get "Error claiming USB interface: Device or resource busy" error, as root, run "modprobe -r cdc_phonet"
  • If you cannot establish a connection with N900, do following steps:
    1. Turn off the device
    2. Remove the battery
    3. Start flasher and execute the command so that it says "Suitable device not found..."
    4. Plug the device to computer
    5. Insert insert battery

and see if it helps.


USB

It may help to connect directly to the computer USB ports, avoiding the use of a hub - which includes the USB ports on laptop docking stations. The USB ports in the back of a laptop may also be better than using those in the front.

Some distributions do not present the USB device in the way that it expects it. First, see if it is necessary to "mount" USB:

mount -t usbfs usbfs /proc/bus/usb

If that does not work, try patching the flasher code. This replaces the use of /proc/bus/usb with the newer /dev/bus/usb filesystem:

perl -pi -e 's-/proc/bus/usb-/dev/bus/usb\000-;' -i.backup $FLASHER

Replace $FLASHER with the path to your flasher-2.0 or flasher-3.0 Linux binary.