I realize this is the wrong place to ask this. Hence the title.
In a different thread mrsas and mystery of lost speed I briefly mentioned how my controller's BIOS capped negotiated drive speed at 6Gbps even though these HGST drives are SAS-3 12Gbps capable. Now. Turns out they have been pulled out of EMC Unity cluster which can't go faster than that and capped them at firmware level. Funny story, there exists Dell's firmware package update for drives of the exact same model and as it happens I am trying to have these drives go fast on Dell PowerEdge R730 where every relevant part of the system is 12Gbps.
So, how does one go about it? One asks Dell's Community Outreach but meanwhile discovers that firmware and attempts to apply it by booting into Fedora Live USB ... sorry FreeBSD no love for you there. Whereupon I discover that Dell's validator kicks in and attempts to validate against known DeviceId or ComponentId which it expects to find somewhere in the firmware which (this being EMC Unity drives) it can't find. That doesn't stop us so we hexedit the firmware file and observe in the logs how it passes validation, that header gets stripped and updater at least attempts to push that firmware onto the drive. But in response it gets some SCSI error (I believe 0xA) and SCSI sense data which I don't think
See that funny ^@ symbol there. Unprintable, so I just looked at that log in the hexeditor and I think its 0xA so could be a copy error.
Here's what I managed to get from sg_decode:
I am way out of my depth here. So. Any low level SCSI hackers around that would be interested in hacking together?
Or more likely anyone can recommend a better venue to discuss?
Thank you
In a different thread mrsas and mystery of lost speed I briefly mentioned how my controller's BIOS capped negotiated drive speed at 6Gbps even though these HGST drives are SAS-3 12Gbps capable. Now. Turns out they have been pulled out of EMC Unity cluster which can't go faster than that and capped them at firmware level. Funny story, there exists Dell's firmware package update for drives of the exact same model and as it happens I am trying to have these drives go fast on Dell PowerEdge R730 where every relevant part of the system is 12Gbps.
So, how does one go about it? One asks Dell's Community Outreach but meanwhile discovers that firmware and attempts to apply it by booting into Fedora Live USB ... sorry FreeBSD no love for you there. Whereupon I discover that Dell's validator kicks in and attempts to validate against known DeviceId or ComponentId which it expects to find somewhere in the firmware which (this being EMC Unity drives) it can't find. That doesn't stop us so we hexedit the firmware file and observe in the logs how it passes validation, that header gets stripped and updater at least attempts to push that firmware onto the drive. But in response it gets some SCSI error (I believe 0xA) and SCSI sense data which I don't think
sg_decode_sense
interprets correctly (wrong endianness as printed or smth?). Here's a sample of the debug.log and my attempt to make sense:
Code:
<03/31/21, 10:27:08 AM>doProcessLibCommand: After Calling ProcessLibCommand
<03/31/21, 10:27:08 AM>WriteBuffer: Return code from ProcessLibCommand = 2d
<03/31/21, 10:27:08 AM>SASHardDriveDUPDevice::writeBuffer : Return code from storelib =2d
<03/31/21, 10:27:08 AM>SASHardDriveDUPDevice::writeBuffer : SCSIStatus=^@
<03/31/21, 10:27:08 AM>SASHardDriveDUPDevice::writeBuffer : SenseData=
<03/31/21, 10:27:08 AM>0x70 0x0 0x5 0x0 0x0 0x0 0x0 0x18 0x0 0x0 0x0 0x0 0x26 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0xf1 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
<03/31/21, 10:27:08 AM>Got an error from writebuffer
<03/31/21, 10:27:08 AM>Finished writeBuffer
See that funny ^@ symbol there. Unprintable, so I just looked at that log in the hexeditor and I think its 0xA so could be a copy error.
Here's what I managed to get from sg_decode:
Code:
$ sg_decode_sense -e 10
Copy aborted
$ sg_decode_sense 70 00 50 00 00 00 00 18 00 00 00 00 26 20 00 00 00 00 00 00 f1 30 00 00 00 00 00 00 00 00 00 00
Fixed format, current; Sense key: No Sense
<<<Sense data overflow (SDAT_OVFL)>>>
ASC=26, ASCQ=20 (hex)
EOM
I am way out of my depth here. So. Any low level SCSI hackers around that would be interested in hacking together?
Or more likely anyone can recommend a better venue to discuss?
Thank you