Hi there,
When you say NetApp firmware, is it the ONTAP firmware or the E-Series?
I just had a look on NetApp's support site, and the PN is valid for E-Series, but it's a bit harder to find the correct ONTAP based on the ST4000NM0023, unless you know the ONTAP SCSI String for it?
If you have a similar disk on an ONTAP system you can see the disk name on the command-line "disk show -fields model"... it would be something like X380_something... X380 is a 10TB NL-SAS disk.
So based on that you may find the correct ONTAP firmware for the disk, but it may not be possible to update the drive with this firmware... I'd had mixed results, and I am normally going the "other way" from ONTAP to "Stock"... I have managed to do it with some 2.5" 10K Seagate SAS drives, and some NL-SAS WD drives.
The firmware-files you can download on the NetApp support site, and they are "raw" files, and should just work with "sg_buffer_write...." _if_ the drive will let you

Then you also need to format the drive with 520bps using sg_format --format 520... before ONTAP can use it...
I hope this helps a bit? If it was me, I would just return the disks... it will take you quite some time to to the procedure above... especially the sg_format... unless you have several disk shelfs you can use for it?

Just had a look at the ebay link, and the firmware you need is the one for the X477A-R6... but NetApp have 4 different drives called X477A-R6...
X477_SCMNE04TA07,
X477_SCBPE04TA07,
X477_WVELE04TA07,
and
X477_HAKPE04TA07
And sadly it's not stated on the drive lebel... as mentioned the best way is if you have an original NetApp drive which you can see presents it self as one of the 4 above... then see the vendor PN "ST4000....." on the drive and from that you can match it to your disk... you could of cause also just give all 4 a try... I have yet to break a disk by uploading the incorrect FW, it normally just fails... not to say it cannot break

I hope my ramblings makes sense?

have fun!