Difference between revisions of "Firmware Upgrade"

From IPLOG
Jump to: navigation, search
Line 9: Line 9:
 
'''Recovery image''' - This part is read only and used to restore the system in the event of a main firmware fatal error of parts Firmware Image 1 and 2.
 
'''Recovery image''' - This part is read only and used to restore the system in the event of a main firmware fatal error of parts Firmware Image 1 and 2.
  
'''Firmware Image 1 and 2''' - This two parts contains the main firmware. One is marked as "current", this firmare is running right now. When Firmware Upgrade starts the new Firmware Image is written to the second Image part which is not running. Due to this feature can not damage the firmware that works properly. After successful upload is marked the new one, the next startup will boot of it.  
+
'''Firmware Image 1 and 2''' - This two parts contains the main firmware images. One is marked as "current", this firmare is running right now. When Firmware Upgrade starts the new Firmware Image is written to the second Image part which is not running. Due to this feature can not damage the firmware that works properly. After successful upload is marked the new one, the next startup will boot of it.  
  
 
{{NotePre
 
{{NotePre
Line 36: Line 36:
  
  
= 1. Copy Firmware Image to IPLOG-GAMA =
+
= Source of New Firmware Image =
  
== a) Remote Data Storage ==
+
== 1. Remote Data Storage ==
  
=== Windows ===
+
=== a) Windows ===
  
 
To copy files between IPLOG-GAMA(Linux) and Windows there is a need third-party tool. Is possible use for example [https://winscp.net/eng/index.php WinSCP].  
 
To copy files between IPLOG-GAMA(Linux) and Windows there is a need third-party tool. Is possible use for example [https://winscp.net/eng/index.php WinSCP].  
Line 51: Line 51:
 
'''Host name''' - IP address of IPLOG-GAMA, the default IP address is on the housing.
 
'''Host name''' - IP address of IPLOG-GAMA, the default IP address is on the housing.
  
'''User name''' - Default user name is '''root'''.
+
'''User name''' - Default user name is '''root''' and no password.
  
 
[[File:WinSCPConnection.png|300px]]  
 
[[File:WinSCPConnection.png|300px]]  
Line 65: Line 65:
 
==== Upload firmware image file (.tar) ====
 
==== Upload firmware image file (.tar) ====
  
Select file to upload to the IPLOG-GAMA and hit the '''F5''' button to start upload.  
+
Select source file to upload to the IPLOG-GAMA and hit the '''F5''' button to start upload. As a target location use for example '''/tmp/''' folder.  
  
 
[[File:WinSCPUploadFile.png|300px]]
 
[[File:WinSCPUploadFile.png|300px]]
  
  
WinSCP starts image uploading
+
WinSCP starts image uploading.
  
 
[[File:WinSCPCopiing.png|300px]]  
 
[[File:WinSCPCopiing.png|300px]]  
Line 78: Line 78:
  
  
=== Linux ===
+
=== b) Linux ===
 
'''SCP or secure copy''' allows secure transferring of files between a local host and a remote host or between two remote hosts.
 
'''SCP or secure copy''' allows secure transferring of files between a local host and a remote host or between two remote hosts.
  
Line 89: Line 89:
  
  
== b) Via Local USB ==
+
 
 +
== 2. Mount the Local USB ==
 
For USB is not direct command how to copy files of USB to IPLOG-GAMA unit, therefore the USB must be "mounted" to some directory at the beginning.
 
For USB is not direct command how to copy files of USB to IPLOG-GAMA unit, therefore the USB must be "mounted" to some directory at the beginning.
 
   
 
   
Line 139: Line 140:
 
{{NotePre
 
{{NotePre
 
|text=root@iplog:~# ls /mnt/usb/
 
|text=root@iplog:~# ls /mnt/usb/
 +
}}
 +
 +
 +
 +
== 3. Run Firmware Upgrade ==
 +
 +
Basic command to run the firmware upgrade.
 +
{{NotePre
 +
|text=root@iplog:~# metel-firmware
 +
}}
 +
 +
 +
Runs the firmware upgrade of "Remote Data Storage" examples
 +
{{NotePre
 +
|text=root@iplog:~# metel-firmware /tmp/12.0.8958.tar
 +
}}
 +
 +
Runs the firmware upgrade of "Mount the Local USB" example
 +
{{NotePre
 +
|text=root@iplog:~# metel-firmware /mnt/usb/12.0.8958.tar
 +
}}
 +
 +
 +
Print of process firmware upgrading.
 +
{{NotePre
 +
|text=
 +
FIRMWARE IMAGE
 +
==============
 +
filename:        /mnt/usb/12.0.8958.tar
 +
type:            2
 +
execute:        metel-firmware
 +
executing:  /tmp/metel-firmware --skip-tar-script /mnt/usb/12.0.8958.tar
 +
 +
FIRMWARE IMAGE
 +
==============
 +
filename:        /mnt/usb/12.0.8958.tar
 +
type:            2
 +
execute:        skip
 +
 +
EEPROM
 +
======
 +
.
 +
.
 +
.
 +
.
 +
.
 +
PARTITION
 +
=========
 +
total:          2
 +
current:        3
 +
partition 3:    valid
 +
partition 4:    invalid
 +
upgrade:        4
 +
 +
UPGRADE
 +
=======
 +
partition 4 has been initialized
 +
firmware has been extracted
 +
writing dtb /tmp/iplog-g2_27042017_A0_io-uart_if-uarten.dtb
 +
writing dtb /tmp/iplog-g2_27042017_A0_io-none_if-none.dtb
 +
writing kernel /tmp/zImage
 +
writing rootfs /tmp/rootfs.ubi
 +
valid boot header to partition 4 has been added
 +
invalid boot header to partition 3 has been added
 +
=== UPGRADE DONE ===
 +
}}
 +
 +
After firmware upgrade restart the device by command "reboot"
 +
{{NotePre
 +
|text=root@iplog:~# reboot
 +
}}
 +
 +
 +
Check the successful firmware upgrade.
 +
The new firmware was uploaded to not runnig firmware image possition and after device reboot used as '''current''' (running).
 +
{{NotePre
 +
|text=root@iplog:~# metel-firmware-version
 +
FIRMWARE
 +
========
 +
image:  recovery
 +
version: 2.0.8811
 +
 +
FIRMWARE
 +
========
 +
image:  image 1
 +
version: 12.0.8824
 +
 +
FIRMWARE
 +
========
 +
image:  image 2 (current)
 +
version: 12.0.8958.tar
 
}}
 
}}

Revision as of 08:37, 10 January 2019

Under Construction!

In this document, we will focus on the Firmware Upgrade

About Firmware

Firmware on IPLOG-GAMA is divided to three parts.

Recovery image - This part is read only and used to restore the system in the event of a main firmware fatal error of parts Firmware Image 1 and 2.

Firmware Image 1 and 2 - This two parts contains the main firmware images. One is marked as "current", this firmare is running right now. When Firmware Upgrade starts the new Firmware Image is written to the second Image part which is not running. Due to this feature can not damage the firmware that works properly. After successful upload is marked the new one, the next startup will boot of it.

root@buildroot:~# metel-firmware-version

Shows the current version of Recovery and Firmware images.

root@buildroot:~# root@iplog:~# metel-firmware-version
FIRMWARE
========
image:   recovery
version: 2.0.8811

FIRMWARE
========
image:   image 1 (current)   //"current" label informs about right now running firmware
version: 12.0.8824

FIRMWARE
========
image:   image 2
version: 12.0.8811


Source of New Firmware Image

1. Remote Data Storage

a) Windows

To copy files between IPLOG-GAMA(Linux) and Windows there is a need third-party tool. Is possible use for example WinSCP.

  • Download, Install and Open the WinSCP.


Connection Configuration

Host name - IP address of IPLOG-GAMA, the default IP address is on the housing.

User name - Default user name is root and no password.

WinSCPConnection.png


Connection Warning

For every new connection is there Warning message if you trust the remote device. Confirm by hit the YES or No and this new session will not be saved.

WinSCPConnectionWarning.png


Upload firmware image file (.tar)

Select source file to upload to the IPLOG-GAMA and hit the F5 button to start upload. As a target location use for example /tmp/ folder.

WinSCPUploadFile.png


WinSCP starts image uploading.

WinSCPCopiing.png


After successful upload close the WinSCP session.


b) Linux

SCP or secure copy allows secure transferring of files between a local host and a remote host or between two remote hosts.

Example:

root@iplog:~# scp root@192.168.6.61:/home/user/12.0.8958.tar /tmp/

Command scp copy file 12.0.8958.tar of /home/user/ folder on remote pc root(user)@192.168.6.61(ip address) to local folder /tmp/ on IPLOG-GAMA.


2. Mount the Local USB

For USB is not direct command how to copy files of USB to IPLOG-GAMA unit, therefore the USB must be "mounted" to some directory at the beginning.

Create a new folder(usb) to /mnt/ directory by command mkdir.

root@iplog:~# root@iplog:~# mkdir /mnt/usb/


Use the dmesg command which typically contains the messages produced by the device drivers.

root@iplog:~# dmesg

That prints the message buffer to screen. USB name is typically a sda1.

.
.
usb 1-2: new high-speed USB device number 3 using atmel-ehci
usb 1-2: New USB device found, idVendor=090c, idProduct=1000
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2: Product: USB DISK
usb 1-2: Manufacturer: SMI Corporation
usb 1-2: SerialNumber: AA04012700014703
usb-storage 1-2:1.0: USB Mass Storage device detected
scsi host0: usb-storage 1-2:1.0
scsi 0:0:0:0: Direct-Access     USB2.0   FlashDisk        1100 PQ: 0 ANSI: 0 CCS
sd 0:0:0:0: [sda] 1974272 512-byte logical blocks: (1.01 GB/964 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
sd 0:0:0:0: [sda] No Caching mode page found
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
.
.


Mount the USB (sda1) to /mnt/usb directory

root@iplog:~# mount /dev/sda1 /mnt/usb/

Shows the mnt/usb/ folder content.

root@iplog:~# ls /mnt/usb/


3. Run Firmware Upgrade

Basic command to run the firmware upgrade.

root@iplog:~# metel-firmware


Runs the firmware upgrade of "Remote Data Storage" examples

root@iplog:~# metel-firmware /tmp/12.0.8958.tar

Runs the firmware upgrade of "Mount the Local USB" example

root@iplog:~# metel-firmware /mnt/usb/12.0.8958.tar


Print of process firmware upgrading.

FIRMWARE IMAGE
==============
filename:        /mnt/usb/12.0.8958.tar
type:            2
execute:         metel-firmware
executing:   /tmp/metel-firmware --skip-tar-script /mnt/usb/12.0.8958.tar

FIRMWARE IMAGE
==============
filename:        /mnt/usb/12.0.8958.tar
type:            2
execute:         skip

EEPROM
======
.
.
.
.
.
PARTITION
=========
total:           2
current:         3
partition 3:     valid
partition 4:     invalid
upgrade:         4

UPGRADE
=======
partition 4 has been initialized
firmware has been extracted
writing dtb /tmp/iplog-g2_27042017_A0_io-uart_if-uarten.dtb
writing dtb /tmp/iplog-g2_27042017_A0_io-none_if-none.dtb
writing kernel /tmp/zImage
writing rootfs /tmp/rootfs.ubi
valid boot header to partition 4 has been added
invalid boot header to partition 3 has been added
=== UPGRADE DONE ===

After firmware upgrade restart the device by command "reboot"

root@iplog:~# reboot


Check the successful firmware upgrade. The new firmware was uploaded to not runnig firmware image possition and after device reboot used as current (running).

root@iplog:~# metel-firmware-version
FIRMWARE
========
image:   recovery
version: 2.0.8811

FIRMWARE
========
image:   image 1
version: 12.0.8824

FIRMWARE
========
image:   image 2 (current)
version: 12.0.8958.tar