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

Reply via email to