Updating the firmware/Cold Flashing

Cold flashing

If the bootloader is deleted/destroyed with dd (nandtest, nandwrite or flash_erase), then it is possible to recover it with a cold flash.

First check if bootloader is really destroyed or not. Run this command and connect device via USB:

flasher-3.5 -i

If bootloader was not destroyed, above command should detect your device (print usb id, device type, sw release ver, ...). Then do *NOT* use cold flash method, rather continue on Updating_the_firmware.

Also see http://wiki.maemo.org/User:Joerg_rw/PC_syslog_of_USB_enum

If bootloader is really destroyed you need to know device code and HW revision. Nokia N900 has device code RX-51 and most common HW revision is 2101.

For cold flashing you need COMBINED fiasco image.Then you need to call: flasher-3.5 -h <device>:<hwrev> -F <fiasco> -c -S usb

Run the following command for Nokia N900 with 2101 hardware revision:

flasher-3.5 -h RX-51:2101 -F RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin -c -S usb

You will see output similar to this:

flasher v2.5.2 (Oct 21 2009)

Using serial port usb
Suitable USB device not found, waiting.
USB device found found at bus 005, device address 004.
Waiting for ASIC id...
Got 69 bytes.
ASIC ID:
05 01 05 01 34 30 07 57  13 02 01 00 12 15 01 3f
8f 41 14 07 41 48 49 d9  b5 94 4b 98 89 00 fb df
40 a2 89 14 15 01 87 3b  4d cd ca f5 44 4d 24 ec
b2 ac 95 53 88 41 4f ab  cd 66 15 09 01 f7 48 8f
28 a0 27 e5 b3
Sending 2nd image (14720 bytes)... done.
Sending ping... timeout!
failed.
Sending ping... pong.
Sending secondary (109440 bytes)... done.

This should boot up the N900 with a temporary bootloader, proceed to flash the device with the following command:

flasher-3.5 -F image.bin --flash-only=nolo -f

Thanks to jacekowski for the above explanation.