Locked HGST drives: Difference between revisions

520-byte sector changes
(added hardware notes)
(520-byte sector changes)
 
(4 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]
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.
 
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.
It is likely we won't know for sure which option to use until we unlock the firmware ourselves.
 
=== 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.
hardware modding nodes:
 
Poking at the Windows program, the check for a license key seems really basic.
Smooth L7228: Drive Spindle controller?
 
* 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.
[https://www.ariat-tech.com/parts/samsung-semiconductor/K4T51163QJ-BCE7 Samsung K4T51163QJ-BCF8]: DDR2 memory
* 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 ===
LSI TNNKU873 BJR12034 - microcontroller
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]
MAXIC 25U40325 M1-126
 
We identified the following chips on the drive's mainboard:
 
# Smooth L7228
copy+paste dump for later:
Smooth L7228:## Drive Spindle controller?
# [https://www.ariat-tech.com/parts/samsung-semiconductor/K4T51163QJ-BCE7 Samsung K4T51163QJ-BCF8]: DDR2 memory
## DDR2 memory
# LSI TNNKU873 BJR12034 - microcontroller
## 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.
 
^ (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__