Thank you, I'm working on testing this and I will get back to you. This is a new process for me so it is taking some time, but I'm working on getting it done as soon as possible.
Derek On Thu, Nov 6, 2025 at 10:30 PM Jonathan Gray <[email protected]> wrote: > On Fri, Nov 07, 2025 at 10:49:00AM +1100, Jonathan Gray wrote: > > On Thu, Nov 06, 2025 at 08:38:03AM -0700, Derek wrote: > > > Hi, > > > > > > I'm requesting support for the LSI 9305-16i HBA which uses the SAS3224 > > > controller chip (PCI device ID 1000:00c4). This device is currently not > > > recognized by OpenBSD 7.6, 7.7, or 7.8. The dmesg and other info shared > > > here are from an attempted 7.8 install on a new server hardware > > > configuration which uses this HBA, currently preventing install due to > the > > > disks not being seen. > > > > > > Hardware Details: > > > - Card: LSI 9305-16i HBA > > > - Controller Chip: SAS3224 (confirmed via PCI device database) > > > - PCI Vendor ID: 1000 (Symbios Logic / LSI / Broadcom) > > > - PCI Device ID: 00c4 > > > - PCI Revision: 01 > > > - Firmware: 9.00.100.00-IT > > > > > > References confirming device ID 0x00c4 = SAS3224: > > > - PCI Device Database: > > > https://devicehunt.com/view/type/pci/vendor/1000/device/00C4 > > > - BSD Hardware Info: > https://bsd-hardware.info/?id=pci:1000-00c4-1000-31a0 > > > - Broadcom SAS3224 Datasheet: > https://docs.broadcom.com/docs/AV00-0319EN > > > - LSI 9305-16i Datasheet: > > > https://www.genuinemodules.com/image/catalog/pdf/1/9305-16i.pdf > > > - Product listing confirming SAS3224: > > > > https://www.amazon.ca/9305-16i-16-Port-SAS3224-Controller-Compatible/dp/B0DLYYNL9Z > > > > > > Current Behavior: > > > The device appears in dmesg as: > > > vendor "Symbios Logic", unknown product 0x00c4 (class mass storage > > > subclass SAS, rev 0x01) at pci9 dev 0 function 0 not configured > > > > > > No driver (mpi/mpii/mfii) attempts to attach. > > > > > > Expected Behavior: > > > The SAS3224 is part of the Fusion-MPT SAS-3 family, similar to the > > > already-supported SAS3008 (device ID 0x0097). The Linux mpt3sas driver > > > supports this device. It should work with OpenBSD's mpii(4) driver, > which > > > already supports other SAS-3 controllers. > > > > > > This is a standard HBA controller, with initiator target (IT) mode > only, > > > used with SATA/SAS drives. > > > > > > Testing: > > > - HBA BIOS recognizes attached drives correctly > > > - Drives spin up and show correct capacity in HBA BIOS > > > - Card works in other operating systems > > > - For comparisons with the attached dmesg file, "sysctl hw.disknames" > shows > > > "hw.disknames=sd0:,rd0:da67acb93404a776,sd2:42b5eccb6b25a28f,sd1:", > and sd0 > > > is a non-HBA disk. > > > > > > Request: > > > Could device ID 0x00c4 (SAS3224) be added to the mpii driver's device > > > table? Since it's part of the same SAS-3 family as the > already-supported > > > SAS3008, it likely requires minimal changes. > > > > > > I'm happy to test patches and provide additional information. > > > > Try a kernel with this patch. > > > > If that works we can add 0x00c0 through 0x00c9. > > A patch with the others and pcidevs changes: > > Index: sys/dev/pci/pcidevs > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs,v > diff -u -p -r1.2115 pcidevs > --- sys/dev/pci/pcidevs 7 Nov 2025 05:06:42 -0000 1.2115 > +++ sys/dev/pci/pcidevs 7 Nov 2025 05:24:44 -0000 > @@ -9532,6 +9532,16 @@ product SYMBIOS SAS3416 0x00ac SAS3416 > product SYMBIOS SAS3508 0x00ad SAS3508 > product SYMBIOS SAS3508_1 0x00ae SAS3508 > product SYMBIOS SAS3408 0x00af SAS3408 > +product SYMBIOS SAS3324_1 0x00c0 SAS3324 > +product SYMBIOS SAS3324_2 0x00c1 SAS3324 > +product SYMBIOS SAS3324_3 0x00c2 SAS3324 > +product SYMBIOS SAS3324_4 0x00c3 SAS3324 > +product SYMBIOS SAS3224 0x00c4 SAS3224 > +product SYMBIOS SAS3316_1 0x00c5 SAS3316 > +product SYMBIOS SAS3316_2 0x00c6 SAS3316 > +product SYMBIOS SAS3316_3 0x00c7 SAS3316 > +product SYMBIOS SAS3316_4 0x00c8 SAS3316 > +product SYMBIOS SAS3216 0x00c9 SAS3216 > product SYMBIOS SAS39XX 0x00e1 SAS39XX > product SYMBIOS SAS39XX_1 0x00e2 SAS39XX > product SYMBIOS SAS38XX 0x00e5 SAS38XX > Index: sys/dev/pci/pcidevs.h > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v > diff -u -p -r1.2108 pcidevs.h > --- sys/dev/pci/pcidevs.h 7 Nov 2025 05:08:32 -0000 1.2108 > +++ sys/dev/pci/pcidevs.h 7 Nov 2025 05:24:45 -0000 > @@ -9537,6 +9537,16 @@ > #define PCI_PRODUCT_SYMBIOS_SAS3508 0x00ad /* SAS3508 > */ > #define PCI_PRODUCT_SYMBIOS_SAS3508_1 0x00ae /* SAS3508 > */ > #define PCI_PRODUCT_SYMBIOS_SAS3408 0x00af /* SAS3408 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3324_1 0x00c0 /* SAS3324 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3324_2 0x00c1 /* SAS3324 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3324_3 0x00c2 /* SAS3324 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3324_4 0x00c3 /* SAS3324 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3224 0x00c4 /* SAS3224 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3316_1 0x00c5 /* SAS3316 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3316_2 0x00c6 /* SAS3316 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3316_3 0x00c7 /* SAS3316 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3316_4 0x00c8 /* SAS3316 > */ > +#define PCI_PRODUCT_SYMBIOS_SAS3216 0x00c9 /* SAS3216 > */ > #define PCI_PRODUCT_SYMBIOS_SAS39XX 0x00e1 /* SAS39XX > */ > #define PCI_PRODUCT_SYMBIOS_SAS39XX_1 0x00e2 /* SAS39XX > */ > #define PCI_PRODUCT_SYMBIOS_SAS38XX 0x00e5 /* SAS38XX > */ > Index: sys/dev/pci/pcidevs_data.h > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v > diff -u -p -r1.2103 pcidevs_data.h > --- sys/dev/pci/pcidevs_data.h 7 Nov 2025 05:08:32 -0000 1.2103 > +++ sys/dev/pci/pcidevs_data.h 7 Nov 2025 05:24:46 -0000 > @@ -34384,6 +34384,46 @@ static const struct pci_known_product pc > "SAS3408", > }, > { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_1, > + "SAS3324", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_2, > + "SAS3324", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_3, > + "SAS3324", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_4, > + "SAS3324", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3224, > + "SAS3224", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_1, > + "SAS3316", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_2, > + "SAS3316", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_3, > + "SAS3316", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_4, > + "SAS3316", > + }, > + { > + PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3216, > + "SAS3216", > + }, > + { > PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX, > "SAS39XX", > }, > Index: sys/dev/pci/mpii.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/mpii.c,v > diff -u -p -r1.148 mpii.c > --- sys/dev/pci/mpii.c 24 May 2024 06:02:58 -0000 1.148 > +++ sys/dev/pci/mpii.c 7 Nov 2025 05:24:46 -0000 > @@ -404,7 +404,6 @@ mpii_dvatosge(struct mpii_sge *sge, u_in > static const struct pci_matchid mpii_devices[] = { > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2004 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2008 }, > - { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SSS6200 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2108_3 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2108_4 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2108_5 }, > @@ -425,6 +424,16 @@ static const struct pci_matchid mpii_dev > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3108_2 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3108_3 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3108_4 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3216 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3224 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_1 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_2 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_3 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3316_4 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_1 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_2 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_3 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3324_4 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3408 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3416 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3508 }, > @@ -435,6 +444,7 @@ static const struct pci_matchid mpii_dev > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS38XX_1 }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX }, > { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX_1 }, > + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SSS6200 }, > }; > > int >
