Upgrading Firmware And Changing Sector Size On Seagate X16 Exos / IronWolf / IronWolf Pro HDDs, While Installed In Your Synology NAS
I've recently purchased a new Synology RS1221+ NAS and several Seagate Exos X16 HDDs, and needed to convert them from the factory 512 byte setting, to the native 4096 byte sector size. I notice a lot of guides are using desktop computers / external HDD enclosures / USB adapters (that's bad) to upgrade firmware and convert the sector sizing, however you can actually do this by using the Synology NAS while the drives are installed in the NAS; the easy way.
This guide should also work for all other Seagate drives that support both 512 and 4096 sector sizes. It may also work for other NAS brands, however some of the mounts in the backend OS may be slightly different.
Firstly, my current setup is:
- 1 x Synology RS1221+ NAS
- 64GB (2 x 32GB) vColor ECC SO-DIMM DDR4 2666MHz for Microservers (TES432G26D819K-VC)
- 4 x Seagate Exos X16 SATA STD 16TB Hard Disk Drive (ST16000NM001G)
- 1 x Synology 10Gb Ethernet and M.2 Adapter Card E10M20-T1
- 2 x SAMSUNG 980 PRO 1TB PCIe NVMe Gen4 SSD M.2 (MZ-V8P1T0B)
NOTE: You cannot have a mix of 512 and 4096 sector drives in the same RAID array. All drives in the same RAID / Volume group must be the same sector size... either they are all 512, or they are all 4096; but not mixed. They can be mixed if they are in same RAID / Volume groups... i.e. 512 all in /volume1 and 4096 all in /volume2.
Firstly, we need to use a Synology account which has administrator privilege (in the "administrators" group) to complete these steps.
1. Backup everything off the NAS, converting the sector size from 512 to 4096 is considered a destructive process, consider all data on the drives to be lost - be prepared and back it up.
2. Turn on SSH server for remote access: Go to "Control Panel" --> "Terminal & SNMP" --> "Terminal" - Select "Enable SSH Service" on port 22, and apply settings.
3. Create a shared folder for Seagate SeaChest application and firmware files: Go to "Control Panel" --> "Shared Folder" - Select "Create" --> "Create Shared Folder" - Create a new folder called "Seagate", and apply settings. Ensure Administrators group have read / write permissions.
4. Download latest Seagate SeaChest application: We only need the SeaChest Lite edition.
- Website: SeaChest Utilities | Seagate Support UK
- Direct: https://support.seagate.com/seachest/SeaChestLite.zip
6. Create another copy of the "SeaChest_Lite_x86_64-alpine-linux-musl_static" file in the Seagate folder, and call it "SeaChest_Lite". This will make it easier to run commands in the SSH session later. Making a copy (instead of renaming it) will help you remember what the original version of the file was called if you need to reference it later (or you can use -V option).
NOTE: In the event the shortened "SeaChest_Lite" command does not work in SSH in the commands below, then you should use the full "SeaChest_Lite_x86_64-alpine-linux-musl_static" application name.
7. Download latest firmware for Seagate HDDs: Go to the following URL, and enter the serial number off your Seagate HDD to search for the latest firmware for your drive model. For me, the latest firmware version is SN04 (Evans).
- Website: Seagate Technology - Download Finder
- EN-SN04.CFS
- EvansExosX16SATA-STD-512E-SN04.LOD
9. Check files on NAS: At this stage you should have SeaChest_Lite and the firmware files in the "Seagate" shared folder. For me, I have the following files:
- EN-SN04.CFS
- EvansExosX16SATA-STD-512E-SN04.LOD
- SeaChest_Lite
- SeaChest_Lite_x86_64-alpine-linux-musl_static
On a Windows network, I can also see these files by going to the SMB network share: \\Diskstation\Seagate
10. For Windows users, download PuTTY: Download and install Putty, which as a Windows compatible SSH client, allowing you to remotely log into your NAS using SSH protocol.
11. BACK UP EVERYTHING ON THE NAS - THIS IS YOUR LAST WARNING.... :P
NOTE: I upgraded all of my Seagate drives at the same time using the following commands, knowing I would have have to undertake a full rebuild. However it may by possible to upgrade the firmware and convert the sector size of one Seagate drive at a time, transfer data, and upgrade the following drives, transferring data as you progress, but there is still a risk of data loss by losing your partitions / volume groups.
12. Connect to your Synology NAS using SSH / PuTTY on port 22 (default), using your Synology username and password.
NOTE 1: You can only log in using SSH if you're using an account in the Synology administrators group.
NOTE 2: Even though you are in the Synology administrators group, your account has basic privileges in the NAS operating system, and you will need to use "sudo" command to undertake several of the steps below, otherwise they will not complete successfully.
13. In your SSH session, head to the shared Seagate folder where you saved the SeaChest apps and HDD firmware:
NOTE: The following commands are case sensitive.
- cd /volume1/Seagate
- ls -la
- sudo ./SeaChest_Lite -s
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 17:19:37 2022 User: root
==========================================================================================
Vendor Handle Model Number Serial Number FwRev
ATA /dev/sg0 ST16000NM001G-2KK103 ZL2N0001 SN03
ATA /dev/sg1 ST16000NM001G-2KK103 ZL2N0002 SN03
ATA /dev/sg2 ST16000NM001G-2KK103 ZL2N0003 SN03
ATA /dev/sg3 ST16000NM001G-2KK103 ZL2N0004 SN03
Synology /dev/sg4 DiskStation 76FD00000000 DL17
NVMe /dev/nvme0n1 Samsung SSD 980 PRO 1TB S5GXNS000000001 4B2QGXA7
NVMe /dev/nvme1n1 Samsung SSD 980 PRO 1TB S5GXNS000000002 4B2QGXA7
NOTE: If you've just inserted a new HDD into your NAS, it may be recognised as a different device ID.. i.e. /dev/sg7 - It may also be recognised as a different device ID after upgrading the firmware / sector size and doing a rebooting. You can keep track of your new HDD by taking note of it's serial number.
15. Upgrade firmware on installed Seagate HDDs:
- sudo ./SeaChest_Lite -d /dev/sg0 --downloadFW EvansExosX16SATA-STD-512E-SN04.LOD
- sudo ./SeaChest_Lite -d /dev/sg1 --downloadFW EvansExosX16SATA-STD-512E-SN04.LOD
- sudo ./SeaChest_Lite -d /dev/sg2 --downloadFW EvansExosX16SATA-STD-512E-SN04.LOD
- sudo ./SeaChest_Lite -d /dev/sg3 --downloadFW EvansExosX16SATA-STD-512E-SN04.LOD
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 17:26:03 2022 User: root
==========================================================================================
/dev/sg0 - ST16000NM001G-2KK103 - ZL2N0001 - SN04 - ATA
......
Firmware Download successful
New firmware version is SN04
16. Check the Seagate HDDs are displaying firmware installed:
- sudo ./SeaChest_Lite -s
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 17:28:29 2022 User: root
==========================================================================================
Vendor Handle Model Number Serial Number FwRev
ATA /dev/sg0 ST16000NM001G-2KK103 ZL2N0001 SN04
ATA /dev/sg1 ST16000NM001G-2KK103 ZL2N0002 SN04
ATA /dev/sg2 ST16000NM001G-2KK103 ZL2N0003 SN04
ATA /dev/sg3 ST16000NM001G-2KK103 ZL2N0004 SN04
Synology /dev/sg4 DiskStation 76FD00000000 DL17
NVMe /dev/nvme0n1 Samsung SSD 980 PRO 1TB S5GXNS000000001 4B2QGXA7
NVMe /dev/nvme1n1 Samsung SSD 980 PRO 1TB S5GXNS000000002 4B2QGXA7
17. SHUTDOWN / POWEROFF the NAS using the Web Portal menu. While you can shutdown the NAS using SSH, the web portal shutdown sequence will be more graceful while working with firmware.
WARNING: COMPLETELY SHUTDOWN AND REMOVE POWER FROM NAS FOR A SHORT PERIOD - DO NOT CHANGE SECTOR SIZE UNTIL YOU POWER UP USING THE NEW FIRMWARE VERSION
18. Power up your NAS and log back into the DSM portal to check the Seagate drives are reporting the firmware correctly: "Main Menu" --> "Storage Manager" --> "HDD/SSD". They should now report the updated firmware version, while "4K native drive" will still say "No".
19. Reconnect to your Synology NAS using SSH / PuTTY, using your administrator privileged account.
20. Check the Sector Size on your Seagate HDDs - This is also located in the DSM Storage Manager.
- cd /volume1/Seagate
- sudo ./SeaChest_Lite -d /dev/sg0 -i | grep Size
- sudo ./SeaChest_Lite -d /dev/sg1 -i | grep Size
- sudo ./SeaChest_Lite -d /dev/sg2 -i | grep Size
- sudo ./SeaChest_Lite -d /dev/sg3 -i | grep Size
Code:
Logical Sector Size (B): 512
Physical Sector Size (B): 512
Cache Size (MiB): 256.00
21. Do a quick check to ensure your Seagate drives support both 512 and 4096 sector sizes:
- sudo ./SeaChest_Lite -d /dev/sg0 --showSupportedFormats
- sudo ./SeaChest_Lite -d /dev/sg1 --showSupportedFormats
- sudo ./SeaChest_Lite -d /dev/sg2 --showSupportedFormats
- sudo ./SeaChest_Lite -d /dev/sg3 --showSupportedFormats
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 18:40:18 2022 User: root
==========================================================================================
/dev/sg1 - ST16000NM001G-2KK103 - ZL2N0001 - SN04 - ATA
Supported Logical Block Sizes and Protection Types:
---------------------------------------------------
* - current device format
PI Key:
Y - protection type supported at specified block size
N - protection type not supported at specified block size
? - unable to determine support for protection type at specified block size
Relative performance key:
N/A - relative performance not available.
Best
Better
Good
Degraded
--------------------------------------------------------------------------------
Logical Block Size PI-0 PI-1 PI-2 PI-3 Relative Performance Metadata Size
--------------------------------------------------------------------------------
* 512 Y N N N N/A N/A
4096 Y N N N N/A N/A
--------------------------------------------------------------------------------
22. BEFORE converting sector size, do a quick health check on each of the Seagate drives:
- sudo ./SeaChest_Lite -d /dev/sg0 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg1 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg2 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg3 --shortDST --poll
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 18:27:31 2022 User: root
==========================================================================================
/dev/sg0 - ST16000NM001G-2KK103 - ZL2N0001 - SN04 - ATA
Short DST
Test progress: 100% complete
The self-test routine completed without error.
Short DST Passed!
23. Convert the 512 byte sector size to 4096 bytes:
- sudo ./SeaChest_Lite -d /dev/sg0 --setSectorSize 4096 --confirm this-will-erase-data
- sudo ./SeaChest_Lite -d /dev/sg1 --setSectorSize 4096 --confirm this-will-erase-data
- sudo ./SeaChest_Lite -d /dev/sg2 --setSectorSize 4096 --confirm this-will-erase-data
- sudo ./SeaChest_Lite -d /dev/sg3 --setSectorSize 4096 --confirm this-will-erase-data
Code:
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.6.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Wed Aug 10 18:32:43 2022 User: root
==========================================================================================
/dev/sg0 - ST16000NM001G-2KK103 - ZL2N0001 - SN04 - ATA
Set Sector Size to 4096
WARNING: It is not recommended to do this on USB enclosures as not
all USB adapters can handle a 4k sector size.
WARNING (SATA): Do not interrupt this operation once it has started or
it may cause the drive to become unusable. Stop all possible background
activity that would attempt to communicate with the device while this
operation is in progress
Press CTRL-C to cancel this operation before the timer runs out.
WARNING: The process will wait 30 seconds in case you want to cancel the operation - it is destructive.
Code:
Setting the drive sector size quickly.
Please wait a few minutes for this command to complete.
It should complete in under 5 minutes, but interrupting it may make
the drive unusable or require performing this command again!!
WARNING: Unable to erase MBR. If unable to write a partition after this operation, erase the first sector of the device
and the last sector (max LBA) then try creating new partitions again.
Successfully set sector size to 4096
24. SHUTDOWN / POWEROFF the NAS using the Web Portal menu again.
WARNING: COMPLETELY SHUTDOWN AND REMOVE POWER FROM NAS FOR A SHORT PERIOD, THEN POWER IT BACK ON
25. If you were converting one Seagate HDD at a time, you may still be able to log into your current Synology configuration and manage your drives / data. However, if you upgraded all Seagate HDDs at the same time, you will need to follow the new Synology set up wizard to rebuild your configuration and restore data.
- Head to: http://diskstation:5000/ (or the IP address)
- sudo ./SeaChest_Lite -d /dev/sg0 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg1 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg2 --shortDST --poll
- sudo ./SeaChest_Lite -d /dev/sg3 --shortDST --poll
NOTE: People have been having problems and bricking their Seagate HDDs when using USB enclosures / adaptors to upgrade the firmware / sector size (Linux and Windows).. This should not happen on your Synology NAS, but if it occurs on a client workstation and you cannot rebuild standard partitions, you can clear the first few sectors of the HDD and wipe the MBR clean, allowing you to rebuild partition table.
(reference: broken HDD drive after changing to 4kn · Issue #16 · Seagate/ToolBin)
- sudo ./SeaChest_Lite -d /dev/sg2 --overwrite 0 --overwriteRange 4096 --confirm this-will-erase-data
Code:
==========================================================================================
SeaChest_Erase - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Erase Version: 3.2.0-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Tue Aug 9 21:22:06 2022 User: root
==========================================================================================
/dev/sg2 - ST16000NM001G-2KK103 - ZL2N0001 - SN04 - ATA
Writing LBA: 4095
Successfully overwrote LBAs 0 to 4095
You can now use a Linux / Windows disk partitioning tool re-partition and format the drive using a client workstation (not needed for Synology NAS).
28. Now create a shortcut of this post into the shared Seagate folder, so you can easily come back to it when you need to add additional Seagate drives into your storage pools, as they will need to be upgraded and converted to match the current HDD environment.
- Related resources