MegaRAID 9341sas non-op on Rocky 9... but only on one machine

Hello, I’ve got two machines, both with identical MegaRAID cards.
Both come up in lspci as:

Broadcom / LSI MegaRAID SAS-3 3008 [Fury] [1000:005f] (rev 02)

On one machine (a dual Opteron 6386SE), installation went fine (boot disk is a separate ssd) and the old array showed up immediately in lsblk as sdb1.

On the other machine (a dual EPYC 7351), after installation to an SSD, all I can see in lsblk is “sdb,” which isn’t recognized under parted. Just to double check, I swapped the old CentOS 7 disk back in and reboot, and the array is still there and working properly. I also tried adding a couple disks in empty slots and making a new empty (initialized) RAID 1 VD in the card’s boot config, but that doesn’t show up in Rocky 9 either. (it does in CentOS 7, ready to be formatted).

Both machines’ lsmod returns the same modules (although with different PIDs, obviously):

$ lsmod | grep sas
mpt3sas 364544 0
raid_class 16384 1 mpt3sas
scsi_transport_sas 49152 1 mpt3sas
megaraid_sas 184320 3

Any ideas?? I’ve kind of run out except to think I’ve run into some weird EPYC bug, here.

EDIT: more info from dmesg:

[ 1.917485] megasas: 07.719.03.00-rc1
[ 1.918229] megaraid_sas 0000:13:00.0: BAR:0x1 BAR’s base_addr(phys):0x00000000ee700000 mapped virt_addr:0x00000000f9866210
[ 1.918243] megaraid_sas 0000:13:00.0: FW now in Ready state
[ 1.918248] megaraid_sas 0000:13:00.0: 63 bit DMA mask and 32 bit consistent mask
[ 1.918607] megaraid_sas 0000:13:00.0: firmware supports msix : (96)
[ 1.919611] ccp 0000:72:00.1: ccp enabled
[ 1.920436] megaraid_sas 0000:13:00.0: requested/available msix 65/65 poll_queue 0
[ 1.920447] megaraid_sas 0000:13:00.0: current msix/online cpus : (65/64)
[ 1.920450] megaraid_sas 0000:13:00.0: RDPQ mode : (disabled)
[ 1.920455] megaraid_sas 0000:13:00.0: Current firmware supports maximum commands: 272 LDIO threshold: 237
[ 1.920921] megaraid_sas 0000:13:00.0: Performance mode :Latency (latency index = 1)
[ 1.920924] megaraid_sas 0000:13:00.0: FW supports sync cache : Yes
[ 1.920928] megaraid_sas 0000:13:00.0: megasas_disable_intr_fusion is called outbound_intr_mask:0x40000009
[ 1.942025] megaraid_sas 0000:13:00.0: Init cmd return status FAILED for SCSI host 0
[ 1.942256] libata version 3.00 loaded.
[ 1.942874] megaraid_sas 0000:13:00.0: Failed from megasas_init_fw 6579

Hello all, I have figured out what the problem was… but it’s still kind of a problem.

The machine with the functioning array was in BIOS boot. The machine where the card declined to work was in UEFI mode.

I grabbed a spare SSD, totally disabled UEFI boot, then installed Rocky 9 on the new disk, and could immediately see the VD and mount it (the second test VD also shows up as unformatted space).

So, problem resolved for the short term, but long term, it seems like it’s a pretty big issue that these super common SAS cards wouldn’t work under UEFI mode.