CloudShell2 JSM561 USB to SATA Bridge Firmware Upgrade Guide


(You can see the current Firmware version using JMS561FwUpdate command tool)

# DATE F/W Base Release F/W version
(Using tool RAID Manager)
The F/W release note Issues
0 2016.9.19 JMS561 Standard F/W JMS561b_v8.0.3.7
(N/A)
1. SATA device error and disconnect, when requesting
the S.M.A.R.T information.(Especially with the option “-l devstat” on the second disk)
2. No Raid manager tool for JMS56X controller console version.
1 2017.6.16 JMS561 Standard F/W v158.001.000.001
(V9E.01.00.01)
1. First release
2. Support USB BOT mode only
3. Support JMS561 RAID AP under Linux O/S
3. Not support USB Attached SCSI(UAS)
2 2017.7.28 v158.001.000.001 v158.001.000.002
(V9E.01.00.01)
1. SMART log display base on WD My Book Duo
JMS561 behavior.
3. Not support USB Attached SCSI(UAS)
4. smartctl command getting the same serial number and same smart
information even if two SATA devices plug on JMS561.
3 2017.8.3 v158.001.000.002 v158.001.000.003
(V9E.01.00.01)
1. Fix S.M.A.R.T log display issue @ JMS561 SATA Port 1 3. Not support USB Attached SCSI(UAS)
4. smartctl command getting the same serial number and same smart
information even if two SATA devices plug on JMS561.
4 2017.9.6 v158.001.000.003 v158.001.000.004
(V9E.01.00.04)
1. Support USB UAS Mode 5. The issue number 1 cannot fix.
Jmicron said that there is UAS(USB3.0 host driver) issue of both OS
Linux and Windows.
6. The issue number 4 cannot fix. Jmicron said it's H/W limitations(JMS561 is RAID manager chip).

I quoted written by lsc117 from odroid forum. And modified it slightly.
It runs under Windows system only at the moment.
but, We are going to get it Linux version(ARM platform) from Jmicron.

0. Pull out the 30pin ribbon cable where connected between XU4 and Cloudshell2 board.
It cut the power on XU4.

1. Connect your HDDs to Cloudshell2 first.

2. Connect a power cable to Cloudshell2.

3. Connect your CloudShell2 to a Windows PC via USB cables ( a longer micro USB 2.0 could be fine like this picture)

4. Download the writing utility for windows and extract it.
Direct link : https://dn.odroid.com/cs2/JMMassProd2_v1_16_14_34.zip

5. Download JSM561_FWs.zip into the same utility directory and extract it.
jsm561_fws.zip

6. Run JMMassProd2_v1_16_14_1.exe file.

7. Load the Cloudshell2.ini file.

If you see Error message “Unable to find the test file : test.bin”,
You just ignore it.

8. Check RD Version with a password.(password : jmicron)

9. Check “Firmware Update” and Click “Load F/W file” and then select f/w .bin file you want.

Check it the above revision history first.
The version is v158.001.000.004 the latest we strongly recommend.

10. Push Start button.
You can see the progress and then “Pass” displayed in a few seconds.
If your CloudShell2 does not show, then you should remove the USB cable to Host PC and try again.

System power ON and OFF required to apply!!!
After F/W upgrade, you have to system off safely and pull out power plug your CloudShell2.
And then connect it(Power on) again.

Parameter definition

-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

How to use

Download JMS561 F/W updater(JMS561FwUpdate) and upload it to your CloudShell2.
jms561_fw_updater_onxu4.tgz
Note: Please make sure that the device path is correct.

Example 0. After upgrading the firmware this procedure must be followed.
Safely shutdown the device either through the GUI or by typing "sudo shutdown" in an ssh terminal.
Pull the power plug then wait two seconds.
Plug the device back in. When the device boots it will be using the updated firmware.
Example 1. shows version information of software.
root@odroidxu4:~/JMS561# ./JMS561FwUpdate -v
JMicron Firmware Update Tool v0.0.0.1
Copyright (C) 2017 JMicron Corp.
 
root@odroidxu4:~/JMS561# 
Example 2. Update device.

Note: This step needs root permission.

root@odroidxu4:~/JMS561# ./JMS561FwUpdate -d /dev/sda -f ./jms561_Hardkernel_v158.001.000.004.bin -b ./backup.bin
Update Firmware file name: ./jms561_Hardkernel_v158.001.000.004.bin
Backup Firmware file name: ./backup.bin
Backup the ROM code sucessfully.
Programming & Compare Success!!
 
root@odroidxu4:~/JMS561# 
Example 3. Update device without NVRAM

This feature does not support update from internal code, but it still finishes the update and show the CAUTION. (The NVRAM will use a default setting.)
Note: This step needs root permission.

oot@odroidxu4:~/JMS561# ./JMS561FwUpdate -d /dev/sda -f ./jms561_Hardkernel_v158.001.000.004.bin -b ./backup.bin -nNV
Update Firmware file name: ./jms561_Hardkernel_v158.001.000.004.bin
Backup Firmware file name: ./backup.bin
CAUTION: Update firmware without NVRAM.
Backup the ROM code sucessfully.
Programming & Compare Success!!
 
root@odroidxu4:~/JMS561#
Example 4 - Setting spin-down timer

The program has two ways to change spin-down timer,
1. Update device firmware with spin-down timer.
2. Only update 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).

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

Note. This step need root permission.

1. Update a device firmware with spin-down timer.

root@odroidxu4:~/JMS561# ./JMS561FwUpdate -d /dev/sda -f ./jms561_Hardkernel_v158.001.000.004.bin -b ./backup.bin -t 5
Update Firmware file name: ./jms561_Hardkernel_v158.001.000.004.bin
Backup Firmware file name: ./backup.bin
Auto spin-down timer: 5 min.
Backup the ROM code sucessfully.
Programming & Compare Success!!
 
root@odroidxu4:~/JMS561# 

2. Only update spin-down timer.

root@odroidxu4:~/JMS561# ./JMS561FwUpdate -d /dev/sda -t 5
Auto spin-down timer: 5 min.
Update auto spin-down timer pass.
 
root@odroidxu4:~/JMS561# 
Example 5. Show version information of bridge chip firmware

Note. This step need root permission.

root@odroidxu4:~/JMS561# ./JMS561FwUpdate -d /dev/sda -v
Bridge Firmware Version: v158.1.0.4
 
root@odroidxu4:~/JMS561#

We have checked some disk drive plug on JMS561.
There is some disk driver doesn't return their S.M.A.R.T information properly.
The HDD is disconnected and it is never connected again until the system reboot in one of the conditions.
so, We reported many times to the Jmicron to fix its behavior. and have answered the above revision history finally.
Furthermore, They didn't move fast as we thought.
That is why we have decided to make this script.
Simply, this script eliminates “-l scttemp -l scterc” on smartctl option in the OMV.

If your Cloudshell2 running with Openmediavault and JSM561 f/w version is v158.001.000.004,
You have to run this script. It will change smart command option to prevent system halt.
JMS561 cannot pass-through the option “-l scttemp -l scterc” with smartctl command.
If you want to see JSM561 f/w version, you should use tool JMMassProd2_v1_16_14_1.exe under Windows.
Or use raid manager(raidmgr_static) console version under CloudShell2 if you have JSM561 f/w is higher than JMS561b_v8.0.3.7.
Add one thing to check current f/w version under CloudShell2 is that JMS561FwUpdate utility.
(Refer Example 5. Show version information of bridge chip firmware).

1. Download this chOpSmartinfo.zip file and extract it.
chopsmartinfo.zip

2. Upload it to your CloudShell2 and run

root@odroidxu4:~# ./chOpSmartinfo.sh
root@odroidxu4:~# sync; sync; sync
root@odroidxu4:~# reboot

This tool shows us some information about JMS56X. and also can build RAID on your CloudShell2.
It works when JM561 F/W version is higher than JMS561b_v8.0.3.7.
User Guide for Raid manager included.
raidmgr_static_cloudshell2.zip

1. Download this raidmgr_static_cloudShell2.zip and extract it.

2. Upload it to your CloudShell2 and run.

root@odroidxu4:~# ./raidmgr_static 
 
JMS56X HW RAID Manager V8.0.0.1
(C) 2008~2011 JMicron Tech, Corp. Command Line Interface RAID Manager For JMS56X.
 
JMS56X>   
 
Valid commands set are:
=======================
 
 GC ------------------------------------- Get avail JMS56X
 DC C[n] -------------------------------- Display controller info
 SR C[n] -------------------------------- Show avail RAID info
 SS C[n] -------------------------------- Show avail SATA info
 SM C[n] D[n] --------------------------- Show disk S.M.A.R.T. info
 CR C[n] D[0,..,2] R0|R1|JBOD ----------- Create RAID
 DR C[n] R[n] --------------------------- Delete RAID
 SF C[n] -------------------------------- Show firmware version
 SA C[n] -------------------------------- Set alarm mute
 GR C[n] R[n] --------------------------- Get rebuilding percentage
 ID C[n] D[n] --------------------------- Identify disk
 ST C[n] R[n] timer --------------------- Set standby timer
 AS C[n] D[n] R[n] ---------------------- Add spare disk
 DS C[n] D[n] R[n] ---------------------- Delete spare disk
 EX ------------------------------------- Exit
 
JMS56X>