I had a 60mph storm come through the other night so all my hardware is still powered down... but there is a flag you can throw at fio-status and you can specify a variable to display a value for. I think you can specify optrom stuff and get info back from that. I think it's -k or -K or -F for field maybe? I think either cap or lower L will get you a list of vars you can query.
Figured right after I posted. " Fio-status -l " gives the entire list of fields that can be queried on the card(s), and there are a few " optrom " fields. However, with the exception of the field " iom.optrom_base_supported " which shows the value " 1 " for both cards, all the other " optrom " fields are not available
[root@truenas ~]# fio-status -l | grep -i opt
iom.optrom_base_supported
iom.optrom_current_major_ver
iom.optrom_current_micro_ver
iom.optrom_current_minor_ver
iom.optrom_current_revision
iom.optrom_current_version
iom.optrom_enabled
[root@truenas ~]# fio-status -l | grep -i opt | xargs -n1 fio-status /dev/fioa -F
1
Unavailable: optrom_current_major_ver is not available.
Unavailable: optrom_current_micro_ver is not available.
Unavailable: optrom_current_minor_ver is not available.
Unavailable: optrom_current_revision is not available.
Unavailable: optrom_current_version is not available.
Unavailable: optrom_enabled is not available.
[root@truenas ~]# fio-status -l | grep -i opt | xargs -n1 fio-status /dev/fiob -F
1
Unavailable: optrom_current_major_ver is not available.
Unavailable: optrom_current_micro_ver is not available.
Unavailable: optrom_current_minor_ver is not available.
Unavailable: optrom_current_revision is not available.
Unavailable: optrom_current_version is not available.
Unavailable: optrom_enabled is not available.
[root@truenas ~]#
Could this happen because the system ( IBM x3650 m3 ) is booted in legacy mode ? I can't think of any other explanation. I can't boot the system in uEFI mode because i'm using an LSI 9211-8i adapter on it and the latest P20 firmware for it doesn't allow the system to boot, unless i'm flashing the 9211-8i with an older BIOS ( but still the latest uEFI firmware ) and boot the system in legacy mode.
For reference here are the sections i've added in the INFO file in the 3.2.16 .fff firmware archive which i've used to flash both IBM cards:
[PA004149006]
version = 7.1.17.116786
file = gen2_49_salmon_fusion_7.1.17.116786.bin
format = bin
ecc = 49b
dpfile = gen2_49_salmon_dual_fusion_7.1.17.116786.bin
dpformat = bin
dpecc = 49b
cntrpdiversion = 1.0.35
cntrpdifile = carre_1.0.35.pdi
cntrpdiformat = pdi
optrom = 1e00000
optromversion = 3.2.16.1731
optromfile = uefi-3.2.16.1731.rom
[PA004149-006]
version = 7.1.17.116786
file = gen2_49_salmon_fusion_7.1.17.116786.bin
format = bin
ecc = 49b
dpfile = gen2_49_salmon_dual_fusion_7.1.17.116786.bin
dpformat = bin
dpecc = 49b
cntrpdiversion = 1.0.35
cntrpdifile = carre_1.0.35.pdi
cntrpdiformat = pdi
optrom = 1e00000
optromversion = 3.2.16.1731
optromfile = uefi-3.2.16.1731.rom
Both sections do specify the 3.2.16.1731.rom optrom and the ( forced ) firmware update worked perfectly for both cards.
If we can't find a way to query the uEFI rom version installed on the cards I will assume the latest 3.2.16 is installed and keep using the cards as they are.
My next step is to install TrueNAS SCALE on the box and use it as an ISCSI server for two ESXi hosts, both IodriveII cards will be configured as a striped pool and will be hosting VM OS disks. On the same box I have 12x 400GB SAS SSDs which will also be configured as a striped pool hosting the data disks for the VMs.
I know, I know, no redundancy for any of the pools, but I'm not worried about losing everything, for me disk space is more important than storage redundancy. If I lose any of the pools I can restore the stuff from backups ( stored on a different x3650 m3 with proper storage redundancy configured ).