Difference between revisions of "Programming Tool"
From LORIX One - Wiki
(→Multiple different programming errors occurs)
|Line 248:||Line 248:|
Change the USB cable. Take a high quality USB cable. Be sure the cable is not damaged.
Change the USB cable. Take a high qualityUSB cable. Be sure the cable is not damaged.
Latest revision as of 17:08, 14 May 2019
- 1 Setup
- 2 Device programming
- 3 Settings
- 4 About
- 5 Minimal configuration
- 6 Frequently Asked Questions
- 7 Troubleshooting
The Programming Tool is available for Windows 7, Windows 10 and Linux (minimal configuration details).
- lorix-programming-tool-1.0.6-64bit-Setup.exe (external source)
- lorix-programming-tool-1.0.6-64bit-Portable.exe (external source)
For 32 bits version click here.
Others versions and changelog
You can find older versions of the programming tool and the full changelog here : 📄 Programming Tool Versions.
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.
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.
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:
The program will automatically check for newer versions at start. You can manually check for updates in the 'about' menu.
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.
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.
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
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:
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):
Your device will then be listed in the list of available devices to program:
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:
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:
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!
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:
This log is particularly useful to diagnose programming errors. You can find a typical successful programming log here : 📄 Log.txt.
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.
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.
The "Settings" dialog can be opened with the top right (?) button of the toolbar:
Here is what the "Settings" window looks like:
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
The about dialog can be opened with the top right (i) button of the toolbar:
Here is what the "About" window looks like:
You can manually check for update using the "Check for update" button.
Under the hood
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.
- 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.
- 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.
Multiple different programming errors occurs
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
[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)
[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.
Change the USB cable. Take a high quality, shorter USB cable. Be sure the cable is not damaged.