Documentation/Maemo Flasher-3.5 Tutorial/Usage

 
(3 intermediate revisions not shown)
Line 1: Line 1:
-
 
+
#REDIRECT [[Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_Flasher-3.5#Usage]]
-
= Usage =
+
-
 
+
-
The Maemo Flasher-3.5 tool is a command line utility that supports N900 device with Fremantle 5.x platform releases and N800, N810 and N810 WiMAX Edition devices with Maemo Diablo 4.1.x platform releases.
+
-
 
+
-
{|
+
-
|-
+
-
| [[Image:dialog-information.png]]
+
-
| '''Note:'''  Older Maemo devices (like Nokia 770) and older Maemo platform releases may require a specific Flasher tool from [http://tablets-dev.nokia.com/d3.php Maemo Flasher tool archive].
+
-
|}
+
-
 
+
-
Maemo Flasher-3.5 tool is run from a Linux, Windows or Mac OS X host computer as a command line tool, and it sends data and commands to the connected Maemo device via USB.
+
-
 
+
-
Among other purposes, Maemo Flasher-3.5 tool can be used to:
+
-
 
+
-
* flash a Maemo device with a Diablo or Fremantle FIASCO image
+
-
* flash a Maemo device (N900 only) internal memory card with an eMMC image
+
-
* unpack a FIASCO image into separate parts like kernel and rootfs images
+
-
* flash unpacked kernel or rootfs images to the Maemo device separately
+
-
* change a Maemo device to R&D mode and back to normal mode
+
-
* set and clear R&D flags for a Maemo device when in R&D mode
+
-
* boot a Maemo device with additional kernel startup parameters
+
-
 
+
-
All command line parameters supported by Maemo Flasher-3.5 tool together with some basic usage examples are documented in the <span><font face="monospace">Help.txt</font></span> file available as part of the tool installation package. Maemo Flasher-3.5 tool binary gives command line help if it is run without any parameter or with <code>--set-rd-flags</code> or <code>--clear-rd-flags</code> parameters.
+
-
 
+
-
= Setting Maemo device to flashing mode =
+
-
 
+
-
Before flashing a Maemo device with a FIASCO image, it is recommended to firstly set the Maemo device into flashing mode. When you attempt to flash the Maemo device, it tries to enable flashing mode on the fly, in which case setting the device to flashing mode explicitly is not required, but there have been reports that with some host PCs this does not work, see chapters [localhost#sec:flasher-3-5-tips-and-troubleshooting [[Image:crossref.png|[*]]]] and [localhost#sec:flasher-3-5-known-issues [[Image:crossref.png|[*]]]].
+
-
 
+
-
For Nokia N800 and N810 with a Diablo image, flashing mode can be enabled by following these steps:
+
-
 
+
-
# Switch off the Maemo device (and do not use a charger).
+
-
# Attach a USB cable to the Maemo device and computer.
+
-
# Switch on the Maemo device while holding down the '''Home''' (N800) or '''Swap''' (N810) hardware button.
+
-
 
+
-
For Nokia N900 with a Fremantle image, flashing mode can be enabled by following these steps:
+
-
 
+
-
# Switch off the Maemo device.
+
-
# Press and hold down the <span><font face="monospace">'u'</font></span> key.
+
-
# Connect a USB cable between the Maemo device and host PC while holding down the <span><font face="monospace">'u'</font></span> key.
+
-
# When the USB cable is connected, it powers the Maemo device and sets it to flashing mode.
+
-
# When the USB icon appears in the upper right-hand corner, the Maemo device is in flashing mode.
+
-
# Release the <span><font face="monospace">'u'</font></span> key.
+
-
 
+
-
If performed correctly, the USB image is visible in the upper right-hand corner of the screen.
+
-
 
+
-
The Maemo device waits indefinitely for Flasher-3.5 input when it is in flashing mode. If flashing is tried without first setting the Maemo device to flashing mode, image flashing may fail if the Maemo device is not able to change to the flashing mode automatically.
+
-
 
+
-
{|
+
-
|-
+
-
| [[Image:dialog-information.png]]
+
-
| '''Note:'''  Make sure that the device battery is fully charged before doing any sort of flashing operation because flashing fails if the battery runs out of power during the image flashing operation, and the device may not be able to charge an empty battery after a failure in flashing.
+
-
|}
+
-
 
+
-
= Command line options =
+
-
 
+
-
'''SYNOPSIS'''
+
-
 
+
-
Usage: <code>flasher-3.5 [OPTIONS]</code>
+
-
 
+
-
'''OPTIONS'''
+
-
 
+
-
;
+
-
: <code>-F, --fiasco=ARG</code> : Location of a FIASCO image
+
-
;
+
-
: <code>-k, --kernel=ARG</code> : Location of kernel image
+
-
;
+
-
: <code>-n, --initfs=ARG</code> : Location of initfs image
+
-
;
+
-
: <code>-r, --rootfs=ARG</code> : Location of root JFFS2 image
+
-
;
+
-
: <code>--cmt-2nd=ARG</code> : Location of CMT FIASCO 2nd image
+
-
;
+
-
: <code>--cmt-algo=ARG</code> : ocation of CMT FIASCO algorithm image
+
-
;
+
-
: <code>--cmt-mcusw=ARG</code> : Location of CMT FIASCO MCUSW image
+
-
;
+
-
: <code>--cmt-no-verify</code> : Disable verification of CMT programming
+
-
;
+
-
: <code>-x, --xloader=ARG</code> : Location of X-Loader image
+
-
;
+
-
: <code>-s, --secondary=ARG</code> : Location of NOLO secondary bootloader image
+
-
;
+
-
: <code>-2, --2nd=ARG</code> : Location of NOLO cold flasher ("2nd") image
+
-
;
+
-
: <code>-u, --unpack[=ARG]</code> : Unpack a FIASCO image
+
-
;
+
-
: <code>-f, --flash</code> : Load and flash all supplied images
+
-
;
+
-
: <code>-l, --load</code> : Only load all supplied images
+
-
;
+
-
: <code>-b, --boot[=ARG]</code> : Boot the kernel with optional cmdline
+
-
;
+
-
: <code>-R, --reboot</code> : Reboot the board (e.g. after flashing NOLO)
+
-
;
+
-
: <code>-i, --read-device-id</code> : rint out the device type
+
-
;
+
-
: <code>-S, --serial-port=ARG</code> : Serial port used for cold flashing or "usb"
+
-
;
+
-
: <code>-I, --init-port</code> : Only initialize the serial port
+
-
;
+
-
: <code>-c, --cold-flash</code> : Cold flash the device
+
-
;
+
-
: <code>-h, --hw-revision=ARG</code> : Specify product code and hardware revision
+
-
;
+
-
: <code>--enable-rd-mode</code> : Enable R&amp;D mode on the device
+
-
;
+
-
: <code>--disable-rd-mode</code> : Disable R&amp;D mode on the device
+
-
;
+
-
: <code>--set-rd-flags[=ARG]</code> : Set R&amp;D mode flags on the device
+
-
;
+
-
: <code>--clear-rd-flags[=ARG]</code> : Clear R&amp;D mode flags on the device
+
-
;
+
-
: <code>--query-rd-mode</code> : Query the device R&amp;D mode status and flags
+
-
;
+
-
: <code>--set-hw-revision[=ARG]</code> : Set hardware revision override on device
+
-
;
+
-
: <code>--flash-only=ARG</code> : Flash only certain components
+
-
;
+
-
: <code>-U, --usb-device=ARG</code> : Specify USB device to use (bus:device address)
+
-
 
+
-
Valid <code>--flash-only</code> options: <code>nolo</code>, <code>kernel</code>, <code>initfs</code> and <code>rootfs</code>.
+
-
 
+
-
Valid <code>--set-rd-flags</code> and <code>--clear-rd-flags</code> options: <code>no-omap-wd</code>, <code>no-ext-wd</code>, <code>no-lifeguard-reset</code>, <code>serial-console</code>, <code>no-usb-timeout</code>, <code>sti-console</code>, <code>no-charging</code> and <code>force-power-key</code>.
+
-
 
+
-
= Usage examples =
+
-
 
+
-
'''To get a list of supported command line options''', run:
+
-
 
+
-
<code>$ flasher-3.5</code>
+
-
  <code>$ flasher-3.5 --set-rd-flags</code>
+
-
 
+
-
If you wish to perform commands other than image flashing, then omit the <code>-R</code> option as rebooting the Maemo device may reset the given configuration change back to normal.
+
-
 
+
-
'''To enable R&amp;D mode''' for Maemo device, run:
+
-
 
+
-
<code>$ flasher-3.5 --enable-rd-mode</code>
+
-
 
+
-
'''To warm flash an image''' to the Maemo device, run:
+
-
 
+
-
<code>$ flasher-3.5 -F &lt;FIASCO image&gt; -f -R</code>
+
-
 
+
-
Replace &lt;FIASCO image&gt; with the the firmware image you downloaded from Nokia. This flashes a FIASCO image to your Maemo device and reboots the device after it is completed (at which point you can unplug the USB). The procedure is the same for all other image flashing components (for example, separate kernel, rootfs and eMMC images), see the option list for details.
+
-
 
+
-
'''To print out Maemo device product code and product hardware revision''', run:
+
-
 
+
-
<code>$ flasher-3.5 -i</code>
+
-
 
+
-
'''To cold flash''' (needed usually when the bootloader has been changed), run:
+
-
 
+
-
<code>$ flasher-3.5 -c -h RX-51:&lt;hw id&gt; -F &lt;FIASCO image&gt; -f -R</code>
+
-
 
+
-
The code <code>RX-51</code> used in the example is the product code for the N900 device. The <code>&lt;hw id&gt;</code> is the product hardware revision, which is a 4-digit code. Both product code and hardware revision can be found from the type label of the device to be flashed. The type label is on the back of the device, underneath the battery.
+
-
 
+
-
'''To flash a kernel''' with separate kernel image, run:
+
-
 
+
-
<code>$ flasher-3.5 -k &lt;kernel image&gt; -f -R</code>
+
-
 
+
-
'''To flash just a part of the whole FIASCO image''' (for example, only rootfs), run:
+
-
 
+
-
<code>$ flasher-3.5 -F &lt;FIASCO image&gt; --flash-only=rootfs -R</code>
+
-
 
+
-
This flashes only the rootfs from the &lt;FIASCO image&gt; and reboot the device.
+
-
 
+
-
'''To access to the individual parts of the FIASCO image''', run:
+
-
 
+
-
<code>$ flasher-3.5 -F &lt;FIASCO image&gt; -u</code>
+
-
 
+
-
which expands &lt;FIASCO image&gt; to your current directory.
+
-
 
+
-
= Tips and Troubleshooting =
+
-
 
+
-
* If you get a "Permission denied" error, then make sure you have execution rights to the Flasher-3.5 binary executable.
+
-
* You need to have administrator rights or run command with sudo in Linux if you get errors like this: <span><font face="monospace">Error claiming USB interface: Operation not permitted</font></span>
+
-
* It may help to connect the USB cable directly to the computer USB ports, avoiding the use of a hub. Using the USB ports in the back of a computer can also work better than using those in the front.
+
-
* Flash always the FIASCO image first and after that the latest available eMMC image, if needed. The eMMC image does not need to be flashed every time when a new FIASCO image is flashed. Flashing the eMMC image also overwrites all data from the internal memory card.
+
-
* If warm flashing fails, try to switch off the power from the Maemo device, remove the USB cable and try again from the beginning.
+
-
* If cold flashing fails, try to warm flash the Maemo device first using the same FIASCO image. After that try cold flashing again.
+
-
* If Maemo Flasher-3.5 is not supported on your operating system you can try to install Maemo SDK Virtual Image from [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Maemo Development Environment Downloads] page and flash Maemo device from Virtual Image (which includes Ubuntu). This may or may not work for you depending on how well virtualization technology you use supports USB on your hardware.
+
-
 
+
-
= Known issues =
+
-
 
+
-
This is a list of known issues found from Maemo Flasher-3.5 final release.
+
-
 
+
-
* Maemo Flasher-3.5 does not work with 64-bit operating systems. Workaround is to install Maemo SDK Virtual Image and run Maemo Flasher-3.5 from image.
+
-
* Maemo Flasher-3.5 does not work with Mandriva 2010 distro because Flasher-3.5 is not able to locate the correct USB address and timeouts. Workaround is to install Maemo SDK Virtual Image and run Maemo Flasher-3.5 from image.
+
-
* On Windows host PC if Nokia PC Suite has been installed to the environment once Windows has started also PC Suite starts running. If Nokia PC Suite is running when N900 is plugged in to the PC with USB cable and with the <span><font face="monospace">'u'</font></span> key held down, Nokia PC Suite gives an error message and Flasher-3.5 does not see the device. Workaround is to exit Nokia PC Suite before plugging in N900 with USB cable and starting Flasher-3.5.
+

Latest revision as of 08:20, 29 June 2010

  1. REDIRECT Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_Flasher-3.5#Usage