Broadcom 9400-16i not spinning up all drives & no way to change settings

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

__m128

New Member
Apr 26, 2021
3
0
1
I have a very curious problem with a Broadcom 9400-16i controller. I'm running it in a server with 4 rows of drives (two of which are populated), in a X10SDV-TLN4F board. The case is an Intertech (3U 3416 - Inter-Tech GmbH.)

I've installed the latest firmware (version 22, mpt35sas_x64.rom which puts it into IT mode, and the latest HBA_9400-16i_SAS_SATA_Profile.bin) on the Broadcom controller, and I'm using the latest version of storcli.

I have three types of drives installed: ST2000 Seagate (let's call them A), ST4000 from Seagate (let's call them B), and SSDs. The rows are populated as following:

Code:
ABSS
ABSS
In this case, the first A/B HDD gets found during start, but the A/B in the second row are not found. The SSDs all work. If I change it to:

Code:
AASS
BBSS
AA will show up, BB won't. If I move SSDs into the BB slots they show up ... so I've been tinkering with this a bit and found that the Broadcom controller has the spinupdrivecount set to 2. I would like to change this to 4, and this is where I'm completely stuck.

If I use storcli /c0 show all, I can see the spin-up drive count printed etc. But if I use storcli /c0 show spinupdrivecount, I get an "Un-supported command" error. Which I get for practically every variable, and of course I can't set them either. This is both from running storcli in an UEFI shell and running storcli64 from Linux.

I'm also apparently the only person on the internet who is getting this "Un-supported command" error, which means I'm probably missing something obvious here?

In addition to all of this, I managed to get the UEFI of my mainboard to show the HBA, but the settings there are extremely limited. I can look at the controller but not change anything, and I can look at the drives it has found (after I do a topology refresh) and then turn off/on the LED for each drive, but that's about it. I have not found a way to access the full "HII" via the UEFI on this server. Note that I'm running BIOS version 2.3 on the server, from 2021.

If anyone has seen "Un-supported Command" on a Broadcom controller and knows how to fix this, that would be amazing.
 

sko

Active Member
Jun 11, 2021
227
121
43
The 'spinupdrivecount' usually only refers to the number of disks that are spun up *simultaneously* at boot (IIRC "staggered power up" also needs to be enabled), to not overwhelm the PSU. Of course it will power up all drives and not only 2 (or 4).

From the scarce information on the intertech website I suspect this is a normal, "dumb" backplane, so no nvme capabilities that need to be enabled/disabled via jumpers or port expanders involved here. But is the backplane _fully_ powered (i.e. all molex-connectors plugged in)? Otherwise this might limit the power budget on all/some ports - this would explain why the SSDs are working but not the spinning disks. (seen that behaviour on a supermicro backplane with a yanked out molex connector)

Does the backplane support SES and is there any tool in the linux world to get output from that? Can you get an output of all slots and corresponding (detected) drives? Do all drives show up? (even spun-down ones should be listed as long as the controller has recognized/initialized them!)
E.g. on FreeBSD via sesutil:
Code:
# sesutil show
ses0: <LSI SAS3x28 0501>; ID: 500304800189ee3f
Desc Dev Model Ident Size/Status
Slot00 da0 IBM-ESXS HUS726040AL421 N8G6X93Y 4T
Slot01 da1 HGST HUS724030ALS641 P9K16X7W 3T
Slot02 - - - Not Installed
Slot03 da2 ATA WDC WDS500G2B0A 21517A452413 500G
Slot04 da3 ATA KINGSTON SA400S3 50026B7380790439 120G
Slot05 da4 ATA KINGSTON SV300S3 50026B726204D271 120G
Slot06 da5 IBM-ESXS HUS726040AL421 NHGBG83Y 4T
Slot07 da6 HGST HUS724030ALS640 P9K6603W 3T
Slot08 da7 ATA WDC WDS500G2B0A 21517A452713 500G
Slot09 da8 ATA WDC WD4000FYYZ-0 WD-WCC136RRHX0T 4T
Slot10 da9 HGST HUS724030ALS641 P9JLWJ8W 3T
Slot11   da10    ATA WDC WD4003FRYZ-0      V1GJJAJB             4T
And a full listing of the devices detected by the controller? ('mprutil show all' on FreeBSD)


The datasheet states this case has "4 4-port backplanes" - how are they arranged? If you put one spinning disk on each backplane, are all of them initialized at boot? (I'm still suspecting some power supply/budget issues...)
 

__m128

New Member
Apr 26, 2021
3
0
1
Thanks ... so I did replace all the Molex cables and it turns out, I had two faulty ones which would only light up the SSDs but not the HDDs (which is why I didn't notice it ...) So spot on with that -- and no, the HBA would not show the drives at all, but that makes sense if they weren't powered on to start with. Thanks again for making me triple-check all of the cabling!

With that sorted out, the question remains why I can't change any settings though... shouldn't this just work? Did anyone see this issue?