Difference between revisions of "Programming Tool"

From LORIX One - Wiki

Jump to: navigation, search
(Multiple different programming errors occurs)
(Solution)
 
Line 248: Line 248:
  
 
====Solution====
 
====Solution====
Change the USB cable. Take a high quality USB cable. Be sure the cable is not damaged.
+
Change the USB cable. Take a high quality, shorter USB cable. Be sure the cable is not damaged.

Latest revision as of 18:08, 14 May 2019

Setup

The Programming Tool is available for Windows 7, Windows 10 and Linux (minimal configuration details).

Download

Windows

For 32 bits version click here.

Linux

Others versions and changelog

You can find older versions of the programming tool and the full changelog here : 📄 Programming Tool Versions.

Install

Windows

You have the choice of either the Setup version who will install the application or the Portable version.

During the setup, you can either install the application for all user or for yourself only. If installing for all users, you need administrative privileges.

Linux

The downloaded .AppImage file is an executable application. You may be asked to install the software automatically on some systems.

You may need to set the application as executable before you can start it.

Programming-Tool Executable.png

Or run the following in a Terminal:

sudo chmod +x /path/to/programming-tool/lorix-programming-tool-1.0.2.AppImage

The application must be run with elevated privileges to access the USB peripherals. If not, you will get a permanent warning at the top of the application. To start the application with administrative privileges, open a Terminal and run:

sudo /path/to/programming-tool/lorix-programming-tool-1.0.2.AppImage

Update

The program will automatically check for newer versions at start. You can manually check for updates in the 'about' menu.

Device programming

Overview

The programming tool has two main sections:

  • The first, called "Archive" allows you to load the archive of the image you want to program on the device and check the content of this archive.
  • The second, called "Devices programming" allows you to see devices available for programming and program them with the loaded archive.


Programming-Tool Overview.png

Download an archive (*.wimg)

You can find the latest LORIX images at the following location : https://www.lorixone.io/yocto/images/2.1.2/nand/.

The LORIX is available in two version, one with 256MB or memory and one with 512MB of memory. To know which one you have, please look a the 📄 Versions page.

The, download the image corresponding to your device model :

  • 256MB => lorix-one_nand_256-XXX.wimg
  • 512MB => lorix-one_nand_512-XXX.wimg

Load an archive

To load an archive, you can either drop the wimg image into the dotted blue zone or chose on with the "Choose archive" button.


Programming-Tool Load-archive.png

The Programming Tool will then extract the images from the archive, read the included metadata and validate that the images are valid regarding the metadata description.

The archive will be extracted in the operating system temp folders. In Windows, the path is : %TMP%\wifx\lorix\programming-tool\archives.

Once loaded, you can check the archive content with the "Check" step. It will show you three section :


  • Archive information
  • List of supported products of this archive
  • Partitions details


Programming-Tool Archive-Check.png
If the archive has anything wrong, you will get informed with a warning message.

You may check that the loaded image supported the product you want to program by expanding the "Supported products" section:


Programming-Tool Archive-Check-Products.png

If everything is fine, you can go on with connecting your device.

The Programming Tool will not check that the image supports the product you try to program. Please be sure you use a correct archive otherwise the device will not be functioning.

Connect your device

To program the device, you need to connect it to your computer with the USB cable and power the device with the PoE (Ethernet) cable.

Once the device connected, you need to put it into programming mode.

Entering programming mode

To enter programming mode, you need to remove any SD card inserted into the device and to be connected to a PC through the USB cable.

To enter programming mode, you have to press shortly 2 times on the reset button and then keep pressed a third time for at least 3 seconds (until the status LED flashes again):


programmation mode image.png


Your device will then be listed in the list of available devices to program:


Programming-Tool Devices-Single.png

If you cannot enter programming mode, please read the 📄 Operating modes and reset page for additional details.

Program the device

You can connect multiple devices if you want to program them simultaneously. In the device list, check only the devices you want to program.

By default, the programming tool is configured to verify the written partition. We recommend to always keep this option turned on. Verification takes about 40% of the total programming time.

When programming the device with the Programming Tool, all existent data and configuration will be erased and overwritten with the new image. This means that all your current data and configuration will be definitely lost.


When ready, press the "Program" button. The device(s) programming will start:


Programming-Tool Devices-Programming.png

The devices list will show you an approximate progression of the programming process for each device through the progression bar and the numeric percentage in the "Status" column".

When programming of a device is finished, the status column of the device is updated with a check mark:

Programming-Tool Devices-Programmed.png

If you want to keep the log, please export it manually before disconnecting or resetting the device.

You can safely disconnect the device or reset it. Congratulation, your device is now ready with the new firmware! 

Programming log

To see the details of the programming process, you can expand the "Programming logs" panel. You'll find a tab for each device of the list with his respective log:

Programming-Tool Devices-Programming-Log.png
 
Programming-Tool Devices-Programmed-Log.png

This log is particularly useful to diagnose programming errors. You can find a typical successful programming log here : 📄 Log.txt.

Programming error

In case of failure, you will get an error message popping from the bottom of the application and the corresponding device status will show an error icon. To diagnose the error, please refer to the device programming log.

Programming-Tool Devices Programming Error.png

Auto programming

If you need to program a large number of devices, you may be interested in enabling the "Auto program" feature. When enabled, all new connected devices detected will be automatically programmed with the loaded archive without asking confirmation to the user.

Settings

The "Settings" dialog can be opened with the top right (?) button of the toolbar:

Programming-Tool Toolbar.png

Here is what the "Settings" window looks like:

Programming-Tool Settings.png

Updates

Channel

When checking for updates, the Programming Tool will use the configured channel.

  • Stable : update with the latest stable release. These releases have been officially tested and validated.
  • Next : update with the bleeding edge release. These releases may have additional features that have not yet been tested. You may experience usage difficulties and you should not expect theses version to work without problems.
If asked by Wifx support, you may also specify other update channels directly in the settings.yml file. If you do so, please do not change settings within the application otherwise it will be overridden.

Check on start

When enabled, the program will check for updates online when started.

Settings storage location

Your personal settings are stored on your personal folder of your computer:

  • Windows: %APPDATA%\lorix-programming-tool\settings.yml
  • Linux: TBD

About

The about dialog can be opened with the top right (i) button of the toolbar:

Programming-Tool Toolbar.png

Here is what the "About" window looks like:

Programming-Tool About.png

Update

You can manually check for update using the "Check for update" button.

Under the hood

The Programming Tool has been built with Electron and Angular frameworks.

ATMEL SAM-BA Command Line Tool is used by the Programming Tool. The SAM-BA application is delivered within the Programming Tool and is part of the application resources. It should be possible to replace the SAM-BA version of the resources with another one if the CLI API is respected. The resources are located in the Programming Tool installation directory.

You'll find in the local installation directory a file named DISCLAIMER.txt listing all the licenses of external software included in the Programming Tool.

Minimal configuration

Operation System

  • Windows 7 and Windows 10 (32 or 64 bits)
  • Linux (64 bits)
    • Ubuntu 12.04 and later
    • Fedora 21 and later
    • Debian 8 and later

The programming tool is not available on Mac OS.

Hardware

  • Intel Pentium 4 processor
  • 512 MB of RAM
  • Screen resolution of 1024x768 pixels

Frequently Asked Questions

Download and software choice

Should I use the 32 bit or 64 bit version of the software (Windows) ?

If you have a 64 bit system, use the 64 bit version. Otherwise go for the 32 bit version.

To know if you have a 32 or 64 bit system, open "About your PC" (use search) and look for "System type"

Should I use the Portable or the Setup download (Windows) ?

The Portable version will not be installed on your system, it will just run from the file where it's located. The Setup is an installer who will copy the application files on your system.

Choice of which to use is totally up to you. We recommend installing it with the Setup if you plan to use it on a regular basis. If you use it just once, use the Portable version.

The only difference in feature is that the installed version has fully automated auto update.

There are multiple versions of the software available to download, which one should I take ?

Do not use version containing "alpha", "beta" nor "rc" in the name unless you have a precise reason to do so.

Then, always take the highest version. First numbers (left) have predominance over last numbers (right). E.g. 1.1.0 is higher than 1.0.26.

Troubleshooting

Multiple different programming errors occurs

Problem

Programming fails systematically with errors at different places each time. The log shows that these errors systematically occurs during a 'verify' step. This can be diagnosed through the following or similar messages in the programming log :

[ERROR] 13. 5. 2019 16:17:35: Error: Command 'verify:rootfs.ubi:8388608': Failed verification. First error at offset 0x01509000

or

[ERROR] 13. 5. 2019 16:08:18: Error: Command 'verify:zImage:2097152': Could not read pages at address 0x00219000 (applet returned success but did not return enough data)

or

[ERROR] 13. 5. 2019 16:17:35: Could not verify image 'XXXXX' at address 0x800000 : status=4294967295

This generally means that a write error occurred and the error is detected during the verification step. The write errors are generally due to a bad quality or damaged USB cable.


Note : if you disable the 'Verify' option for programming, the Programming Tool will report a successful programming but the gateway will most likely malfunction.

Solution

Change the USB cable. Take a high quality, shorter USB cable. Be sure the cable is not damaged.