353 firmware upgrade procedure

From ElphelWiki
Revision as of 01:35, 11 September 2008 by MoncnArolc (talk | contribs)
Jump to: navigation, search

Introduction

This program is needed to upgrade the firmware in the camera - that includes Linux kernel, drivers, applications, FPGA code and internal web pages, the data will be written to the camera flash memory so if you made any changes to the default files or added your own to the camera - they will be lost so you will have to install them again.


There is also a possibility to upgrade camera firmware while the camera is operating, the method described here does not require camera current firmware to be in operational state - it uses the network bootloader hard-wired in the camera CPU (Axis ETRAX FS processor). This bootloader is a very small program and needs special Ethernet packets to be sent over the network - this in turn requires special software on the PC and root (administrative) access to the computer. It is all much simpler when you run this program on the computer booted from the LiveDVD (with all the software preinstalled and root access granted). We would recommend do it in a simple network with just computer, switch, power supply and the camera to avoid problems of the network configuration being incompatible with the procedure and make sure the special Ethernet packets between the PC and the camera are not blocked.


The Net Flash application requires the USB flash memory stick - it is used to deliver the software archive and provide a directory shared using NFS (Network File System - similar to computer/printers sharing in other operation systems). When the camera boots over the network using special Ethernet packets it connects to this shared directory, executes upgrade script (extracted from the software archive) and overwrites required "disk" (camera internal flash memory) partitions or files. While performing these tasks camera writes to the log file on in the same directory (on that USB flash drive) and can be analysed later (it is a human-readable text file). Among other text you may see mentioning of some the "bad blocks" in the camera flash memory - it is normal for NAND flash and the software takes care of mapping them out and that does not lead to any data loss.

Firmware Upgrade Procedure

Step 1. Prepare USB flash

First you need to boot the Elphel Live DVD.

Then connect a USB thumbstick and wait for the corresponding icon to appear on the desktop. Make sure the device is writeable: Open the device by clicking on it (or right-click -> mount), then right-click on the icon again and select "Change state to read/write" in the "Actions" sub-menu of the context menu.

Step 2. Download the current software

All the current software for Elphel cameras is available for download from Elphel project page on SourceForge in the Download section, you need elphel353 package, release 7.1.1 or later. There you can download the complete source code to rebuild the camera software yourself, but if you just want to upgrade the firmware without any modification - binary archive is all what you'll need - it is a single file called image353-2.10-X.Y.Z.tar.gz , where X.Y.Z is the release number of the software (there can be actually the fourth group - image353-2.10-X.Y.Z.W.tar.gz where W is a minor release number)

Place this file on the Desktop as Netflash will be looking for it there.

You do not need to decompress the file.

Step 3. Running the Net Flash program

To start the upgrade procedure just drag the USB flash drive icon on the Net Flash icon on the desktop.

If the system detects more than a single Ethernet port you will be presented with a list can select a device. Don't worry about this choice, if it does not work simply close the window, try again and select the other device.

The program will then guide you throught the rest of the firmware upgrade.



Step 4. Preparing camera for re-flashing

Current models do not have any buttons anymore. If you have one of the latest models you can safely skip step 4 & 5.

Camera has a small push-button under the green dot on the back plastic overlay, right under the network connector. Gently (the button is really small and could be easily damaged if excessive force being applied) push that button with you finger (or fingernail at most, don't use pen tip or screwdriver! - the button trip is just 0.3mm) - you should probably be able to hear a faint clicking sound.

Apply power to the camera while pressing (and holding) that button - you need to insert network cable into the camera (or the other end to the power supply) - the yellow LED on the network connector should come up in about 2 seconds (in the normal boot, when the button is not pressed, it takes longer - some 10 seconds at least).

Step 5. Starting camera reflashing

Prepare camera for reflash - unplug network cable from camera, press and hold the green button, plug network cable and after ~2 seconds release the button. Press "Ok" for message of program "Press the button on the camera", and wait for results.

If the camera fails to boot at this stage (for example: if the camera is connected to other network interfaces or because the firmware archive is broken) program will exit by timeout after 120 seconds and no damage is done.

If the camera fails to upgrade in last stage the program will exit by timeout after 400 seconds.

If everything goes well reflashing process takes around 120 seconds.

When this process is complete, you will get a message from program "All ok. You can now safely restart the camera.