How to use JMS578 Firmware updater under HC1/HC2

There are two kinds of the F/W.
One is standard F/W which has supported an optical disk drive(ODD) and the other is the customized version to the Hardkernel.

# DATE F/W Base Release F/W version The F/W release note Issues
0 2019.8.14 v0.1.1.4 Standard F/W support ODD for JMS578

Download standard binary F/W file ☛ bin-16028_jms578_std_v00.04.01.04_self_power_odd_20190611.zip
You can firmware update using update tool as following the below How to use.

# DATE F/W Base Release F/W version The F/W release note Issues
0 - - vo.1.0.5 Initial release for Hardkernel 1. Can not control the HDD spin-down time
1 2017.11.1 - - - 2. The issue number 1 fixed by released jms578fwupdater utility
3. SAT(SCSI ATA Translation) not supported
2 2017.12.5 JMS578 Standard F/W v173.01.00.01 Support SAT command 4. The issue number 3 update to support SAT command
( #fstrim command support as well )
5. Not support TRIM command with some SDD
3 2019.3.7 v173.01.00.01 v173.01.00.02 1. Fix TRIM command
2. Support ATA command set - 4(ACS-4) Specification
# DATE Reference Release number Description
1 - - 1.00 Initial release.
2 2018.3.30 2.00 Add update device with enable/disable SATA hot plug function.

-b – Backup file
-d – Device path
-f – Firmware file
-nNV – Update without NVRAM. This parameter priority over than “-t”
-t – Auto spin-down timer. (Unit: minute)
-v – Show the software version or the bridge version
-u - Enable/Disable SATA Hot-swap function. (Applied Release number 2.00 of JMS578FwUpdate tool)

Download JMS578 F/W updater and upload it to your HC1, HC2 and USB3.0 to SATA Bridge Board Plus.
jms578fwupdater.tgz

root@odroid:~# ls
jms578fwupdater.tgz
root@odroid:~# tar xzf jms578fwupdater.tgz 
root@odroid:~# ls -l
total 308
drwxr-xr-x 2 root root   4096 Nov  1 05:34 jms578fwupdater
-rw-r--r-- 1 root root 309402 Nov  1 05:35 jms578fwupdater.tgz
root@odroid:~# cd jms578fwupdater
root@odroid:~/jms578fwupdater# ls -l
total 4700
-rwxr-xr-x 1 root root 4130828 Apr 19  2018 JMS578FwUpdate
-rwxr-xr-x 1 root root  519032 Nov  1  2017 JMS578FwUpdate.v1.00
-rwxr-xr-x 1 root root   50688 Mar  7 09:33 JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
-rw-r--r-- 1 root root   50688 Dec  5  2017 JMS578_Hardkernel_v173.01.00.01.bin
-rwxr-xr-x 1 root root   50688 Nov  1  2017 JMS578-v0.1.0.5.bin
root@odroid:~/jms578fwupdater#

Note: Please make sure that the device path is correct.

* Cold-boot (Power cycling HC1/HC2) is required after firmware/parameter changes.
* No Processing without HDD or SSD under HC1/HC2. You have to connect a SATA storage device for FW update.

Example 1. shows version information of software

root@odroid:~# ./JMS578FwUpdate -v
JMicron Firmware Update Tool v0.0.0.2
Copyright (C) 2018 JMicron Corp.
 
root@odroid:~# 

Example 2. Update device

If the device is updated from internal code, the tool does not backup the old firmware and a CAUTION statement is displayed.
There's no way updated from internal code in this case.
Note: This step needs root permission.

root@odroid:~# ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
Backup the ROM code sucessfully.
Programming & Compare Success!!
 
root@odroid:~#

Example 3. Update device without NVRAM

Note: This step needs root permission.

root@odroid:~# ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin -nNV
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
CAUTION: Update firmware without NVRAM.
Backup the ROM code successfully.
Programming & Compare Success!!
 
root@odroid:~#

Example 4 - Update device with setting spin-down timer

Please note that the parameter “-t” can’t work with “-nNV”.
Spin-down timer is disabled when the parameter “-t” is set to 0 (zero).
Note: This step needs root permission.

Auto Spin-Down time parameter 1 and 2 (1 and 2 minute) is not working.
The minimum is default time 3 (3 minute)

root@odroid:~# ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin -t 5
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
Auto spin-down timer: 5 min.
Backup the ROM code successfully.
Programming & Compare Success!!
 
root@odroid:~#

Example 5 - Update device with enable/disable SATA hot plug function

Please note that the parameter “-u” can't work with “-nNV”.
Enable SATA hot plug enable when the parameter “-u” is set to 0(zero), disabled when it is set to 1.
Note: This step needs root permission.

root@odroid:~# ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin -u 0
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
Disable USB attachment first.
Backup the ROM code successfully.
Programming & Compare Success!!
 
root@odroid:~#
If you want to remove your HDD using hot-swap feature, We recommend trying the command before you do that.
root@odroid:~# hdpram -y /dev/sda
root@odroid:~# echo 1 > /sys/class/block/sda/device/delete

Example 6 - Show version information of bridge chip firmware

Note: This step needs root permission.

root@odroid:~# ./JMS578FwUpdate -d /dev/sda -v
Bridge Firmware Version: v173.1.0.2
 
root@odroid:~#