This guide is for people who either don't understand firmware manual (like me) or simply don't have time to dig through the long Niagara software guide to find the answers. I simply stole the idea from jcl333 who posted his solution on Windows in the Deals section. The tests were run on a D51B-2U with Ubuntu 20.04. The drives are HUSMH8020BSS204 with firmware C250 made in first half of 2015. The procedure has also been reported to work on Fedora 33.
For preparation, you need to connect the drives in JBOD modes so that the drives are exposed to the OS. You do not necessarily need to de-allocate the drives however. I took some drives from a raid 10 array in HP server and performed the change before putting them back and everything was normal. I also did this on a zfs array created by Proxmox on the same server by simply booting to Ubuntu. But I stress that it's always a good idea to do a full backup before you do this!
1) First step is to download the Niagara 4.3 release for Linux from ftp://ftp.abacus.cz/distribuce/HGST/Niagara/4.3/Linux/. Download the file: niagara_customer_inst-4.3.tar.
2) My system is not a 100% fresh install Ubuntu 20.04, but pretty close. I normally install 20.04 server, then install ubuntu-desktop. So your mileage may vary here. If you encounter problems you can post it here. For me the following installation was pretty automatic. First untar the tar file. There will be two files in the directory. Then simply run the script:
The script automatic installs necessary Ubuntu packages for Niagara as well as installing Niagara files into the system.
3) Niagara checks the system date and if it sees that the time is too long after the release date it will not run and ask the user to upgrade the software. Since we only use it for tweaking old drives before the release date it doesn't concern us. One solution is to disable auto system time adjustment in "Date and Time" panel in Ubuntu setting. And then back dating the time to 2018. Using October 2018 worked for me.
4) Now you can launch Niagara by typing:
and this window will appear:
The default driver SG worked for me so you can just click "Launch Niagara".
4) This window will appear:
You can see that in the "Device List" panel on the left five HGST drives are listed. But Niagara sometimes can remove some drives from the list for whatever reason. In this case you need to use middle button to click on the white highlighted area until the "Lock Devices" window appears like in this picture:
In the picture you see that one of the HGST drives is in the "Removed Drives" list, by clicking on the "Restore non-system drive" button you can restore the drive to the drive selection list. If you don't want to operate on a drive, you can also click "Remove Device" to remove the device from any operation.
5) On the lower right panel in the first window of step 4), there is a "Mode Fields" button. You can click on it, which brings out this window:
In this window, first select in the "Mode Pages" panel the entry: "0x19_01 : PHY Control And Discover" entry. At lower left select: Options: Decimal; (You can also select Hex here, but need to change the values below accordingly). At "Drive" selection select "Saved", and "Save Pages".
6) You can now edit the fields that governs the maximum SAS speeds that's governed. There are four fields at the right panel: "<PHY 1> Programmed Maximum Physical Link Rate", "<PHY 1> Hardware Maximum Physical Link Rate", and "<PHY 2> Programmed Maximum Physical Link Rate", "<PHY 2> Hardware Maximum Physical Link Rate". You have to change the values of ALL the four fields from 10 to 11. (If you had selected Hex format above, change from 0x0A to 0x0B).
7) Now click "ModeSelect" button to save to drive.
8) Repeat this to all the drives in the "Device List" window in step 4)
9) For verification on drive performance you can simply use hdparm to see the speed bump:
The buffered read speed should increase to be above 800MB/s
Now you are done!
For preparation, you need to connect the drives in JBOD modes so that the drives are exposed to the OS. You do not necessarily need to de-allocate the drives however. I took some drives from a raid 10 array in HP server and performed the change before putting them back and everything was normal. I also did this on a zfs array created by Proxmox on the same server by simply booting to Ubuntu. But I stress that it's always a good idea to do a full backup before you do this!
1) First step is to download the Niagara 4.3 release for Linux from ftp://ftp.abacus.cz/distribuce/HGST/Niagara/4.3/Linux/. Download the file: niagara_customer_inst-4.3.tar.
2) My system is not a 100% fresh install Ubuntu 20.04, but pretty close. I normally install 20.04 server, then install ubuntu-desktop. So your mileage may vary here. If you encounter problems you can post it here. For me the following installation was pretty automatic. First untar the tar file. There will be two files in the directory. Then simply run the script:
Code:
sudo ./niagara_customer_inst-4.3.sh
3) Niagara checks the system date and if it sees that the time is too long after the release date it will not run and ask the user to upgrade the software. Since we only use it for tweaking old drives before the release date it doesn't concern us. One solution is to disable auto system time adjustment in "Date and Time" panel in Ubuntu setting. And then back dating the time to 2018. Using October 2018 worked for me.
4) Now you can launch Niagara by typing:
sudo niagara-customer
and this window will appear:
The default driver SG worked for me so you can just click "Launch Niagara".
4) This window will appear:
You can see that in the "Device List" panel on the left five HGST drives are listed. But Niagara sometimes can remove some drives from the list for whatever reason. In this case you need to use middle button to click on the white highlighted area until the "Lock Devices" window appears like in this picture:
In the picture you see that one of the HGST drives is in the "Removed Drives" list, by clicking on the "Restore non-system drive" button you can restore the drive to the drive selection list. If you don't want to operate on a drive, you can also click "Remove Device" to remove the device from any operation.
5) On the lower right panel in the first window of step 4), there is a "Mode Fields" button. You can click on it, which brings out this window:
In this window, first select in the "Mode Pages" panel the entry: "0x19_01 : PHY Control And Discover" entry. At lower left select: Options: Decimal; (You can also select Hex here, but need to change the values below accordingly). At "Drive" selection select "Saved", and "Save Pages".
6) You can now edit the fields that governs the maximum SAS speeds that's governed. There are four fields at the right panel: "<PHY 1> Programmed Maximum Physical Link Rate", "<PHY 1> Hardware Maximum Physical Link Rate", and "<PHY 2> Programmed Maximum Physical Link Rate", "<PHY 2> Hardware Maximum Physical Link Rate". You have to change the values of ALL the four fields from 10 to 11. (If you had selected Hex format above, change from 0x0A to 0x0B).
7) Now click "ModeSelect" button to save to drive.
8) Repeat this to all the drives in the "Device List" window in step 4)
9) For verification on drive performance you can simply use hdparm to see the speed bump:
Code:
sudo hdparm -Tt /dev/sd<x>
Now you are done!
Last edited: