Locked HGST drives: Difference between revisions

520-byte sector changes
m (more fixes)
(520-byte sector changes)
 
(5 intermediate revisions by the same user not shown)
OnSome XXXXtime ago, we purchased ##x~25x 1.2TB HGST HUC101212CSS600 drives off ebayeBay for use in our servers.
 
These disks have three primary issues:
# They have Hitachi Vantara firmware [https://www.reddit.com/r/homelabsales/comments/qazb88/pccan_huc101212css600_12tb_10k_sas_6g_25_drives/hh6frb5/] that locks them to Hitachi VSP systems and doesn't let them work with normal servers.
# They have a lock preventing them from being reflashed with the Dell [https://www.dell.com/support/home/en-au/drivers/driversdetails?driverId=PJ9CD] firmware that would allow them to be used in generic systems.
 
 
== Problem 1: (520-byte sectors) ==
This is a very common problem with decommissioned enterprise SAS drives and also typically very easy to fix.
 
All you need is a "true" HBA in the server that is reformatting the disks. Dell PERC cards and HP Smart Array controllers cannot communicate with 520-byte sector disks whatsoever, even when put into "HBA mode".
 
Dell PERC cards and HP Smart Array controllers cannot communicate with 520-byte sector disks whatsoever, even when put into "HBA mode".
The cards inside the [[Servers|Kurisu and Okabe]] servers have been flashed to "IT mode", as their PERC cards were old enough to be flashed using [https://fohdeesha.com/docs/perc.html a script]).
 
The cards inside the [[Servers|Kurisu and Okabe]] servers have been flashed towith the "IT mode" firmware, as their PERC cards were old enough to be flashed using [https://fohdeesha.com/docs/perc.html a script]).
 
The sector size of a disk can be reformatted to 512 bytes using <code>sg3utils</code> with the command below:
<code>sg_format -v --format --size=512 --six /dev/sgX</code>
 
Of note, needing to format with the ten-byte variant of <code>--sixMODE SENSE</code>+<code>MODE SELECT</code> (the default) versus the six-byte variant (toggled andwith <code>--tensix</code>) will depend on what brand of disk you are're using.
 
* Netapp needs ten-byte
* Our HGST drives should need six-byte (based on a comment from someone in a ServeTheHome thread, find the link for this)
 
== Problem 2: (Hitachi VSP firmware) ==
The primary issue with these drives is the firmware only allows them to work with Hitachi VSP systems.
 
* They will experience I/O errors when used on a regular system, even when reformatted to 512-byte sectors.
* Apparently it is related to the firmware only accepting <code>SCSI_WRITE_WITH_VERIFY</code> commands [https://wwwold.reddit.com/r/DataHoarder/comments/7raoz8/firmware_for_hgst_10k_sas_huc109090css600/idxmolz/]
 
These exact physical drives are also sold as OEM variants that work in generic systems without issue.
 
* The only difference between our drives and those drives is the firmware.
* It should be possible to put OEM firmware onto the disks to allow them to work in our servers. (this leads into problem 3)
 
== Problem 3: (Firmware lock) ==
In addition to the previous problem, the drives also have a lock that prevents rewriting the firmware.
 
* They require a specific command be sent before they will allow overwriting the firmware.
 
=== Russian dude (WD Niagara) ===
There is a Russian dude who, for the price of ~$10/drive, will RDP into a Windows environment and flash the drives for you. [https://forum.hddguru.com/viewtopic.php?f=22&t=39927&sid=121a6e12d2d1fdaf816fe00eedac1745]
 
He runs a custom script he made that uses WD Niagara (an internal Western Digital tool intended for OEMs like Dell/HP) to unlock the drives, then uses Niagara's built-in "firmware download" to flash the firmware.
 
He has uploaded a video of the process to YouTube [https://www.youtube.com/watch?v=mAhS_sk3wKE]
 
If we had the money, this would be the easiest route to solve the problem. However, it'd make more sense to just buy new drives.
 
=== Hydata SCSITools ===
According to a Chinese dude who paid for Hydata SCSITools in another ServeTheHome thread, this program can also send the command to unlock the drives and flash the firmware.
 
A SCSITools license is $2800. Same as with the Russian dude, at that price it makes more sense to buy different drives.
 
* SartenX recommended asking them for a free license as students, I seriously doubt they'd give us one though.
 
Poking at the Windows program, the check for a license key seems really basic.
 
* It just pulls in <code>hasp_windows_102966.dll</code> which is the Sentinel HASP (Hardware Against Software Piracy) all-in-one check that looks for a valid USB hardware key plugged into the computer.
I don't know which option is correct for our specific drives, may be worth scouring the internet for a report from someone with our drives with the Dell firmware who was able to reformat it.
* I doubt fiddling with Sentinel HASP would be easy, it has checks for VMs, emulated dongles, and even WINE for some reason
* However, the SCSITools binary itself could probably be modded to ignore the HASP check
 
=== Hardware ===
It is likely we won't know for sure which option to use until we unlock the firmware ourselves.
We also considered flashing the drives via the hardware, with a Pomona SOIP8 clip (SOIP8 is the same form-factor as SOP8)
 
There are pictures of the mainboard in this HDDGuru thread [https://forum.hddguru.com/viewtopic.php?p=292187]
 
We identified the following chips on the drive's mainboard:
 
# Smooth L7228
## Drive Spindle controller?
# [https://www.ariat-tech.com/parts/samsung-semiconductor/K4T51163QJ-BCE7 Samsung K4T51163QJ-BCF8]
## DDR2 memory
# LSI TNNKU873 BJR12034
## Microcontroller
# MAXIC 25U40325 M1-126
## SOP8 ROM (this is the big one)
 
Apparently only disk-specific calibration information is stored on the ROM and not the actual firmware.
copy+paste dump for later:
 
^ (Josh found a forum post from someone trying what we planned, and came to this conclusion. Josh plz post link here)
 
So the hardware route is a dead-end :(
sg_write_buffer -v -I HGST-Ultrastar-C10K1200-HUC101212CSS600-SAS-DELL-U440.LOD /dev/sg3
 
__FORCETOC__
https://www.reddit.com/r/DataHoarder/comments/7raoz8/firmware_for_hgst_10k_sas_huc109090css600/
__NOEDITSECTION__