public inbox for developer@lists.illumos.org (since 2011-08)
 help / color / mirror / Atom feed
* Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
@ 2021-10-25  8:30 Gabriele Bulfon
  2021-10-25 13:29 ` kilian.ries
  0 siblings, 1 reply; 41+ messages in thread
From: Gabriele Bulfon @ 2021-10-25  8:30 UTC (permalink / raw)
  To: illumos-developer


[-- Attachment #1.1: Type: text/plain, Size: 252 bytes --]

Hi is this hardware supported by illumos kernel? I don't see it in HCL.
 
Gabriele
 
 
Sonicle S.r.l. : http://www.sonicle.com
Music: http://www.gabrielebulfon.com
eXoplanets : https://gabrielebulfon.bandcamp.com/album/exoplanets
 


[-- Attachment #1.2: Type: text/html, Size: 1247 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25  8:30 Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port Gabriele Bulfon
@ 2021-10-25 13:29 ` kilian.ries
  2021-10-25 14:26   ` [developer] " Robert Mustacchi
  0 siblings, 1 reply; 41+ messages in thread
From: kilian.ries @ 2021-10-25 13:29 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 424 bytes --]

Hi,

just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work! 

Regarding the driver manual page

https://illumos.org/man/7d/mpt_sas

" ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."

the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo). 

Any ideas?

Regards,
Kilian

[-- Attachment #2: Type: text/html, Size: 728 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Re: Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 13:29 ` kilian.ries
@ 2021-10-25 14:26   ` Robert Mustacchi
  2021-10-25 14:57     ` Gabriele Bulfon
  2021-10-25 15:06     ` [developer] " InterNetX - Kilian Ries
  0 siblings, 2 replies; 41+ messages in thread
From: Robert Mustacchi @ 2021-10-25 14:26 UTC (permalink / raw)
  To: illumos-developer, kilian.ries

On 10/25/21 6:29 AM, kilian.ries@internetx.com wrote:
> Hi,
> 
> just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work! 
> 
> Regarding the driver manual page
> 
> https://illumos.org/man/7d/mpt_sas
> 
> " ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."
> 
> the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo). 
> 
> Any ideas?

Hi Kilian and Gabriele,

Can you share what the pci id of the devices in question are? The
simplest way to get that would be to look at prtconf -dD.

Currently these chipsets aren't supported. Adding support for newer
revisions of the chipset usually aren't too bad (though I don't have
access to those docs any more) so there may be newer events or other
things going on that we won't be able toe easily support.

Kilian, seeing it in modinfo but no devices is a pretty common thing
because we will need to update the set of aliases that this device
attaches to for newer devices. That is, the driver can be loaded;
however, it may not be attached to any instances. I expect if you look
at that prtconf -dD output you will not see anything that is attached to
mpt_sas. Can you please confirm that?

If both of you can get me those PCI IDs, then we can take a look at what
it means to update support in illumos for these devices, assuming both
of you are willing to provide help testing here. In addition, I guess we
should update the manual page to more explicitly call out which
generations are supported there.

Robert

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Re: Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 14:26   ` [developer] " Robert Mustacchi
@ 2021-10-25 14:57     ` Gabriele Bulfon
  2021-10-25 15:06     ` [developer] " InterNetX - Kilian Ries
  1 sibling, 0 replies; 41+ messages in thread
From: Gabriele Bulfon @ 2021-10-25 14:57 UTC (permalink / raw)
  To: illumos-developer, kilian.ries


[-- Attachment #1.1: Type: text/plain, Size: 2632 bytes --]

Hi, by my side, I still have no access the controller. We're willing to setup something with it, and my question was to ensure that it would be usable.
Kilian will be absolutely a resource in  this case!

Gabriele
 
 
Sonicle S.r.l. : http://www.sonicle.com
Music: http://www.gabrielebulfon.com
eXoplanets : https://gabrielebulfon.bandcamp.com/album/exoplanets
 




----------------------------------------------------------------------------------

Da: Robert Mustacchi <rm@fingolfin.org>
A: illumos-developer <developer@lists.illumos.org> kilian.ries@internetx.com 
Data: 25 ottobre 2021 16.26.14 CEST
Oggetto: Re: [developer] Re: Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port


On 10/25/21 6:29 AM, kilian.ries@internetx.com wrote:
> Hi,
> 
> just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work! 
> 
> Regarding the driver manual page
> 
> https://illumos.org/man/7d/mpt_sas
> 
> " ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."
> 
> the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo). 
> 
> Any ideas?

Hi Kilian and Gabriele,

Can you share what the pci id of the devices in question are? The
simplest way to get that would be to look at prtconf -dD.

Currently these chipsets aren't supported. Adding support for newer
revisions of the chipset usually aren't too bad (though I don't have
access to those docs any more) so there may be newer events or other
things going on that we won't be able toe easily support.

Kilian, seeing it in modinfo but no devices is a pretty common thing
because we will need to update the set of aliases that this device
attaches to for newer devices. That is, the driver can be loaded;
however, it may not be attached to any instances. I expect if you look
at that prtconf -dD output you will not see anything that is attached to
mpt_sas. Can you please confirm that?

If both of you can get me those PCI IDs, then we can take a look at what
it means to update support in illumos for these devices, assuming both
of you are willing to provide help testing here. In addition, I guess we
should update the manual page to more explicitly call out which
generations are supported there.

Robert

------------------------------------------
illumos: illumos-developer
Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mfb5ee8ef2cb418ee21993647
Delivery options: https://illumos.topicbox.com/groups/developer/subscription



[-- Attachment #1.2: Type: text/html, Size: 4033 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 14:26   ` [developer] " Robert Mustacchi
  2021-10-25 14:57     ` Gabriele Bulfon
@ 2021-10-25 15:06     ` InterNetX - Kilian Ries
  2021-10-25 15:34       ` Marcel Telka
  2021-10-25 15:40       ` Robert Mustacchi
  1 sibling, 2 replies; 41+ messages in thread
From: InterNetX - Kilian Ries @ 2021-10-25 15:06 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 25859 bytes --]

Hi Robert,

sure, the PCI ID is:


       pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
           pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]


As you said i don’t see any SSD / HDD devices via ptrconf output ( there should be 4x Intel SSDs connected to it).

Sure, just tell me and i will do the testing on our hardware ;)


Full output:


$ prtconf -dD
System Configuration:  Dell Inc.  i86pc
Memory size: 261769 Megabytes
System Peripherals (Software Nodes):

i86pc (driver name: rootnex)
   scsi_vhci, instance #0 (driver name: scsi_vhci)
   ramdisk, instance #0 (driver name: ramdisk)
   pci, instance #0 (driver name: npe)
       pci8086,0 (pciex8086,2020) [Intel Corporation Sky Lake-E DMI3 Registers]
       pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
       pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
       pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
       pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
       pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
       pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
       pci1028,7c9 (pciex8086,a1ec) [Intel Corporation C620 Series Chipset Family MROM 0]
       pci1028,7c9 (pciex8086,a1af) [Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller], instance #0 (driver name: xhci)
           hub, instance #0 (driver name: hubd)
               hub, instance #1 (driver name: hubd)
               device, instance #0 (driver name: usb_mid)
                   mouse, instance #0 (driver name: hid)
                   keyboard, instance #1 (driver name: hid)
               hub, instance #2 (driver name: hubd)
           storage, instance #0 (driver name: scsa2usb)
               disk, instance #0 (driver name: sd)
       pci1028,7c9 (pciex8086,a1b1) [Intel Corporation C620 Series Chipset Family Thermal Subsystem]
       pci1028,7c9 (pciex8086,a1ba) [Intel Corporation C620 Series Chipset Family MEI Controller #1]
       pci1028,7c9 (pciex8086,a1bb) [Intel Corporation C620 Series Chipset Family MEI Controller #2]
       pci1028,7c9 (pciex8086,a1be) [Intel Corporation C620 Series Chipset Family MEI Controller #3]
       pci8086,a190 (pciex8086,a190) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #1], instance #0 (driver name: pcieb)
       pci8086,a194 (pciex8086,a194) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #5], instance #1 (driver name: pcieb)
           pci1556,be00 (pciex1556,be00) [PLDA PCI Express Bridge], instance #3 (driver name: pcieb)
               display (pci102b,536) [Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller], instance #0 (driver name: vgatext)
       pci8086,a195 (pciex8086,a195) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #6], instance #2 (driver name: pcieb)
           pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #0 (driver name: bge)
           pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #1 (driver name: bge)
       isa (pciex8086,a1c1) [Intel Corporation C621 Series Chipset LPC/eSPI Controller], instance #0 (driver name: isa)
           asy, instance #0 (driver name: asy)
           asy, instance #1 (driver name: asy)
           pit_beep, instance #0 (driver name: pit_beep)
       pci1028,7c9 (pciex8086,a1a1) [Intel Corporation C620 Series Chipset Family Power Management Controller]
       pci1028,7c9 (pciex8086,a1a3) [Intel Corporation C620 Series Chipset Family SMBus]
       pci1028,7c9 (pciex8086,a1a4) [Intel Corporation C620 Series Chipset Family SPI Controller]
   ioapics
       ioapic, instance #0
       ioapic, instance #1
       ioapic, instance #2
       ioapic, instance #3
       ioapic, instance #4
       ioapic, instance #5
       ioapic, instance #6
       ioapic, instance #7
   pci, instance #1 (driver name: npe)
       pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
           pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
   pci, instance #2 (driver name: npe)
       pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #5 (driver name: pcieb)
           pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #6 (driver name: pcieb)
               pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #7 (driver name: pcieb)
                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #0 (driver name: igb)
                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #1 (driver name: igb)
               pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #8 (driver name: pcieb)
                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #2 (driver name: igb)
                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #3 (driver name: igb)
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
   pci, instance #3 (driver name: npe)
       pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #9 (driver name: pcieb)
           pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
           pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
       pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
   pci, instance #4 (driver name: npe)
       pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
       pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
       pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
       pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
       pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
       pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
   pci, instance #5 (driver name: npe)
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
       pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
       pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
   pci, instance #6 (driver name: npe)
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
   pci, instance #7 (driver name: npe)
       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
       pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
   fw, instance #0 (driver name: acpinex)
       sb, instance #1 (driver name: acpinex)
           socket, instance #2 (driver name: acpinex)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
           socket, instance #3 (driver name: acpinex)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
               cpu (driver name: cpudrv)
           usbroothub, instance #4 (driver name: acpinex)
               port, instance #5 (driver name: acpinex)
               port, instance #6 (driver name: acpinex)
               port, instance #7 (driver name: acpinex)
               port, instance #8 (driver name: acpinex)
               port, instance #9 (driver name: acpinex)
               port, instance #10 (driver name: acpinex)
               port, instance #11 (driver name: acpinex)
               port, instance #12 (driver name: acpinex)
               port, instance #13 (driver name: acpinex)
               port, instance #14 (driver name: acpinex)
               port, instance #15 (driver name: acpinex)
               port, instance #16 (driver name: acpinex)
               port, instance #17 (driver name: acpinex)
               port, instance #18 (driver name: acpinex)
               port, instance #19 (driver name: acpinex)
               port, instance #20 (driver name: acpinex)
               port, instance #21 (driver name: acpinex)
               port, instance #22 (driver name: acpinex)
               port, instance #23 (driver name: acpinex)
               port, instance #24 (driver name: acpinex)
               port, instance #25 (driver name: acpinex)
               port, instance #26 (driver name: acpinex)
                   port, instance #31 (driver name: acpinex)
                   port, instance #32 (driver name: acpinex)
                   port, instance #33 (driver name: acpinex)
                   port, instance #34 (driver name: acpinex)
               port, instance #27 (driver name: acpinex)
               port, instance #28 (driver name: acpinex)
               port, instance #29 (driver name: acpinex)
               port, instance #30 (driver name: acpinex)
   motherboard
   used-resources
   iscsi, instance #0 (driver name: iscsi)
   options, instance #0 (driver name: options)
   pseudo, instance #0 (driver name: pseudo)
   xsvc, instance #0 (driver name: xsvc)


Regards,
Kilian


> Am 25.10.2021 um 16:26 schrieb Robert Mustacchi <rm@fingolfin.org>:
> 
> On 10/25/21 6:29 AM, kilian.ries@internetx.com wrote:
>> Hi,
>> 
>> just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work!
>> 
>> Regarding the driver manual page
>> 
>> https://illumos.org/man/7d/mpt_sas
>> 
>> " ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."
>> 
>> the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo).
>> 
>> Any ideas?
> 
> Hi Kilian and Gabriele,
> 
> Can you share what the pci id of the devices in question are? The
> simplest way to get that would be to look at prtconf -dD.
> 
> Currently these chipsets aren't supported. Adding support for newer
> revisions of the chipset usually aren't too bad (though I don't have
> access to those docs any more) so there may be newer events or other
> things going on that we won't be able toe easily support.
> 
> Kilian, seeing it in modinfo but no devices is a pretty common thing
> because we will need to update the set of aliases that this device
> attaches to for newer devices. That is, the driver can be loaded;
> however, it may not be attached to any instances. I expect if you look
> at that prtconf -dD output you will not see anything that is attached to
> mpt_sas. Can you please confirm that?
> 
> If both of you can get me those PCI IDs, then we can take a look at what
> it means to update support in illumos for these devices, assuming both
> of you are willing to provide help testing here. In addition, I guess we
> should update the manual page to more explicitly call out which
> generations are supported there.
> 
> Robert
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mfb5ee8ef2cb418ee21993647
> Delivery options: https://illumos.topicbox.com/groups/developer/subscription


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 499 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 15:06     ` [developer] " InterNetX - Kilian Ries
@ 2021-10-25 15:34       ` Marcel Telka
  2021-10-26  8:47         ` Marcel Telka
  2021-10-25 15:40       ` Robert Mustacchi
  1 sibling, 1 reply; 41+ messages in thread
From: Marcel Telka @ 2021-10-25 15:34 UTC (permalink / raw)
  To: illumos-developer

On Mon, Oct 25, 2021 at 05:06:51PM +0200, InterNetX - Kilian Ries wrote:
> sure, the PCI ID is:
> 
> 
>        pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>            pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]

I have access to one such beast too and I'm willing to test updated
mptsas driver there (or anything else :-)).

Output from scanpci:

pci bus 0x0082 cardnum 0x00 function 0x00: vendor 0x1000 device 0x00e6
 Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx
 CardVendor 0x1000 card 0x4060 (Broadcom / LSI, Card unknown)
  STATUS    0x0010  COMMAND 0x0007
  CLASS     0x01 0x07 0x00  REVISION 0x00
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x10
  BASE0     0xfa100000 SIZE 1048576  MEM PREFETCHABLE
  BASE2     0xfa000000 SIZE 1048576  MEM PREFETCHABLE
  BASE4     0xfbb00000 SIZE 1048576  MEM
  BASE5     0x0000f000 SIZE 256  I/O
  BASEROM   0x00000000  addr 0x00000000
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b

I'm not sure what card exactly it is.  I'll try to find out.


HTH.

-- 
+-------------------------------------------+
| Marcel Telka   e-mail:   marcel@telka.sk  |
|                homepage: http://telka.sk/ |
+-------------------------------------------+

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 15:06     ` [developer] " InterNetX - Kilian Ries
  2021-10-25 15:34       ` Marcel Telka
@ 2021-10-25 15:40       ` Robert Mustacchi
  2021-10-25 15:48         ` InterNetX - Kilian Ries
  1 sibling, 1 reply; 41+ messages in thread
From: Robert Mustacchi @ 2021-10-25 15:40 UTC (permalink / raw)
  To: illumos-developer, InterNetX - Kilian Ries

On 10/25/21 8:06 AM, InterNetX - Kilian Ries wrote:
> Hi Robert,
> 
> sure, the PCI ID is:
> 
> 
>        pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>            pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
> 
> 
> As you said i don’t see any SSD / HDD devices via ptrconf output ( there should be 4x Intel SSDs connected to it).
> 
> Sure, just tell me and i will do the testing on our hardware ;)

Thanks for the confirmation there Kilian. I'll work on getting a patch
together for this sometime this week and reply to this thread with a
patch. Are you comfortable building illumos yourself? If not, what
distribution are you using and if so, which one so we can help to get
something together.

Thanks,
Robert

> $ prtconf -dD
> System Configuration:  Dell Inc.  i86pc
> Memory size: 261769 Megabytes
> System Peripherals (Software Nodes):
> 
> i86pc (driver name: rootnex)
>    scsi_vhci, instance #0 (driver name: scsi_vhci)
>    ramdisk, instance #0 (driver name: ramdisk)
>    pci, instance #0 (driver name: npe)
>        pci8086,0 (pciex8086,2020) [Intel Corporation Sky Lake-E DMI3 Registers]
>        pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
>        pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
>        pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
>        pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
>        pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
>        pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
>        pci1028,7c9 (pciex8086,a1ec) [Intel Corporation C620 Series Chipset Family MROM 0]
>        pci1028,7c9 (pciex8086,a1af) [Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller], instance #0 (driver name: xhci)
>            hub, instance #0 (driver name: hubd)
>                hub, instance #1 (driver name: hubd)
>                device, instance #0 (driver name: usb_mid)
>                    mouse, instance #0 (driver name: hid)
>                    keyboard, instance #1 (driver name: hid)
>                hub, instance #2 (driver name: hubd)
>            storage, instance #0 (driver name: scsa2usb)
>                disk, instance #0 (driver name: sd)
>        pci1028,7c9 (pciex8086,a1b1) [Intel Corporation C620 Series Chipset Family Thermal Subsystem]
>        pci1028,7c9 (pciex8086,a1ba) [Intel Corporation C620 Series Chipset Family MEI Controller #1]
>        pci1028,7c9 (pciex8086,a1bb) [Intel Corporation C620 Series Chipset Family MEI Controller #2]
>        pci1028,7c9 (pciex8086,a1be) [Intel Corporation C620 Series Chipset Family MEI Controller #3]
>        pci8086,a190 (pciex8086,a190) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #1], instance #0 (driver name: pcieb)
>        pci8086,a194 (pciex8086,a194) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #5], instance #1 (driver name: pcieb)
>            pci1556,be00 (pciex1556,be00) [PLDA PCI Express Bridge], instance #3 (driver name: pcieb)
>                display (pci102b,536) [Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller], instance #0 (driver name: vgatext)
>        pci8086,a195 (pciex8086,a195) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #6], instance #2 (driver name: pcieb)
>            pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #0 (driver name: bge)
>            pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #1 (driver name: bge)
>        isa (pciex8086,a1c1) [Intel Corporation C621 Series Chipset LPC/eSPI Controller], instance #0 (driver name: isa)
>            asy, instance #0 (driver name: asy)
>            asy, instance #1 (driver name: asy)
>            pit_beep, instance #0 (driver name: pit_beep)
>        pci1028,7c9 (pciex8086,a1a1) [Intel Corporation C620 Series Chipset Family Power Management Controller]
>        pci1028,7c9 (pciex8086,a1a3) [Intel Corporation C620 Series Chipset Family SMBus]
>        pci1028,7c9 (pciex8086,a1a4) [Intel Corporation C620 Series Chipset Family SPI Controller]
>    ioapics
>        ioapic, instance #0
>        ioapic, instance #1
>        ioapic, instance #2
>        ioapic, instance #3
>        ioapic, instance #4
>        ioapic, instance #5
>        ioapic, instance #6
>        ioapic, instance #7
>    pci, instance #1 (driver name: npe)
>        pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>            pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
>    pci, instance #2 (driver name: npe)
>        pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #5 (driver name: pcieb)
>            pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #6 (driver name: pcieb)
>                pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #7 (driver name: pcieb)
>                    pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #0 (driver name: igb)
>                    pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #1 (driver name: igb)
>                pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #8 (driver name: pcieb)
>                    pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #2 (driver name: igb)
>                    pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #3 (driver name: igb)
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>        pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>        pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>        pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>        pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>        pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>        pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>        pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>        pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>        pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>        pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>        pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>        pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>        pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>    pci, instance #3 (driver name: npe)
>        pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #9 (driver name: pcieb)
>            pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
>            pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>        pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>        pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>        pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>        pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>    pci, instance #4 (driver name: npe)
>        pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
>        pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
>        pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
>        pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
>        pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
>        pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
>    pci, instance #5 (driver name: npe)
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
>        pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
>        pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
>    pci, instance #6 (driver name: npe)
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>        pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>        pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>        pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>        pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>        pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>        pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>        pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>        pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>        pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>        pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>        pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>        pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>        pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>        pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>    pci, instance #7 (driver name: npe)
>        pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>        pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>        pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>        pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>        pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>        pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>        pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>        pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>        pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>        pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>    fw, instance #0 (driver name: acpinex)
>        sb, instance #1 (driver name: acpinex)
>            socket, instance #2 (driver name: acpinex)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>            socket, instance #3 (driver name: acpinex)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>                cpu (driver name: cpudrv)
>            usbroothub, instance #4 (driver name: acpinex)
>                port, instance #5 (driver name: acpinex)
>                port, instance #6 (driver name: acpinex)
>                port, instance #7 (driver name: acpinex)
>                port, instance #8 (driver name: acpinex)
>                port, instance #9 (driver name: acpinex)
>                port, instance #10 (driver name: acpinex)
>                port, instance #11 (driver name: acpinex)
>                port, instance #12 (driver name: acpinex)
>                port, instance #13 (driver name: acpinex)
>                port, instance #14 (driver name: acpinex)
>                port, instance #15 (driver name: acpinex)
>                port, instance #16 (driver name: acpinex)
>                port, instance #17 (driver name: acpinex)
>                port, instance #18 (driver name: acpinex)
>                port, instance #19 (driver name: acpinex)
>                port, instance #20 (driver name: acpinex)
>                port, instance #21 (driver name: acpinex)
>                port, instance #22 (driver name: acpinex)
>                port, instance #23 (driver name: acpinex)
>                port, instance #24 (driver name: acpinex)
>                port, instance #25 (driver name: acpinex)
>                port, instance #26 (driver name: acpinex)
>                    port, instance #31 (driver name: acpinex)
>                    port, instance #32 (driver name: acpinex)
>                    port, instance #33 (driver name: acpinex)
>                    port, instance #34 (driver name: acpinex)
>                port, instance #27 (driver name: acpinex)
>                port, instance #28 (driver name: acpinex)
>                port, instance #29 (driver name: acpinex)
>                port, instance #30 (driver name: acpinex)
>    motherboard
>    used-resources
>    iscsi, instance #0 (driver name: iscsi)
>    options, instance #0 (driver name: options)
>    pseudo, instance #0 (driver name: pseudo)
>    xsvc, instance #0 (driver name: xsvc)
> 
> 
> Regards,
> Kilian
> 
> 
>> Am 25.10.2021 um 16:26 schrieb Robert Mustacchi <rm@fingolfin.org>:
>>
>> On 10/25/21 6:29 AM, kilian.ries@internetx.com wrote:
>>> Hi,
>>>
>>> just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work!
>>>
>>> Regarding the driver manual page
>>>
>>> https://illumos.org/man/7d/mpt_sas
>>>
>>> " ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."
>>>
>>> the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo).
>>>
>>> Any ideas?
>>
>> Hi Kilian and Gabriele,
>>
>> Can you share what the pci id of the devices in question are? The
>> simplest way to get that would be to look at prtconf -dD.
>>
>> Currently these chipsets aren't supported. Adding support for newer
>> revisions of the chipset usually aren't too bad (though I don't have
>> access to those docs any more) so there may be newer events or other
>> things going on that we won't be able toe easily support.
>>
>> Kilian, seeing it in modinfo but no devices is a pretty common thing
>> because we will need to update the set of aliases that this device
>> attaches to for newer devices. That is, the driver can be loaded;
>> however, it may not be attached to any instances. I expect if you look
>> at that prtconf -dD output you will not see anything that is attached to
>> mpt_sas. Can you please confirm that?
>>
>> If both of you can get me those PCI IDs, then we can take a look at what
>> it means to update support in illumos for these devices, assuming both
>> of you are willing to provide help testing here. In addition, I guess we
>> should update the manual page to more explicitly call out which
>> generations are supported there.
>>
>> Robert
>>
>> ------------------------------------------
>> illumos: illumos-developer
>> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mfb5ee8ef2cb418ee21993647
>> Delivery options: https://illumos.topicbox.com/groups/developer/subscription
> 
> 
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M7d20f30c0cd537c57ea156fc
> Delivery options: https://illumos.topicbox.com/groups/developer/subscription
> 


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 15:40       ` Robert Mustacchi
@ 2021-10-25 15:48         ` InterNetX - Kilian Ries
  2022-04-30 10:39           ` clement.jourdan
  0 siblings, 1 reply; 41+ messages in thread
From: InterNetX - Kilian Ries @ 2021-10-25 15:48 UTC (permalink / raw)
  To: Robert Mustacchi; +Cc: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 27628 bytes --]



> Am 25.10.2021 um 17:40 schrieb Robert Mustacchi <rm@fingolfin.org>:
> 
> On 10/25/21 8:06 AM, InterNetX - Kilian Ries wrote:
>> Hi Robert,
>> 
>> sure, the PCI ID is:
>> 
>> 
>>       pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>>           pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
>> 
>> 
>> As you said i don’t see any SSD / HDD devices via ptrconf output ( there should be 4x Intel SSDs connected to it).
>> 
>> Sure, just tell me and i will do the testing on our hardware ;)
> 
> Thanks for the confirmation there Kilian. I'll work on getting a patch
> together for this sometime this week and reply to this thread with a
> patch. Are you comfortable building illumos yourself? If not, what
> distribution are you using and if so, which one so we can help to get
> something together.
> 

Great ;)

We build our custom SmartOS so if you provide us with a git / patchfile, we should be able to build something for testing.

Our test machine is a Dell R440 server with Dell HBA350i if that helps …

Regards,
Kilian

> Thanks,
> Robert
> 
>> $ prtconf -dD
>> System Configuration:  Dell Inc.  i86pc
>> Memory size: 261769 Megabytes
>> System Peripherals (Software Nodes):
>> 
>> i86pc (driver name: rootnex)
>>   scsi_vhci, instance #0 (driver name: scsi_vhci)
>>   ramdisk, instance #0 (driver name: ramdisk)
>>   pci, instance #0 (driver name: npe)
>>       pci8086,0 (pciex8086,2020) [Intel Corporation Sky Lake-E DMI3 Registers]
>>       pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
>>       pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
>>       pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
>>       pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
>>       pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
>>       pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
>>       pci1028,7c9 (pciex8086,a1ec) [Intel Corporation C620 Series Chipset Family MROM 0]
>>       pci1028,7c9 (pciex8086,a1af) [Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller], instance #0 (driver name: xhci)
>>           hub, instance #0 (driver name: hubd)
>>               hub, instance #1 (driver name: hubd)
>>               device, instance #0 (driver name: usb_mid)
>>                   mouse, instance #0 (driver name: hid)
>>                   keyboard, instance #1 (driver name: hid)
>>               hub, instance #2 (driver name: hubd)
>>           storage, instance #0 (driver name: scsa2usb)
>>               disk, instance #0 (driver name: sd)
>>       pci1028,7c9 (pciex8086,a1b1) [Intel Corporation C620 Series Chipset Family Thermal Subsystem]
>>       pci1028,7c9 (pciex8086,a1ba) [Intel Corporation C620 Series Chipset Family MEI Controller #1]
>>       pci1028,7c9 (pciex8086,a1bb) [Intel Corporation C620 Series Chipset Family MEI Controller #2]
>>       pci1028,7c9 (pciex8086,a1be) [Intel Corporation C620 Series Chipset Family MEI Controller #3]
>>       pci8086,a190 (pciex8086,a190) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #1], instance #0 (driver name: pcieb)
>>       pci8086,a194 (pciex8086,a194) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #5], instance #1 (driver name: pcieb)
>>           pci1556,be00 (pciex1556,be00) [PLDA PCI Express Bridge], instance #3 (driver name: pcieb)
>>               display (pci102b,536) [Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller], instance #0 (driver name: vgatext)
>>       pci8086,a195 (pciex8086,a195) [Intel Corporation C620 Series Chipset Family PCI Express Root Port #6], instance #2 (driver name: pcieb)
>>           pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #0 (driver name: bge)
>>           pci1028,1f (pciex14e4,165f) [Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe], instance #1 (driver name: bge)
>>       isa (pciex8086,a1c1) [Intel Corporation C621 Series Chipset LPC/eSPI Controller], instance #0 (driver name: isa)
>>           asy, instance #0 (driver name: asy)
>>           asy, instance #1 (driver name: asy)
>>           pit_beep, instance #0 (driver name: pit_beep)
>>       pci1028,7c9 (pciex8086,a1a1) [Intel Corporation C620 Series Chipset Family Power Management Controller]
>>       pci1028,7c9 (pciex8086,a1a3) [Intel Corporation C620 Series Chipset Family SMBus]
>>       pci1028,7c9 (pciex8086,a1a4) [Intel Corporation C620 Series Chipset Family SPI Controller]
>>   ioapics
>>       ioapic, instance #0
>>       ioapic, instance #1
>>       ioapic, instance #2
>>       ioapic, instance #3
>>       ioapic, instance #4
>>       ioapic, instance #5
>>       ioapic, instance #6
>>       ioapic, instance #7
>>   pci, instance #1 (driver name: npe)
>>       pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>>           pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
>>   pci, instance #2 (driver name: npe)
>>       pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #5 (driver name: pcieb)
>>           pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #6 (driver name: pcieb)
>>               pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #7 (driver name: pcieb)
>>                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #0 (driver name: igb)
>>                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #1 (driver name: igb)
>>               pci111d,8018 (pciex111d,8018) [Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch], instance #8 (driver name: pcieb)
>>                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #2 (driver name: igb)
>>                   pci8086,a02c (pciex8086,10e8) [Intel Corporation 82576 Gigabit Network Connection], instance #3 (driver name: igb)
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>>       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>>       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>>       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>>       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>>       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>>       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>>       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>>       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>>       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>>       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>>       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>>       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>>       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>>   pci, instance #3 (driver name: npe)
>>       pci8086,2030 (pciex8086,2030) [Intel Corporation Sky Lake-E PCI Express Root Port A], instance #9 (driver name: pcieb)
>>           pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
>>           pci1028,1fea (pciex14e4,16d8) [Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller]
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>>       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>>       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>>       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>>       pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>   pci, instance #4 (driver name: npe)
>>       pci8086,0 (pciex8086,2024) [Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers]
>>       pci8086,2025 (pciex8086,2025) [Intel Corporation Sky Lake-E RAS]
>>       pci8086,2026 (pciex8086,2026) [Intel Corporation Sky Lake-E IOAPIC]
>>       pci8086,0 (pciex8086,2014) [Intel Corporation Sky Lake-E Ubox Registers]
>>       pci8086,0 (pciex8086,2015) [Intel Corporation Sky Lake-E Ubox Registers]
>>       pci8086,0 (pciex8086,2016) [Intel Corporation Sky Lake-E Ubox Registers]
>>   pci, instance #5 (driver name: npe)
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208d) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,208e) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2054) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2055) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2056) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2057) [Intel Corporation Sky Lake-E CHA Registers]
>>       pci8086,0 (pciex8086,2080) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2081) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2082) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2083) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2084) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2085) [Intel Corporation Sky Lake-E PCU Registers]
>>       pci8086,0 (pciex8086,2086) [Intel Corporation Sky Lake-E PCU Registers]
>>   pci, instance #6 (driver name: npe)
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2066) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>>       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>>       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>>       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>>       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>>       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>>       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>>       pci8086,0 (pciex8086,2040) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2041) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2042) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2043) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2044) [Intel Corporation Sky Lake-E Integrated Memory Controller]
>>       pci8086,0 (pciex8086,2045) [Intel Corporation Sky Lake-E LM Channel 1]
>>       pci8086,0 (pciex8086,2046) [Intel Corporation Sky Lake-E LMS Channel 1]
>>       pci8086,0 (pciex8086,2047) [Intel Corporation Sky Lake-E LMDP Channel 1]
>>       pci8086,0 (pciex8086,2048) [Intel Corporation Sky Lake-E DECS Channel 2]
>>       pci8086,0 (pciex8086,2049) [Intel Corporation Sky Lake-E LM Channel 2]
>>       pci8086,0 (pciex8086,204a) [Intel Corporation Sky Lake-E LMS Channel 2]
>>       pci8086,0 (pciex8086,204b) [Intel Corporation Sky Lake-E LMDP Channel 2]
>>   pci, instance #7 (driver name: npe)
>>       pci8086,0 (pciex8086,2034) [Intel Corporation Sky Lake-E VT-d]
>>       pci8086,2035 (pciex8086,2035) [Intel Corporation Sky Lake-E RAS Configuration Registers]
>>       pci8086,2036 (pciex8086,2036) [Intel Corporation Sky Lake-E IOxAPIC Configuration Registers]
>>       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>>       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>>       pci8086,0 (pciex8086,2058) [Intel Corporation Sky Lake-E KTI 0]
>>       pci8086,0 (pciex8086,2059) [Intel Corporation Sky Lake-E UPI Registers]
>>       pci8086,0 (pciex8086,204c) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,204d) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,204e) [Intel Corporation Sky Lake-E M3KTI Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>       pci8086,0 (pciex8086,2018) [Intel Corporation Sky Lake-E M2PCI Registers]
>>       pci8086,0 (pciex8086,2088) [Intel Corporation Sky Lake-E DDRIO Registers]
>>   fw, instance #0 (driver name: acpinex)
>>       sb, instance #1 (driver name: acpinex)
>>           socket, instance #2 (driver name: acpinex)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>           socket, instance #3 (driver name: acpinex)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>               cpu (driver name: cpudrv)
>>           usbroothub, instance #4 (driver name: acpinex)
>>               port, instance #5 (driver name: acpinex)
>>               port, instance #6 (driver name: acpinex)
>>               port, instance #7 (driver name: acpinex)
>>               port, instance #8 (driver name: acpinex)
>>               port, instance #9 (driver name: acpinex)
>>               port, instance #10 (driver name: acpinex)
>>               port, instance #11 (driver name: acpinex)
>>               port, instance #12 (driver name: acpinex)
>>               port, instance #13 (driver name: acpinex)
>>               port, instance #14 (driver name: acpinex)
>>               port, instance #15 (driver name: acpinex)
>>               port, instance #16 (driver name: acpinex)
>>               port, instance #17 (driver name: acpinex)
>>               port, instance #18 (driver name: acpinex)
>>               port, instance #19 (driver name: acpinex)
>>               port, instance #20 (driver name: acpinex)
>>               port, instance #21 (driver name: acpinex)
>>               port, instance #22 (driver name: acpinex)
>>               port, instance #23 (driver name: acpinex)
>>               port, instance #24 (driver name: acpinex)
>>               port, instance #25 (driver name: acpinex)
>>               port, instance #26 (driver name: acpinex)
>>                   port, instance #31 (driver name: acpinex)
>>                   port, instance #32 (driver name: acpinex)
>>                   port, instance #33 (driver name: acpinex)
>>                   port, instance #34 (driver name: acpinex)
>>               port, instance #27 (driver name: acpinex)
>>               port, instance #28 (driver name: acpinex)
>>               port, instance #29 (driver name: acpinex)
>>               port, instance #30 (driver name: acpinex)
>>   motherboard
>>   used-resources
>>   iscsi, instance #0 (driver name: iscsi)
>>   options, instance #0 (driver name: options)
>>   pseudo, instance #0 (driver name: pseudo)
>>   xsvc, instance #0 (driver name: xsvc)
>> 
>> 
>> Regards,
>> Kilian
>> 
>> 
>>> Am 25.10.2021 um 16:26 schrieb Robert Mustacchi <rm@fingolfin.org>:
>>> 
>>> On 10/25/21 6:29 AM, kilian.ries@internetx.com wrote:
>>>> Hi,
>>>> 
>>>> just tested with OmniOS bloody and LSI SAS3816 controller card does NOT work!
>>>> 
>>>> Regarding the driver manual page
>>>> 
>>>> https://illumos.org/man/7d/mpt_sas
>>>> 
>>>> " ... SAS chipsets including the SAS200x/2x08/2x16 and SAS300x/3x08/3x16/3x24 series of chips ..."
>>>> 
>>>> the chipset should work. Hoewever, after boot i cannot find / see any disks. Driver seems to be loaded correctly (modinfo).
>>>> 
>>>> Any ideas?
>>> 
>>> Hi Kilian and Gabriele,
>>> 
>>> Can you share what the pci id of the devices in question are? The
>>> simplest way to get that would be to look at prtconf -dD.
>>> 
>>> Currently these chipsets aren't supported. Adding support for newer
>>> revisions of the chipset usually aren't too bad (though I don't have
>>> access to those docs any more) so there may be newer events or other
>>> things going on that we won't be able toe easily support.
>>> 
>>> Kilian, seeing it in modinfo but no devices is a pretty common thing
>>> because we will need to update the set of aliases that this device
>>> attaches to for newer devices. That is, the driver can be loaded;
>>> however, it may not be attached to any instances. I expect if you look
>>> at that prtconf -dD output you will not see anything that is attached to
>>> mpt_sas. Can you please confirm that?
>>> 
>>> If both of you can get me those PCI IDs, then we can take a look at what
>>> it means to update support in illumos for these devices, assuming both
>>> of you are willing to provide help testing here. In addition, I guess we
>>> should update the manual page to more explicitly call out which
>>> generations are supported there.
>>> 
>>> Robert
>>> 
>>> ------------------------------------------
>>> illumos: illumos-developer
>>> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mfb5ee8ef2cb418ee21993647
>>> Delivery options: https://illumos.topicbox.com/groups/developer/subscription
>> 
>> 
>> 
>> ------------------------------------------
>> illumos: illumos-developer
>> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M7d20f30c0cd537c57ea156fc
>> Delivery options: https://illumos.topicbox.com/groups/developer/subscription
>> 
> 


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 499 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 15:34       ` Marcel Telka
@ 2021-10-26  8:47         ` Marcel Telka
  2021-10-30 14:55           ` Robert Mustacchi
  0 siblings, 1 reply; 41+ messages in thread
From: Marcel Telka @ 2021-10-26  8:47 UTC (permalink / raw)
  To: illumos-developer

On Mon, Oct 25, 2021 at 05:34:32PM +0200, Marcel Telka wrote:
> On Mon, Oct 25, 2021 at 05:06:51PM +0200, InterNetX - Kilian Ries wrote:
> > sure, the PCI ID is:
> > 
> > 
> >        pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
> >            pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
> 
> I have access to one such beast too and I'm willing to test updated
> mptsas driver there (or anything else :-)).
> 
> Output from scanpci:
> 
> pci bus 0x0082 cardnum 0x00 function 0x00: vendor 0x1000 device 0x00e6
>  Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx
>  CardVendor 0x1000 card 0x4060 (Broadcom / LSI, Card unknown)
>   STATUS    0x0010  COMMAND 0x0007
>   CLASS     0x01 0x07 0x00  REVISION 0x00
>   BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x10
>   BASE0     0xfa100000 SIZE 1048576  MEM PREFETCHABLE
>   BASE2     0xfa000000 SIZE 1048576  MEM PREFETCHABLE
>   BASE4     0xfbb00000 SIZE 1048576  MEM
>   BASE5     0x0000f000 SIZE 256  I/O
>   BASEROM   0x00000000  addr 0x00000000
>   MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b

FYI, I tried this:

# update_drv -a -i '"pciex1000,e6"' mpt_sas

And the driver attach failed with these messages:

scsi: [ID 365881 kern.info] /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
       mptsas20 supports power management.
scsi: [ID 365881 kern.info] /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
       mptsas20 supports power management.
scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
       hard reset failed!
scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
       mptsas chip initialization failed
scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
       attach failed

-- 
+-------------------------------------------+
| Marcel Telka   e-mail:   marcel@telka.sk  |
|                homepage: http://telka.sk/ |
+-------------------------------------------+

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-26  8:47         ` Marcel Telka
@ 2021-10-30 14:55           ` Robert Mustacchi
  2021-11-02  9:44             ` Marcel Telka
  0 siblings, 1 reply; 41+ messages in thread
From: Robert Mustacchi @ 2021-10-30 14:55 UTC (permalink / raw)
  To: illumos-developer, Marcel Telka

On 10/26/21 1:47 AM, Marcel Telka wrote:
> On Mon, Oct 25, 2021 at 05:34:32PM +0200, Marcel Telka wrote:
>> On Mon, Oct 25, 2021 at 05:06:51PM +0200, InterNetX - Kilian Ries wrote:
>>> sure, the PCI ID is:
>>>
>>>
>>>        pci8086,2032 (pciex8086,2032) [Intel Corporation Sky Lake-E PCI Express Root Port C], instance #4 (driver name: pcieb)
>>>            pci1028,2175 (pciex1000,e6) [Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx]
>>
>> I have access to one such beast too and I'm willing to test updated
>> mptsas driver there (or anything else :-)).
>>
>> Output from scanpci:
>>
>> pci bus 0x0082 cardnum 0x00 function 0x00: vendor 0x1000 device 0x00e6
>>  Broadcom / LSI Fusion-MPT 12GSAS/PCIe Secure SAS38xx
>>  CardVendor 0x1000 card 0x4060 (Broadcom / LSI, Card unknown)
>>   STATUS    0x0010  COMMAND 0x0007
>>   CLASS     0x01 0x07 0x00  REVISION 0x00
>>   BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x10
>>   BASE0     0xfa100000 SIZE 1048576  MEM PREFETCHABLE
>>   BASE2     0xfa000000 SIZE 1048576  MEM PREFETCHABLE
>>   BASE4     0xfbb00000 SIZE 1048576  MEM
>>   BASE5     0x0000f000 SIZE 256  I/O
>>   BASEROM   0x00000000  addr 0x00000000
>>   MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b
> 
> FYI, I tried this:
> 
> # update_drv -a -i '"pciex1000,e6"' mpt_sas
> 
> And the driver attach failed with these messages:
> 
> scsi: [ID 365881 kern.info] /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
>        mptsas20 supports power management.
> scsi: [ID 365881 kern.info] /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
>        mptsas20 supports power management.
> scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
>        hard reset failed!
> scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
>        mptsas chip initialization failed
> scsi: [ID 107833 kern.warning] WARNING: /pci@79,0/pci8086,6f08@3/pci1000,4060@0 (mpt_sas20):
>        attach failed
> 

Thanks for that information, Marcel. The reset failing isn't
encouraging. While there are some updates to the common MPI headers, it
looked like these devices were still MPI 2.6, though maybe there's
something else going on in the manufacturing vs. secure mode changes.
I'll still look at seeing what happens with an MPI update and go on the
look and see if there's something else specific to these IOCs.
Unfortunately, no longer having access to the NDA docs makes this a bit
harder. I may prod some folks to see if they can get them again and if
someone lurking on this thread happens to have a relationship with
Broadcom that would reasonably have these, maybe reach out to me privately.

Robert

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-30 14:55           ` Robert Mustacchi
@ 2021-11-02  9:44             ` Marcel Telka
  2021-12-01 16:27               ` InterNetX - Kilian Ries
  0 siblings, 1 reply; 41+ messages in thread
From: Marcel Telka @ 2021-11-02  9:44 UTC (permalink / raw)
  To: Robert Mustacchi; +Cc: illumos-developer

On Sat, Oct 30, 2021 at 07:55:57AM -0700, Robert Mustacchi wrote:
> Thanks for that information, Marcel. The reset failing isn't
> encouraging. While there are some updates to the common MPI headers, it
> looked like these devices were still MPI 2.6, though maybe there's
> something else going on in the manufacturing vs. secure mode changes.

Yes, that's my fear too.

> I'll still look at seeing what happens with an MPI update and go on the
> look and see if there's something else specific to these IOCs.
> Unfortunately, no longer having access to the NDA docs makes this a bit
> harder. I may prod some folks to see if they can get them again and if
> someone lurking on this thread happens to have a relationship with
> Broadcom that would reasonably have these, maybe reach out to me privately.

This is probably the biggest problem of the mpt_sas driver: the missing
documentation from Broadcom/LSI.  I'm dealing with few problems in the
mpt_sas driver (not related to these 3816/3808 controllers), but without
the doc they are hardly solvable :-(.

For example, with new firmware on their older controllers some disk
initialization sequences changed (in the firmware) and the mpt_sas
driver is no longer able to properly detect hotplugged SATA disks.

I assume this is because the initialization sequence is wrong even for
older firmware and it just accidentally worked somehow, but since I have
no access to the docs I cannot neither confirm nor deny my suspicion.


Thanks.

-- 
+-------------------------------------------+
| Marcel Telka   e-mail:   marcel@telka.sk  |
|                homepage: http://telka.sk/ |
+-------------------------------------------+

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-11-02  9:44             ` Marcel Telka
@ 2021-12-01 16:27               ` InterNetX - Kilian Ries
  2021-12-16 14:39                 ` Marcel Telka
  0 siblings, 1 reply; 41+ messages in thread
From: InterNetX - Kilian Ries @ 2021-12-01 16:27 UTC (permalink / raw)
  To: illumos-developer; +Cc: Robert Mustacchi

[-- Attachment #1: Type: text/plain, Size: 2574 bytes --]

Hi,

just got a new server from Lenovo with a RAID 930-8i controller. The controller is based on the LSI SAS3508 chipset and is also NOT working :/

The SAS3508 is broken like the SAS3808.

The only one we got running was SAS3008.

Is there anything new on the missing internal PDFs from Broadcom/LSI? Can you tell me exactly what documents you need to adjust the driver? Maybe i can try to get something via our supplier …

Thanks
Regards,
Kilian

> Am 02.11.2021 um 10:44 schrieb Marcel Telka <marcel@telka.sk>:
> 
> On Sat, Oct 30, 2021 at 07:55:57AM -0700, Robert Mustacchi wrote:
>> Thanks for that information, Marcel. The reset failing isn't
>> encouraging. While there are some updates to the common MPI headers, it
>> looked like these devices were still MPI 2.6, though maybe there's
>> something else going on in the manufacturing vs. secure mode changes.
> 
> Yes, that's my fear too.
> 
>> I'll still look at seeing what happens with an MPI update and go on the
>> look and see if there's something else specific to these IOCs.
>> Unfortunately, no longer having access to the NDA docs makes this a bit
>> harder. I may prod some folks to see if they can get them again and if
>> someone lurking on this thread happens to have a relationship with
>> Broadcom that would reasonably have these, maybe reach out to me privately.
> 
> This is probably the biggest problem of the mpt_sas driver: the missing
> documentation from Broadcom/LSI.  I'm dealing with few problems in the
> mpt_sas driver (not related to these 3816/3808 controllers), but without
> the doc they are hardly solvable :-(.
> 
> For example, with new firmware on their older controllers some disk
> initialization sequences changed (in the firmware) and the mpt_sas
> driver is no longer able to properly detect hotplugged SATA disks.
> 
> I assume this is because the initialization sequence is wrong even for
> older firmware and it just accidentally worked somehow, but since I have
> no access to the docs I cannot neither confirm nor deny my suspicion.
> 
> 
> Thanks.
> 
> --
> +-------------------------------------------+
> | Marcel Telka   e-mail:   marcel@telka.sk  |
> |                homepage: http://telka.sk/ |
> +-------------------------------------------+
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M8d1202f4ad70183459298818
> Delivery options: https://illumos.topicbox.com/groups/developer/subscription


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 499 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-12-01 16:27               ` InterNetX - Kilian Ries
@ 2021-12-16 14:39                 ` Marcel Telka
  0 siblings, 0 replies; 41+ messages in thread
From: Marcel Telka @ 2021-12-16 14:39 UTC (permalink / raw)
  To: illumos-developer

On Wed, Dec 01, 2021 at 05:27:01PM +0100, InterNetX - Kilian Ries wrote:
> Can you tell me exactly what documents you need to adjust the driver?
> Maybe i can try to get something via our supplier …

I believe you need developer's documentation for the particular chip.
I'm not sure how exactly LSI/Broadcom/Avago titles these documents, but
Intel used to name them "Developer's Manual".


Thanks.

-- 
+-------------------------------------------+
| Marcel Telka   e-mail:   marcel@telka.sk  |
|                homepage: http://telka.sk/ |
+-------------------------------------------+

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2021-10-25 15:48         ` InterNetX - Kilian Ries
@ 2022-04-30 10:39           ` clement.jourdan
  2022-05-02 23:37             ` smaybee
  0 siblings, 1 reply; 41+ messages in thread
From: clement.jourdan @ 2022-04-30 10:39 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 205 bytes --]

Hi,
We have the same concern regarding sas3808 controller and mpt_sas driver. I don't see any updates on this thread since a while, is there a patch than we can try ?
Thanks for your work.
Best regards.

[-- Attachment #2: Type: text/html, Size: 300 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-04-30 10:39           ` clement.jourdan
@ 2022-05-02 23:37             ` smaybee
  2022-07-07 13:11               ` kilian.ries
  2023-05-01 20:53               ` smaybee
  0 siblings, 2 replies; 41+ messages in thread
From: smaybee @ 2022-05-02 23:37 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 3099 bytes --]

Hi,
We are also very interested in having a driver for this controller.  I tried the following simple patch:
diff --git a/usr/src/pkg/manifests/driver-storage-mr_sas.p5m b/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
index aed758a2d5..ba1cba8748 100644
--- a/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
+++ b/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
@@ -60,6 +60,7 @@ $(sparc_ONLY)driver name=mr_sas class=scsi-self-identifying \
     alias=pciex1000,ce \
     alias=pciex1000,cf
$(i386_ONLY)driver name=mr_sas class=scsi-self-identifying \
+    alias=pciex1000,14 \
     alias=pciex1000,52 \
     alias=pciex1000,53 \
     alias=pciex1000,5b \
@@ -70,7 +71,8 @@ $(i386_ONLY)driver name=mr_sas class=scsi-self-identifying \
     alias=pciex1000,78 \
     alias=pciex1000,79 \
     alias=pciex1000,ce \
-    alias=pciex1000,cf
+    alias=pciex1000,cf \
+    alias=pciex1000,e6
legacy pkg=SUNWmrsas desc="LSI MegaRAID SAS2.0 Controller HBA Driver" \
     name="LSI MegaRAID SAS2.0 HBA Driver"
license cr_Sun license=cr_Sun
diff --git a/usr/src/uts/common/io/mr_sas/mr_sas.c b/usr/src/uts/common/io/mr_sas/mr_sas.c
index 5a43a73c61..ef9770a220 100644
--- a/usr/src/uts/common/io/mr_sas/mr_sas.c
+++ b/usr/src/uts/common/io/mr_sas/mr_sas.c
@@ -569,6 +569,7 @@ mrsas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
                case PCI_DEVICE_ID_LSI_FURY:
                case PCI_DEVICE_ID_LSI_INTRUDER:
                case PCI_DEVICE_ID_LSI_INTRUDER_24:
+               case PCI_DEVICE_ID_BROADCOM_3816:
                case PCI_DEVICE_ID_LSI_CUTLASS_52:
                case PCI_DEVICE_ID_LSI_CUTLASS_53:
                        dev_err(dip, CE_CONT, "?Gen3 device detected\n");
diff --git a/usr/src/uts/common/io/mr_sas/mr_sas.h b/usr/src/uts/common/io/mr_sas/mr_sas.h
index 0f47672cf1..5db17839f3 100644
--- a/usr/src/uts/common/io/mr_sas/mr_sas.h
+++ b/usr/src/uts/common/io/mr_sas/mr_sas.h
@@ -103,6 +103,7 @@ extern "C" {
#define        PCI_DEVICE_ID_LSI_FURY                  0x005f
#define        PCI_DEVICE_ID_LSI_INTRUDER              0x00ce
#define        PCI_DEVICE_ID_LSI_INTRUDER_24           0x00cf
+#define        PCI_DEVICE_ID_BROADCOM_3816             0x00e6
#define        PCI_DEVICE_ID_LSI_CUTLASS_52            0x0052
#define        PCI_DEVICE_ID_LSI_CUTLASS_53            0x0053
/* Ventura series not yet supported */

But unfortunately driver  does not really get very far -  does spit the following messages:

mr_sas0: 0x1000:0xe6 0x1028:0x2000c, irq:5 drv-vrt:6.503.00.00ILLUMOS-20170524
mr_sas0: Gen3 device detected
mr_sas0: TBOLT device detected
mr_sas0: msi_enable = 1
mr_sas0: enable_fp = 1
mr_sas0: ctio_enable = 1

WARNING: mr_sas0: could not initialize the low level driver

Willing to try any suggested patches 

[-- Attachment #2: Type: text/html, Size: 5051 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-05-02 23:37             ` smaybee
@ 2022-07-07 13:11               ` kilian.ries
  2022-07-07 13:51                 ` Schweiss, Chip
  2023-05-01 20:53               ` smaybee
  1 sibling, 1 reply; 41+ messages in thread
From: kilian.ries @ 2022-07-07 13:11 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 869 bytes --]

Is there anything new on this?

Meanwhile i tested a few more controllers with a latest smartos build: 

 * Broadcom (LSI/Avago) HBA 9300-8i - LSI SAS3008 - working
 * Broadcom (LSI/Avago) HBA 9400-8i - LSI SAS3408 - working
 * Raid 930-8i - LSI SAS3508 - not working
 * Broadcom (LSI/Avago) HBA 9500-8i - LSI SAS3808 - not working

So SAS3408 is working, but it shows a warning on OS boot:

"Number of phys reported by HBA SAS IO Unit Pager 0 (11) is greater than that reported by the manufacturing information (8). Driver phy count limited to 8. Please contact the firmware vendor about this."

Starting with the SAS3508 series and newer are broken.

I also had a call with our supplier and he told me the SAS3408 chips are going EOL in the next weeks. So i looks like we don't have any HBA in the next months which is supported by illumos ... 

[-- Attachment #2: Type: text/html, Size: 1900 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 13:11               ` kilian.ries
@ 2022-07-07 13:51                 ` Schweiss, Chip
  2022-07-07 14:06                   ` Garrett D'Amore
  0 siblings, 1 reply; 41+ messages in thread
From: Schweiss, Chip @ 2022-07-07 13:51 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]

These appear to be supported by FreeBSD.  Is that usable to bring support
to Illumos or are there licensing or other complications?

On Thu, Jul 7, 2022 at 8:12 AM <kilian.ries@internetx.com> wrote:

> Is there anything new on this?
>
> Meanwhile i tested a few more controllers with a latest smartos build:
>
>
>
>
>
>
>    - Broadcom (LSI/Avago) HBA 9300-8i - LSI SAS3008 - working
>    - Broadcom (LSI/Avago) HBA 9400-8i - LSI SAS3408 - working
>    - Raid 930-8i - LSI SAS3508 - not working
>    - Broadcom (LSI/Avago) HBA 9500-8i - LSI SAS3808 - not working
>
>
> So SAS3408 is working, but it shows a warning on OS boot:
>
> "Number of phys reported by HBA SAS IO Unit Pager 0 (11) is greater than
> that reported by the manufacturing information (8). Driver phy count
> limited to 8. Please contact the firmware vendor about this."
>
> Starting with the SAS3508 series and newer are broken.
>
> I also had a call with our supplier and he told me the SAS3408 chips are
> going EOL in the next weeks. So i looks like we don't have any HBA in the
> next months which is supported by illumos ...
>
> *illumos <https://illumos.topicbox.com/latest>* / illumos-developer / see
> discussions <https://illumos.topicbox.com/groups/developer> + participants
> <https://illumos.topicbox.com/groups/developer/members> + delivery options
> <https://illumos.topicbox.com/groups/developer/subscription> Permalink
> <https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mf5a3403c9cc1389665cacfb0>
>

[-- Attachment #2: Type: text/html, Size: 2981 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 13:51                 ` Schweiss, Chip
@ 2022-07-07 14:06                   ` Garrett D'Amore
  2022-07-07 14:19                     ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: Garrett D'Amore @ 2022-07-07 14:06 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 2739 bytes --]

Time, effort, and need.

Some of us have started looking, but it takes some energy to do this.

RackTop isn’t using these LSI HBAs at present.  We use adaptec HBAs, and an OEM HBA from ATTO.  ATTOs latest generation of cards are based on the LSI chipset, but their driver is closed source.  They *do* support illumos.  You might want to talk with them if you’re looking for an illumos supported HBA.

Alternatively, maybe someone can post up a bounty for the newer hardware.

I suspect at least one other vendor may have local driver support this hardware, but has not open sourced it.

Honestly, rather than extending mpt_sas or mr_sas, I wish that someone would just make a new driver, and make it use iport() and tran_setup_pkt().  The driver would be smaller and hopefully a lot easier to maintain.  There is a small chance that I might even do this myself, but it is just a matter of having enough time to do it, combined with no pressing need for it at RackTop right now.


  *   Garrett

From: Schweiss, Chip <chip@innovates.com>
Date: Thursday, July 7, 2022 at 6:53 AM
To: illumos-developer <developer@lists.illumos.org>
Subject: Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
These appear to be supported by FreeBSD.  Is that usable to bring support to Illumos or are there licensing or other complications?

On Thu, Jul 7, 2022 at 8:12 AM <kilian.ries@internetx.com<mailto:kilian.ries@internetx.com>> wrote:
Is there anything new on this?

Meanwhile i tested a few more controllers with a latest smartos build:


  *   Broadcom (LSI/Avago) HBA 9300-8i - LSI SAS3008 - working
  *   Broadcom (LSI/Avago) HBA 9400-8i - LSI SAS3408 - working
  *   Raid 930-8i - LSI SAS3508 - not working
  *   Broadcom (LSI/Avago) HBA 9500-8i - LSI SAS3808 - not working

So SAS3408 is working, but it shows a warning on OS boot:

"Number of phys reported by HBA SAS IO Unit Pager 0 (11) is greater than that reported by the manufacturing information (8). Driver phy count limited to 8. Please contact the firmware vendor about this."

Starting with the SAS3508 series and newer are broken.

I also had a call with our supplier and he told me the SAS3408 chips are going EOL in the next weeks. So i looks like we don't have any HBA in the next months which is supported by illumos ...

illumos<https://illumos.topicbox.com/latest> / illumos-developer / see discussions<https://illumos.topicbox.com/groups/developer> + participants<https://illumos.topicbox.com/groups/developer/members> + delivery options<https://illumos.topicbox.com/groups/developer/subscription> Permalink<https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M8c233fba2272319ef9871ed1>

[-- Attachment #2: Type: text/html, Size: 17574 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 14:06                   ` Garrett D'Amore
@ 2022-07-07 14:19                     ` Dan McDonald
  2022-07-07 14:31                       ` Garrett D'Amore
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2022-07-07 14:19 UTC (permalink / raw)
  To: illumos-developer

On Jul 7, 2022, at 10:06 AM, Garrett D'Amore <garrett@damore.org> wrote:
> 
> Honestly, rather than extending mpt_sas or mr_sas, I wish that someone would just make a new driver, and make it use iport() and tran_setup_pkt().  The driver would be smaller and hopefully a lot easier to maintain.  There is a small chance that I might even do this myself, but it is just a matter of having enough time to do it, combined with no pressing need for it at RackTop right now.
> 

Which driver that uses iport() & tran_setup_pkt() would be a good reference?  Looks like we have pmcs, smrt, and vioscsi to pick from.

Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 14:19                     ` Dan McDonald
@ 2022-07-07 14:31                       ` Garrett D'Amore
  2022-07-07 21:13                         ` Stuart Maybee
  0 siblings, 1 reply; 41+ messages in thread
From: Garrett D'Amore @ 2022-07-07 14:31 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]

Any of those are good choices.  Smrt is probably the best because it has support for SMP and both physical and logical LUNs.  So closest to the needs of real hardware I think.

Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: Dan McDonald <danmcd@mnx.io>
Sent: Thursday, July 7, 2022 7:19:33 AM
To: illumos-developer <developer@lists.illumos.org>
Subject: Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port

On Jul 7, 2022, at 10:06 AM, Garrett D'Amore <garrett@damore.org> wrote:
>
> Honestly, rather than extending mpt_sas or mr_sas, I wish that someone would just make a new driver, and make it use iport() and tran_setup_pkt().  The driver would be smaller and hopefully a lot easier to maintain.  There is a small chance that I might even do this myself, but it is just a matter of having enough time to do it, combined with no pressing need for it at RackTop right now.
>

Which driver that uses iport() & tran_setup_pkt() would be a good reference?  Looks like we have pmcs, smrt, and vioscsi to pick from.

Dan


------------------------------------------
illumos: illumos-developer
Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mcc4d55bf14eeb4bbd387d25e
Delivery options: https://illumos.topicbox.com/groups/developer/subscription

[-- Attachment #2: Type: text/html, Size: 2244 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 14:31                       ` Garrett D'Amore
@ 2022-07-07 21:13                         ` Stuart Maybee
  2022-07-07 21:19                           ` Joshua M. Clulow
  0 siblings, 1 reply; 41+ messages in thread
From: Stuart Maybee @ 2022-07-07 21:13 UTC (permalink / raw)
  To: developer

As an aside to this.  We have an internal mpt_sas derived driver that I 
was able to get working on the 3816 by looking at the support in the 
FreeBSD driver.  Unfortunately, it is all uncertain for use because 
there are questions wrt what the licensing is of the resultant driver. 
But I can say that the changes to make mpt_sas work for the 3816 are not 
very large.  The biggest change would be around working around a chip bug.

Stuart

On 7/7/2022 8:31 AM, Garrett D'Amore wrote:
> Any of those are good choices.  Smrt is probably the best because it has 
> support for SMP and both physical and logical LUNs.  So closest to the 
> needs of real hardware I think.
> 
> Get Outlook for iOS <https://aka.ms/o0ukef>
> ------------------------------------------------------------------------
> *From:* Dan McDonald <danmcd@mnx.io>
> *Sent:* Thursday, July 7, 2022 7:19:33 AM
> *To:* illumos-developer <developer@lists.illumos.org>
> *Subject:* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 
> internal ports, 12Gb/s per port
> On Jul 7, 2022, at 10:06 AM, Garrett D'Amore <garrett@damore.org> wrote:
>> 
>> Honestly, rather than extending mpt_sas or mr_sas, I wish that someone would just make a new driver, and make it use iport() and tran_setup_pkt().  The driver would be smaller and hopefully a lot easier to maintain.  There is a small chance that I might even  do this myself, but it is just a matter of having enough time to do 
> it, combined with no pressing need for it at RackTop right now.
>> 
> 
> Which driver that uses iport() & tran_setup_pkt() would be a good 
> reference?  Looks like we have pmcs, smrt, and vioscsi to pick from.
> 
> Dan
> 
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: 
> https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mcc4d55bf14eeb4bbd387d25e 
> <https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mcc4d55bf14eeb4bbd387d25e>
> Delivery options: 
> https://illumos.topicbox.com/groups/developer/subscription 
> <https://illumos.topicbox.com/groups/developer/subscription>
> *illumos <https://illumos.topicbox.com/latest>* / illumos-developer / 
> see discussions <https://illumos.topicbox.com/groups/developer> + 
> participants <https://illumos.topicbox.com/groups/developer/members> + 
> delivery options 
> <https://illumos.topicbox.com/groups/developer/subscription> Permalink 
> <https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-Mccb266c8a34a3756e5e77531> 
> 

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 21:13                         ` Stuart Maybee
@ 2022-07-07 21:19                           ` Joshua M. Clulow
  2022-12-02  8:40                             ` Tobias Oetiker
  0 siblings, 1 reply; 41+ messages in thread
From: Joshua M. Clulow @ 2022-07-07 21:19 UTC (permalink / raw)
  To: illumos-developer

On Thu, 7 Jul 2022 at 14:13, Stuart Maybee via illumos-developer
<developer@lists.illumos.org> wrote:
> As an aside to this.  We have an internal mpt_sas derived driver that I
> was able to get working on the 3816 by looking at the support in the
> FreeBSD driver.  Unfortunately, it is all uncertain for use because
> there are questions wrt what the licensing is of the resultant driver.

It is possible to meet the terms of both the CDDL and the various BSD
licences at once.  We have imported a lot of BSD code over the years.
I think we would need to see the diff to know for sure how to
structure it correctly, but I don't anticipate any blocking issues.

You're welcome to reach out off-list as well, if you'd like an
independent set of eyes.


Cheers.

-- 
Joshua M. Clulow
http://blog.sysmgr.org

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-07-07 21:19                           ` Joshua M. Clulow
@ 2022-12-02  8:40                             ` Tobias Oetiker
  2022-12-09 12:00                               ` Carsten Grzemba
  0 siblings, 1 reply; 41+ messages in thread
From: Tobias Oetiker @ 2022-12-02  8:40 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 55 bytes --]

We also got such a SAS38xx beast now ... any progress ?

[-- Attachment #2: Type: text/html, Size: 111 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-12-02  8:40                             ` Tobias Oetiker
@ 2022-12-09 12:00                               ` Carsten Grzemba
  2023-05-01 20:59                                 ` smaybee
  0 siblings, 1 reply; 41+ messages in thread
From: Carsten Grzemba @ 2022-12-09 12:00 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 101 bytes --]

I am also very interested! It seems that these are the only available HBA's for current DELL servers.

[-- Attachment #2: Type: text/html, Size: 157 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-05-02 23:37             ` smaybee
  2022-07-07 13:11               ` kilian.ries
@ 2023-05-01 20:53               ` smaybee
  1 sibling, 0 replies; 41+ messages in thread
From: smaybee @ 2023-05-01 20:53 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 2775 bytes --]

Hi we are also very interested in having a driver for this controller.  I tried the following simple patch:
diff --git a/usr/src/pkg/manifests/driver-storage-mr_sas.p5m b/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
index aed758a2d5..ba1cba8748 100644
--- a/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
+++ b/usr/src/pkg/manifests/driver-storage-mr_sas.p5m
@@ -60,6 +60,7 @@ $(sparc_ONLY)driver name=mr_sas class=scsi-self-identifying \
     alias=pciex1000,ce \
     alias=pciex1000,cf
$(i386_ONLY)driver name=mr_sas class=scsi-self-identifying \
+    alias=pciex1000,14 \
     alias=pciex1000,52 \
     alias=pciex1000,53 \
     alias=pciex1000,5b \
@@ -70,7 +71,8 @@ $(i386_ONLY)driver name=mr_sas class=scsi-self-identifying \
     alias=pciex1000,78 \
     alias=pciex1000,79 \
     alias=pciex1000,ce \
-    alias=pciex1000,cf
+    alias=pciex1000,cf \
+    alias=pciex1000,e6
legacy pkg=SUNWmrsas desc="LSI MegaRAID SAS2.0 Controller HBA Driver" \
     name="LSI MegaRAID SAS2.0 HBA Driver"
license cr_Sun license=cr_Sun
diff --git a/usr/src/uts/common/io/mr_sas/mr_sas.c b/usr/src/uts/common/io/mr_sas/mr_sas.c
index 5a43a73c61..ef9770a220 100644
--- a/usr/src/uts/common/io/mr_sas/mr_sas.c
+++ b/usr/src/uts/common/io/mr_sas/mr_sas.c
@@ -569,6 +569,7 @@ mrsas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
                case PCI_DEVICE_ID_LSI_FURY:
                case PCI_DEVICE_ID_LSI_INTRUDER:
                case PCI_DEVICE_ID_LSI_INTRUDER_24:
+               case PCI_DEVICE_ID_BROADCOM_3816:
                case PCI_DEVICE_ID_LSI_CUTLASS_52:
                case PCI_DEVICE_ID_LSI_CUTLASS_53:
                        dev_err(dip, CE_CONT, "?Gen3 device detected\n");
diff --git a/usr/src/uts/common/io/mr_sas/mr_sas.h b/usr/src/uts/common/io/mr_sas/mr_sas.h
index 0f47672cf1..5db17839f3 100644
--- a/usr/src/uts/common/io/mr_sas/mr_sas.h
+++ b/usr/src/uts/common/io/mr_sas/mr_sas.h
@@ -103,6 +103,7 @@ extern "C" {
#define        PCI_DEVICE_ID_LSI_FURY                  0x005f
#define        PCI_DEVICE_ID_LSI_INTRUDER              0x00ce
#define        PCI_DEVICE_ID_LSI_INTRUDER_24           0x00cf
+#define        PCI_DEVICE_ID_BROADCOM_3816             0x00e6
#define        PCI_DEVICE_ID_LSI_CUTLASS_52            0x0052
#define        PCI_DEVICE_ID_LSI_CUTLASS_53            0x0053
/* Ventura series not yet supported */

But unfortunately driver  does not really get very far:  does spit the following messages:


[-- Attachment #2: Type: text/html, Size: 4597 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2022-12-09 12:00                               ` Carsten Grzemba
@ 2023-05-01 20:59                                 ` smaybee
  2023-05-01 21:01                                   ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: smaybee @ 2023-05-01 20:59 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

I have a patch that adds support for the 3816 SAS controller to the mpt_sas driver.  (sorry for the empty reply previously) The patch is minimally tested and I do not have cycles to do further testing.  But I am happy to make it available if anyone wants to try it out/run with it.  It attaches to 3816 controller find the disks and can do i/o to the disks but that is all the testing I have had time to do.   I currently do not have cycles available to do any extensive testing of the driver.

[-- Attachment #2: Type: text/html, Size: 574 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-05-01 20:59                                 ` smaybee
@ 2023-05-01 21:01                                   ` Dan McDonald
  2023-05-01 21:32                                     ` Stuart Maybee
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2023-05-01 21:01 UTC (permalink / raw)
  To: illumos-developer

On May 1, 2023, at 4:59 PM, smaybee via illumos-developer <developer@lists.illumos.org> wrote:
> 
> I have a patch that adds support for the 3816 SAS controller to the mpt_sas driver.  (sorry for the empty reply previously) The patch is minimally tested and I do not have cycles to do further testing.  But I am happy to make it available if anyone wants to try it out/run with it.  It attaches to 3816 controller find the disks and can do i/o to the disks but that is all the testing I have had time to do.   I currently do not have cycles available to do any extensive testing of the driver.
> illumos / illumos-developer / see discussions + participants + delivery options Permalink

Please share!  Someone can take it and run with it.  I know someone in OmniOS-land (Bcc:ed here) who'd be very interested in kicking the tires, e.g.

Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-05-01 21:01                                   ` Dan McDonald
@ 2023-05-01 21:32                                     ` Stuart Maybee
  2023-05-01 21:46                                       ` Stuart Maybee
  0 siblings, 1 reply; 41+ messages in thread
From: Stuart Maybee @ 2023-05-01 21:32 UTC (permalink / raw)
  To: developer

[-- Attachment #1: Type: text/plain, Size: 1216 bytes --]

patch against current illumos tree attached

On 5/1/2023 3:01 PM, Dan McDonald wrote:
> On May 1, 2023, at 4:59 PM, smaybee via illumos-developer <developer@lists.illumos.org> wrote:
>>
>> I have a patch that adds support for the 3816 SAS controller to the mpt_sas driver.  (sorry for the empty reply previously) The patch is minimally tested and I do not have cycles to do further testing.  But I am happy to make it available if anyone wants to try it out/run with it.  It attaches to 3816 controller find the disks and can do i/o to the disks but that is all the testing I have had time to do.   I currently do not have cycles available to do any extensive testing of the driver.
>> illumos / illumos-developer / see discussions + participants + delivery options Permalink
> 
> Please share!  Someone can take it and run with it.  I know someone in OmniOS-land (Bcc:ed here) who'd be very interested in kicking the tires, e.g.
> 
> Dan
> 
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M6c91829598397e38f496a776
> Delivery options: https://illumos.topicbox.com/groups/developer/subscription

[-- Attachment #2: illumos_mpt_sas.patch --]
[-- Type: text/plain, Size: 14118 bytes --]

diff --git a/usr/src/pkg/manifests/driver-storage-mpt_sas.p5m b/usr/src/pkg/manifests/driver-storage-mpt_sas.p5m
index 8b4762eb87..3ab8a2a04c 100644
--- a/usr/src/pkg/manifests/driver-storage-mpt_sas.p5m
+++ b/usr/src/pkg/manifests/driver-storage-mpt_sas.p5m
@@ -92,7 +92,8 @@ driver name=mpt_sas class=scsi-self-identifying \
     alias=pciex1000,c9 \
     alias=pciex1000,d0 \
     alias=pciex1000,d1 \
-    alias=pciex1000,d2
+    alias=pciex1000,d2 \
+    alias=pciex1000,e6
 legacy pkg=SUNWmptsas desc="LSI MPT SAS 2.0/2.5 Controller HBA Driver" \
     name="LSI MPT SAS 2.0/2.5 Controller HBA Driver"
 license cr_Sun license=cr_Sun
diff --git a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
index e458c61168..7caceb99e1 100644
--- a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
+++ b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
@@ -1095,7 +1095,7 @@ mptsas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
 	char			doneq_thread_create = 0;
 	char			added_watchdog = 0;
 	scsi_hba_tran_t		*hba_tran;
-	uint_t			mem_bar = MEM_SPACE;
+	uint_t			mem_bar;
 	int			rval = DDI_FAILURE;
 
 	/* CONSTCOND */
@@ -1277,6 +1277,7 @@ mptsas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
 	}
 	config_setup++;
 
+	mem_bar = mpt->m_mem_bar;
 	if (ddi_regs_map_setup(dip, mem_bar, (caddr_t *)&mpt->m_reg,
 	    0, 0, &mpt->m_reg_acc_attr, &mpt->m_datap) != DDI_SUCCESS) {
 		mptsas_log(mpt, CE_WARN, "map setup failed");
@@ -2476,7 +2477,7 @@ mptsas_power(dev_info_t *dip, int component, int level)
 		/*
 		 * Wait up to 30 seconds for IOC to come out of reset.
 		 */
-		while (((ioc_status = ddi_get32(mpt->m_datap,
+		while (((ioc_status = mptsas_hirrd(mpt,
 		    &mpt->m_reg->Doorbell)) &
 		    MPI2_IOC_STATE_MASK) == MPI2_IOC_STATE_RESET) {
 			if (polls++ > 3000) {
@@ -2513,6 +2514,59 @@ mptsas_power(dev_info_t *dip, int component, int level)
 	return (rval);
 }
 
+/*
+ * Check for newer v2.6 SAS chips.
+ */
+static void
+mptsas_ioc_check_rev(mptsas_t *mpt)
+{
+	switch (mpt->m_devid) {
+	case MPI26_MFGPAGE_DEVID_SAS3816:
+		mpt->m_is_sea_ioc = 1;
+		mptsas_log(mpt, CE_NOTE, "!mptsas3%d: SAS3816 IOC Detected",
+		    mpt->m_instance);
+		/* fallthrough */
+	case MPI26_MFGPAGE_DEVID_SAS3616:
+	case MPI26_MFGPAGE_DEVID_SAS3708:
+	case MPI26_MFGPAGE_DEVID_SAS3716:
+		mptsas_log(mpt, CE_NOTE, "!mptsas3%d: gen3.5 IOC Detected",
+		    mpt->m_instance);
+		mpt->m_is_gen35_ioc = 1;
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ * Search through the reg property for the first memory BAR.
+ */
+static void
+mptsas_find_mem_bar(mptsas_t *mpt)
+{
+	int		i, rcount;
+	pci_regspec_t	*reg_data;
+	int		reglen;
+
+	mpt->m_mem_bar = MEM_SPACE; /* old default */
+	/*
+	 * Lookup the 'reg' property.
+	 */
+	if (ddi_getlongprop(DDI_DEV_T_ANY, mpt->m_dip,
+	   DDI_PROP_DONTPASS, "reg", (caddr_t)&reg_data, &reglen) ==
+	   DDI_PROP_SUCCESS) {
+		rcount = reglen / sizeof (pci_regspec_t);
+		for (i = 0; i < rcount; i++) {
+			if (PCI_REG_ADDR_G(reg_data[i].pci_phys_hi) ==
+			    PCI_REG_ADDR_G(PCI_ADDR_MEM64)) {
+				mpt->m_mem_bar = i;
+				break;
+			}
+		}
+	}
+}
+
+
 /*
  * Initialize configuration space and figure out which
  * chip and revison of the chip the mpt driver is using.
@@ -2568,6 +2622,8 @@ mptsas_config_space_init(mptsas_t *mpt)
 	pci_config_put8(mpt->m_config_handle, PCI_CONF_LATENCY_TIMER,
 	    MPTSAS_LATENCY_TIMER);
 
+	mptsas_ioc_check_rev(mpt);
+	mptsas_find_mem_bar(mpt);
 	(void) mptsas_get_pci_cap(mpt);
 	return (TRUE);
 }
@@ -5197,7 +5253,7 @@ mptsas_wait_intr(mptsas_t *mpt, int polltime)
 	 * Get the current interrupt mask and disable interrupts.  When
 	 * re-enabling ints, set mask to saved value.
 	 */
-	int_mask = ddi_get32(mpt->m_datap, &mpt->m_reg->HostInterruptMask);
+	int_mask = mptsas_hirrd(mpt, &mpt->m_reg->HostInterruptMask);
 	MPTSAS_DISABLE_INTR(mpt);
 
 	/*
@@ -10166,7 +10222,7 @@ mptsas_watch(void *arg)
 		/*
 		 * Check if controller is in a FAULT state. If so, reset it.
 		 */
-		doorbell = ddi_get32(mpt->m_datap, &mpt->m_reg->Doorbell);
+		doorbell = mptsas_hirrd(mpt, &mpt->m_reg->Doorbell);
 		if ((doorbell & MPI2_IOC_STATE_MASK) == MPI2_IOC_STATE_FAULT) {
 			doorbell &= MPI2_DOORBELL_DATA_MASK;
 			mptsas_log(mpt, CE_WARN, "MPT Firmware Fault, "
@@ -12656,7 +12712,7 @@ mptsas_reg_access(mptsas_t *mpt, mptsas_reg_access_t *data, int mode)
 				break;
 
 			case REG_MEM_READ:
-				driverdata.RegData = ddi_get32(mpt->m_datap,
+				driverdata.RegData = mptsas_hirrd(mpt,
 				    (uint32_t *)(void *)mpt->m_reg +
 				    driverdata.RegOffset);
 				if (ddi_copyout(&driverdata.RegData,
@@ -13184,10 +13240,19 @@ mptsas_init_chip(mptsas_t *mpt, int first_time)
 	uint32_t		i;
 	int			rval;
 
+	/*
+	 * Setup configuration space
+	 */
+	if (mptsas_config_space_init(mpt) == FALSE) {
+		mptsas_log(mpt, CE_WARN, "mptsas_config_space_init "
+		    "failed!");
+		goto fail;
+	}
+
 	/*
 	 * Check to see if the firmware image is valid
 	 */
-	if (ddi_get32(mpt->m_datap, &mpt->m_reg->HostDiagnostic) &
+	if (mptsas_hirrd(mpt, &mpt->m_reg->HostDiagnostic) &
 	    MPI2_DIAG_FLASH_BAD_SIG) {
 		mptsas_log(mpt, CE_WARN, "mptsas bad flash signature!");
 		goto fail;
@@ -13205,15 +13270,6 @@ mptsas_init_chip(mptsas_t *mpt, int first_time)
 	if ((rval == MPTSAS_SUCCESS_MUR) && (!first_time)) {
 		goto mur;
 	}
-	/*
-	 * Setup configuration space
-	 */
-	if (mptsas_config_space_init(mpt) == FALSE) {
-		mptsas_log(mpt, CE_WARN, "mptsas_config_space_init "
-		    "failed!");
-		goto fail;
-	}
-
 	/*
 	 * IOC facts can change after a diag reset so all buffers that are
 	 * based on these numbers must be de-allocated and re-allocated.  Get
diff --git a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
index c4a856b2bf..02b61f388c 100644
--- a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
+++ b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
@@ -99,6 +99,26 @@ static void mptsas_ioc_event_cmdq_delete(mptsas_t *mpt, m_event_struct_t *cmd);
 static m_event_struct_t *mptsas_ioc_event_find_by_cmd(mptsas_t *mpt,
     struct mptsas_cmd *cmd);
 
+/*
+ * Use to read Host interface registers.  May read up to 3 times for
+ * certain IOC's due to chip bug where zero can be erroneously returned
+ * when under high i/o load.
+ */
+uint32_t
+mptsas_hirrd(mptsas_t *mpt, uint32_t *regaddr)
+{
+	int i, ntries;
+	uint32_t ret;
+
+	ntries = (mpt->m_is_sea_ioc == 1) ? 3 : 1;
+	for (i = 0; i < ntries; i++) {
+		if ((ret = ddi_get32(mpt->m_datap, regaddr)) != 0)
+			break;
+	}
+	return (ret);
+}
+
+
 /*
  * add ioc evnet cmd into the queue
  */
@@ -693,7 +713,7 @@ mptsas_ioc_wait_for_response(mptsas_t *mpt)
 {
 	int	polls = 0;
 
-	while ((ddi_get32(mpt->m_datap,
+	while ((mptsas_hirrd(mpt,
 	    &mpt->m_reg->HostInterruptStatus) & MPI2_HIS_IOP_DOORBELL_STATUS)) {
 		drv_usecwait(1000);
 		if (polls++ > 60000) {
@@ -708,7 +728,7 @@ mptsas_ioc_wait_for_doorbell(mptsas_t *mpt)
 {
 	int	polls = 0;
 
-	while ((ddi_get32(mpt->m_datap,
+	while ((mptsas_hirrd(mpt,
 	    &mpt->m_reg->HostInterruptStatus) & MPI2_HIM_DIM) == 0) {
 		drv_usecwait(1000);
 		if (polls++ > 300000) {
@@ -790,7 +810,7 @@ mptsas_get_handshake_msg(mptsas_t *mpt, caddr_t memp, int numbytes,
 	 * data we will be getting
 	 */
 	for (i = 0; i < 2; i++, memp += 2) {
-		val = (ddi_get32(mpt->m_datap,
+		val = (mptsas_hirrd(mpt,
 		    &mpt->m_reg->Doorbell) & MPI2_DOORBELL_DATA_MASK);
 		ddi_put32(mpt->m_datap, &mpt->m_reg->HostInterruptStatus, 0);
 		if (mptsas_ioc_wait_for_doorbell(mpt)) {
@@ -819,7 +839,7 @@ mptsas_get_handshake_msg(mptsas_t *mpt, caddr_t memp, int numbytes,
 	 * Get the rest of the data
 	 */
 	for (i = 0; i < bytesleft; i++, memp += 2) {
-		val = (ddi_get32(mpt->m_datap,
+		val = (mptsas_hirrd(mpt,
 		    &mpt->m_reg->Doorbell) & MPI2_DOORBELL_DATA_MASK);
 		ddi_put32(mpt->m_datap, &mpt->m_reg->HostInterruptStatus, 0);
 		if (mptsas_ioc_wait_for_doorbell(mpt)) {
@@ -838,8 +858,7 @@ mptsas_get_handshake_msg(mptsas_t *mpt, caddr_t memp, int numbytes,
 	 */
 	if (totalbytes > (numbytes / 2)) {
 		for (i = (numbytes / 2); i < totalbytes; i++) {
-			val = (ddi_get32(mpt->m_datap,
-			    &mpt->m_reg->Doorbell) &
+			val = (mptsas_hirrd(mpt, &mpt->m_reg->Doorbell) &
 			    MPI2_DOORBELL_DATA_MASK);
 			ddi_put32(mpt->m_datap,
 			    &mpt->m_reg->HostInterruptStatus, 0);
@@ -877,8 +896,8 @@ mptsas_kick_start(mptsas_t *mpt)
 	/*
 	 * Read the current Diag Reg and save the Host Controlled Boot size.
 	 */
-	diag_reg = ddi_get32(mpt->m_datap, &mpt->m_reg->HostDiagnostic);
-	saved_HCB_size = ddi_get32(mpt->m_datap, &mpt->m_reg->HCBSize);
+	diag_reg = mptsas_hirrd(mpt, &mpt->m_reg->HostDiagnostic);
+	saved_HCB_size = mptsas_hirrd(mpt, &mpt->m_reg->HCBSize);
 
 	/*
 	 * Set Reset Adapter bit and wait 50 mSeconds.
@@ -893,8 +912,7 @@ mptsas_kick_start(mptsas_t *mpt)
 	 * If no more adapter (all FF's), just return failure.
 	 */
 	for (polls = 0; polls < 600000; polls++) {
-		diag_reg = ddi_get32(mpt->m_datap,
-		    &mpt->m_reg->HostDiagnostic);
+		diag_reg = mptsas_hirrd(mpt, &mpt->m_reg->HostDiagnostic);
 		if (diag_reg == 0xFFFFFFFF) {
 			mptsas_fm_ereport(mpt, DDI_FM_DEVICE_NO_RESPONSE);
 			ddi_fm_service_impact(mpt->m_dip, DDI_SERVICE_LOST);
@@ -944,7 +962,7 @@ mptsas_kick_start(mptsas_t *mpt)
 	 * Wait 60 seconds max for FW to come to ready state.
 	 */
 	for (polls = 0; polls < 60000; polls++) {
-		ioc_state = ddi_get32(mpt->m_datap, &mpt->m_reg->Doorbell);
+		ioc_state = mptsas_hirrd(mpt, &mpt->m_reg->Doorbell);
 		if (ioc_state == 0xFFFFFFFF) {
 			mptsas_fm_ereport(mpt, DDI_FM_DEVICE_NO_RESPONSE);
 			ddi_fm_service_impact(mpt->m_dip, DDI_SERVICE_LOST);
@@ -977,7 +995,7 @@ mptsas_ioc_reset(mptsas_t *mpt, int first_time)
 	uint32_t	reset_msg;
 	uint32_t	ioc_state;
 
-	ioc_state = ddi_get32(mpt->m_datap, &mpt->m_reg->Doorbell);
+	ioc_state = mptsas_hirrd(mpt, &mpt->m_reg->Doorbell);
 	/*
 	 * If chip is already in ready state then there is nothing to do.
 	 */
@@ -1013,7 +1031,7 @@ mptsas_ioc_reset(mptsas_t *mpt, int first_time)
 			 * Wait no more than 60 seconds for chip to become
 			 * ready.
 			 */
-			while ((ddi_get32(mpt->m_datap, &mpt->m_reg->Doorbell) &
+			while ((mptsas_hirrd(mpt, &mpt->m_reg->Doorbell) &
 			    MPI2_IOC_STATE_READY) == 0x0) {
 				drv_usecwait(1000);
 				if (polls++ > 60000) {
diff --git a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_init.c b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_init.c
index 13a4f32fdd..66d0b5a363 100644
--- a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_init.c
+++ b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_init.c
@@ -165,6 +165,8 @@ mptsas_devid_type_string(mptsas_t *mpt)
 		return ("SAS3708");
 	case MPI26_MFGPAGE_DEVID_SAS3716:
 		return ("SAS3716");
+	case MPI26_MFGPAGE_DEVID_SAS3816:
+		return ("SAS3816");
 	case MPI26_MFGPAGE_DEVID_SAS4008:
 		return ("SAS4008");
 	default:
@@ -758,7 +760,7 @@ mptsas_do_ioc_init_reply(mptsas_t *mpt, caddr_t memp, int var,
 		return (DDI_FAILURE);
 	}
 
-	if ((ddi_get32(mpt->m_datap, &mpt->m_reg->Doorbell)) &
+	if ((mptsas_hirrd(mpt, &mpt->m_reg->Doorbell)) &
 	    MPI2_IOC_STATE_OPERATIONAL) {
 		mptsas_log(mpt, CE_NOTE,
 		    "?mpt%d: IOC Operational.\n", mpt->m_instance);
diff --git a/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mpi/mpi2_cnfg.h b/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mpi/mpi2_cnfg.h
index 73b063015e..6e80aa2107 100644
--- a/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mpi/mpi2_cnfg.h
+++ b/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mpi/mpi2_cnfg.h
@@ -593,6 +593,8 @@ typedef struct _MPI2_CONFIG_REPLY
 #define MPI26_MFGPAGE_DEVID_SAS3616                 (0x00D1)
 #define MPI26_MFGPAGE_DEVID_SAS3708                 (0x00D2)
 
+#define MPI26_MFGPAGE_DEVID_SAS3816                 (0x00E6)
+
 #define MPI26_MFGPAGE_DEVID_SAS4008                 (0x00A1)
 
 
diff --git a/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h b/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h
index 5b7a3f6442..0f6e9c30c7 100644
--- a/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h
+++ b/usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h
@@ -932,6 +932,10 @@ typedef struct mptsas {
 	mptsas_fw_diagnostic_buffer_t
 		m_fw_diag_buffer_list[MPI2_DIAG_BUF_TYPE_COUNT];
 
+	/* IOC type flags */
+	uint8_t			m_is_sea_ioc;
+	uint8_t			m_is_gen35_ioc;
+
 	/* GEN3 support */
 	uint8_t			m_MPI25;
 
@@ -950,6 +954,11 @@ typedef struct mptsas {
 	 */
 	uint8_t			m_in_reset;
 
+	/*
+	 * index for the pci memory BAR
+	 */
+	uint8_t			m_mem_bar;
+
 	/*
 	 * per instance cmd data structures for task management cmds
 	 */
@@ -1134,7 +1143,7 @@ _NOTE(DATA_READABLE_WITHOUT_LOCK(mptsas::m_instance))
 #define	MPTSAS_QUIESCE_TIMEOUT	1		/* 1 sec */
 #define	MPTSAS_PM_IDLE_TIMEOUT	60		/* 60 seconds */
 
-#define	MPTSAS_GET_ISTAT(mpt)  (ddi_get32((mpt)->m_datap, \
+#define	MPTSAS_GET_ISTAT(mpt)  (mptsas_hirrd((mpt), \
 			&(mpt)->m_reg->HostInterruptStatus))
 
 #define	MPTSAS_SET_SIGP(P) \
@@ -1143,7 +1152,7 @@ _NOTE(DATA_READABLE_WITHOUT_LOCK(mptsas::m_instance))
 #define	MPTSAS_RESET_SIGP(P) (void) ddi_get8(mpt->m_datap, \
 			(uint8_t *)(mpt->m_devaddr + NREG_CTEST2))
 
-#define	MPTSAS_GET_INTCODE(P) (ddi_get32(mpt->m_datap, \
+#define	MPTSAS_GET_INTCODE(P) (mptsas_hirrd(mpt, \
 			(uint32_t *)(mpt->m_devaddr + NREG_DSPS)))
 
 
@@ -1178,7 +1187,7 @@ _NOTE(DATA_READABLE_WITHOUT_LOCK(mptsas::m_instance))
 
 #define	ClrSetBits32(hdl, reg, clr, set) \
 	ddi_put32(hdl, (reg), \
-	    ((ddi_get32(mpt->m_datap, (reg)) & ~(clr)) | (set)))
+	    ((mptsas_hirrd(mpt, (reg)) & ~(clr)) | (set)))
 
 #define	ClrSetBits(reg, clr, set) \
 	ddi_put8(mpt->m_datap, (uint8_t *)(reg), \
@@ -1311,6 +1320,7 @@ int mptsas_dma_addr_create(mptsas_t *mpt, ddi_dma_attr_t dma_attr,
     ddi_dma_handle_t *dma_hdp, ddi_acc_handle_t *acc_hdp, caddr_t *dma_memp,
     uint32_t alloc_size, ddi_dma_cookie_t *cookiep);
 void mptsas_dma_addr_destroy(ddi_dma_handle_t *, ddi_acc_handle_t *);
+uint32_t mptsas_hirrd(mptsas_t *mpt, uint32_t *regaddr);
 
 /*
  * impl functions

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-05-01 21:32                                     ` Stuart Maybee
@ 2023-05-01 21:46                                       ` Stuart Maybee
  2023-10-06 16:10                                         ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: Stuart Maybee @ 2023-05-01 21:46 UTC (permalink / raw)
  To: developer

A little background on the patch I just sent out.  We (tintri/nexenta) 
have a derivative driver of mpt_sas that we use on our products.  These 
changes were part of my updates to that driver to support the 3816.  I 
finally found the time to extract the essential changes for the 3816 and 
create the patch for the vanilla illumos mpt_sas driver.  These changes 
have had a fair bit of testing as part of our derivative driver. But 
only perfunctory testing in the vanilla smpt_sas driver.

Stu Maybee

On 5/1/2023 3:32 PM, Stuart Maybee via illumos-developer wrote:
> patch against current illumos tree attached
> 
> On 5/1/2023 3:01 PM, Dan McDonald wrote:
>> On May 1, 2023, at 4:59 PM, smaybee via illumos-developer 
>> <developer@lists.illumos.org> wrote:
>>>
>>> I have a patch that adds support for the 3816 SAS controller to the 
>>> mpt_sas driver.  (sorry for the empty reply previously) The patch is 
>>> minimally tested and I do not have cycles to do further testing.  But 
>>> I am happy to make it available if anyone wants to try it out/run 
>>> with it.  It attaches to 3816 controller find the disks and can do 
>>> i/o to the disks but that is all the testing I have had time to do.   
>>> I currently do not have cycles available to do any extensive testing 
>>> of the driver.
>>> illumos / illumos-developer / see discussions + participants + 
>>> delivery options Permalink
>>
>> Please share!  Someone can take it and run with it.  I know someone in 
>> OmniOS-land (Bcc:ed here) who'd be very interested in kicking the 
>> tires, e.g.
>>
>> Dan
>>
> ------------------------------------------
> illumos: illumos-developer
> Permalink: 
> https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M21f5a4c2381105cbd2d0695d
> Delivery options: 
> https://illumos.topicbox.com/groups/developer/subscription

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-05-01 21:46                                       ` Stuart Maybee
@ 2023-10-06 16:10                                         ` Dan McDonald
  2023-10-06 18:40                                           ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2023-10-06 16:10 UTC (permalink / raw)
  To: illumos-developer

Several months later...

> On May 1, 2023, at 5:46 PM, Stuart Maybee via illumos-developer <developer@lists.illumos.org> wrote:
> 
> A little background on the patch I just sent out.  We (tintri/nexenta) have a derivative driver of mpt_sas that we use on our products.  These changes were part of my updates to that driver to support the 3816.  I finally found the time to extract the essential changes for the 3816 and create the patch for the vanilla illumos mpt_sas driver.  These changes have had a fair bit of testing as part of our derivative driver. But only perfunctory testing in the vanilla smpt_sas driver.
> 
> Stu Maybee

Someone on IRC's #smartos asked about this, so took your patch, modified it to reflect the post-mpi-header-refactoring change that's now upstream, and am sending it along.

I see `mpt_sas3` in illumos-nexenta, I'm assuming that's the "derivative driver".  Did you get help from LSI/Broadcom/whatever-they-are-now?  I just wanna make sure this is a clean, and upstreamable, patch before I start getting folks' hopes up.

Thanks,
Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-06 16:10                                         ` Dan McDonald
@ 2023-10-06 18:40                                           ` Dan McDonald
  2023-10-15 15:33                                             ` gearboxes
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2023-10-06 18:40 UTC (permalink / raw)
  To: illumos-developer

Stuart M. accidentally unicast responded.  I share this with his permission...

> Begin forwarded message:
> 
> From: Dan McDonald <danmcd@mnx.io>
> Subject: Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
> Date: October 6, 2023 at 2:18:46 PM EDT
> To: Stuart Maybee <smaybee@tintri.com>
> Cc: Dan McDonald <danmcd@mnx.io>
> 
> On Oct 6, 2023, at 2:01 PM, Stuart Maybee <smaybee@tintri.com> wrote:
>> 
>> AFAIK we did not have help from LSI etc. on the derivative mpt_sas3 driver I think it was work done here for reasons that I an not aware of (some clues may be in the git log comments).  The patch I submitted was done by reading the BSD driver code to see how they handled the chip(s) in question.  Note that AIUI the lmrc driver that Hans recently submitted also drives the same chips so his driver kind of makes these changes redundant.
> 
> Appreciate that!  And lmrc does NOT help us.  Those NICs come with either the "IT" firmware (target HBA, mpt_sas & friends) or with the MegaRAID firmware.  They *can* AIUI span otherwise same chipsets.  Your 1000,e6 change is not covered by lmrc.
> 
> smartos-build-2(projects/illumos)[0]% egrep "1000,e6|lmrc" usr/src/uts/intel/os/driver_aliases 
> lmrc "pciex1000,14"
> lmrc "pciex1000,15"
> lmrc "pciex1000,16"
> lmrc "pciex1000,17"
> lmrc "pciex1000,1b"
> lmrc "pciex1000,1c"
> lmrc "pciex1000,10e0"
> lmrc "pciex1000,10e1"
> lmrc "pciex1000,10e2"
> lmrc "pciex1000,10e3"
> lmrc "pciex1000,10e4"
> lmrc "pciex1000,10e5"
> lmrc "pciex1000,10e6"
> lmrc "pciex1000,10e7"
> mpt_sas "pciex1000,e6"
> smartos-build-2(projects/illumos)[0]% 

I've updated his patch slightly to fit gate post-mpi2-refactor. It's in this directory along with some SmartOS + this fix.

	https://kebe.com/~danmcd/webrevs/mpt_sas-38xx/

Thanks Stuart!

Happy HBA-ing,
Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-06 18:40                                           ` Dan McDonald
@ 2023-10-15 15:33                                             ` gearboxes
  2023-10-16  7:29                                               ` Stuart Maybee
  0 siblings, 1 reply; 41+ messages in thread
From: gearboxes @ 2023-10-15 15:33 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 82 bytes --]

Thanks Dan!
SmartOS image is working. 
Any timeframe on official support?  


[-- Attachment #2: Type: text/html, Size: 190 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-15 15:33                                             ` gearboxes
@ 2023-10-16  7:29                                               ` Stuart Maybee
  2023-10-16 15:21                                                 ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: Stuart Maybee @ 2023-10-16  7:29 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 743 bytes --]


________________________________
From: gearboxes@outlook.com <gearboxes@outlook.com>
Sent: Sunday, October 15, 2023 9:33 AM
To: illumos-developer <developer@lists.illumos.org>
Subject: Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port

Thanks Dan!
SmartOS image is working.
Any timeframe on official support?


illumos<https://illumos.topicbox.com/latest> / illumos-developer / see discussions<https://illumos.topicbox.com/groups/developer> + participants<https://illumos.topicbox.com/groups/developer/members> + delivery options<https://illumos.topicbox.com/groups/developer/subscription> Permalink<https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M39af129752b4a547361be5ac>

[-- Attachment #2: Type: text/html, Size: 1786 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-16  7:29                                               ` Stuart Maybee
@ 2023-10-16 15:21                                                 ` Dan McDonald
  2023-10-16 23:29                                                   ` gearboxes
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2023-10-16 15:21 UTC (permalink / raw)
  To: illumos-developer

On Oct 16, 2023, at 3:29 AM, Stuart Maybee via illumos-developer <developer@lists.illumos.org> wrote:
> 
> 
>  Thanks Dan!
> SmartOS image is working. 

Glad to hear that.

> Any timeframe on official support?  

"official" ==> in gate?  There are a few blockers:

1.) I'm curious if there are other PCI IDs that have 38xx chipsets and IT firmware that can be supported?  As lmrc has 10e[0-7], I'm curious if e[0-7] may be supported by the existing 38xx changes?  I have an "improved" set that adds 0xe6 to the chip ID, which matches FreeBSD's mpr driver:

mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID0_SAS3816        (0x00E4)
mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816         (0x00E5)
mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3816        (0x00E6)
mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID1_SAS3816        (0x00E7)


2.) I'm also seeing queries about 39xx chipsets.  That might (should?) be another issue, but if anyone (especially inside Tintri/Nexenta) has experience, it'd be good to know.  At first glance, FreeBSD's mpr appears to not have much in the way of differences between 3916 and 3816:

        { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816,
            0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
            "Broadcom Inc. (LSI) CFG SEC SAS3816" },
        { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3816,
            0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
            "Broadcom Inc. (LSI) HARD SEC SAS3816" },

vs.

        { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3916,
            0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
            "Broadcom Inc. (LSI) CFG SEC SAS3916" },
        { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3916,
            0xffff, 0xffff, (MPR_FLAGS_GEN35_IOC | MPR_FLAGS_SEA_IOC),
            "Broadcom Inc. (LSI) HARD SEC SAS3916" },

But that will Require Testing (TM), which, per below, I cannot do.

3.) I've no HW of my own to test this with, and my HW-testing cycles are supposed to be dedicated to improvements in Mellanox^H^H^H^H^H^H^H^HnVidia ConnectX-6 NICs (which I've just acquired).

I should probably file distinct illumos bugs for 3816 (which you spun out for upstreaming) and for 3916 (which I'm hoping is just adding a few PCI IDs in the right places).

Hope this helps,
Dan

p.s. If you have 3816 or 3916 "IT firmware" (HBA-only, not MegaRAID) HBAs that have been unresponsive, ping this thread for patches.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-16 15:21                                                 ` Dan McDonald
@ 2023-10-16 23:29                                                   ` gearboxes
  2023-10-19 18:40                                                     ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: gearboxes @ 2023-10-16 23:29 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]

Sounds like this would not be any time soon and donating hardware would not move the needle. 
We are struggling to find new compatible hardware all round and currently no ability to maintain drivers outside of the official builds especially with disk access being critical and these all remote. At this stage we will just replace the controllers. 

[-- Attachment #2: Type: text/html, Size: 437 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-16 23:29                                                   ` gearboxes
@ 2023-10-19 18:40                                                     ` Dan McDonald
  2023-10-19 20:11                                                       ` Stuart Maybee
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2023-10-19 18:40 UTC (permalink / raw)
  To: illumos-developer

On Oct 16, 2023, at 7:29 PM, gearboxes@outlook.com wrote:
> 
> Sounds like this would not be any time soon and donating hardware would not move the needle. 
> 

The 38xx could go back by itself if this:

> 1.) I'm curious if there are other PCI IDs that have 38xx chipsets and IT firmware that can be supported?  As lmrc has 10e[0-7], I'm curious if e[0-7] may be supported by the existing 38xx changes?  I have an "improved" set that adds 0xe6 to the chip ID, which matches FreeBSD's mpr driver:
> 
> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID0_SAS3816        (0x00E4)
> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816         (0x00E5)
> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3816        (0x00E6)
> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID1_SAS3816        (0x00E7)

...can get exercised.

At this point it's all about the testing (And Stuart M may have additional testing data from Nexenta/Tintri's use).

Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-19 18:40                                                     ` Dan McDonald
@ 2023-10-19 20:11                                                       ` Stuart Maybee
  2024-03-20  0:36                                                         ` mike.aldred
  0 siblings, 1 reply; 41+ messages in thread
From: Stuart Maybee @ 2023-10-19 20:11 UTC (permalink / raw)
  To: developer

The only devices we (Nexenta/tintri) have available are all 0xE6 pci 
ID's which is what all our testing has been on.

Stuart

On 10/19/2023 12:40 PM, Dan McDonald wrote:
> On Oct 16, 2023, at 7:29 PM, gearboxes@outlook.com wrote:
>>
>> Sounds like this would not be any time soon and donating hardware would not move the needle.
>>
> 
> The 38xx could go back by itself if this:
> 
>> 1.) I'm curious if there are other PCI IDs that have 38xx chipsets and IT firmware that can be supported?  As lmrc has 10e[0-7], I'm curious if e[0-7] may be supported by the existing 38xx changes?  I have an "improved" set that adds 0xe6 to the chip ID, which matches FreeBSD's mpr driver:
>>
>> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID0_SAS3816        (0x00E4)
>> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_CFG_SEC_SAS3816         (0x00E5)
>> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_HARD_SEC_SAS3816        (0x00E6)
>> mpi2_cnfg.h:#define MPI26_MFGPAGE_DEVID_INVALID1_SAS3816        (0x00E7)
> 
> ...can get exercised.
> 
> At this point it's all about the testing (And Stuart M may have additional testing data from Nexenta/Tintri's use).
> 
> Dan
> 
> 
> ------------------------------------------
> illumos: illumos-developer
> Permalink: https://illumos.topicbox.com/groups/developer/Tc07685e55bd13e0d-M83e5e5f51cb62ddefade29c3
> Delivery options: https://illumos.topicbox.com/groups/developer/subscription

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2023-10-19 20:11                                                       ` Stuart Maybee
@ 2024-03-20  0:36                                                         ` mike.aldred
  2024-03-20 13:01                                                           ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: mike.aldred @ 2024-03-20  0:36 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

Thanks for this Dan, I just got a Dell server, and this has let me get SmartOS running on it.
I get a warning "Number of phys reported by HBA SAS IO Unit Page 0 (21) is grater than tat reported by the manufacturing information (16)..."

Besides this, it seems fine. I would be keen to get this so it'll get included in mainline SmartOS.

Is there any information, or anything I can do to help?

[-- Attachment #2: Type: text/html, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2024-03-20  0:36                                                         ` mike.aldred
@ 2024-03-20 13:01                                                           ` Dan McDonald
  2024-03-20 14:34                                                             ` Mike Aldred
  0 siblings, 1 reply; 41+ messages in thread
From: Dan McDonald @ 2024-03-20 13:01 UTC (permalink / raw)
  To: illumos-developer

On Mar 19, 2024, at 8:36 PM, mike.aldred@luminousmonkey.org wrote:
> 
> Thanks for this Dan, I just got a Dell server, and this has let me get SmartOS running on it.
> I get a warning "Number of phys reported by HBA SAS IO Unit Page 0 (21) is grater than tat reported by the manufacturing information (16)..."
> 
> Besides this, it seems fine. I would be keen to get this so it'll get included in mainline SmartOS.

We'd like to get it into illumos-gate, when then downstreams to SmartOS and all of the other distros!  :)

> Is there any information, or anything I can do to help?

Yes, as I don't have all of the context in my L1 cache:

- Which bit(s) did you use to test this?  did you download a SmartOS PI from https://kebe.com/~danmcd/webrevs/mpt_sas-38xx/  ?  Or did you build your own using the "improved patch"?

- Are you willing to provide some extra information?
	- prtconf -vp output in a file?
	- Other information about your Dell system

I also can't remember if we've a 38xx bug filed for illumos, but if it's there, we'll move that forward.  if it's not there, we'll have to file one.

THANK YOU for your testing.  I'm curious about the output too, but others here may have information.

Thanks,
Dan



^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2024-03-20 13:01                                                           ` Dan McDonald
@ 2024-03-20 14:34                                                             ` Mike Aldred
  2024-03-23  4:56                                                               ` Dan McDonald
  0 siblings, 1 reply; 41+ messages in thread
From: Mike Aldred @ 2024-03-20 14:34 UTC (permalink / raw)
  To: illumos-developer

[-- Attachment #1: Type: text/plain, Size: 851 bytes --]

Thanks for the quick reply.

I downloaded the SmartOS image from that site, specifically: platform-20240118T163954Z.usb.gz.

Here's the output of prtconf -vp 
https://www.dropbox.com/scl/fi/p4yghzfhwwxwc2qp3phgm/mike_dell_server_output_prtconf.txt?rlkey=ofcyv88ggy0otcdrrciep6sb6&dl=1

Here's a copy of /var/adm/messages

https://www.dropbox.com/scl/fi/j0tdt99qstz2n56jkvr58/mike_dell_server_messages.txt?rlkey=fpd6phxpgwdttmgllx8hpa54p&dl=1

It's a new Dell R550, with the Dell HBA355i Controller Front Storage Controller

Broadcom MPT SAS3.5
MPT35BIOS-9.47.01.00 (2022.09.19)
MPT Firmware version v24.15.5.0 (SAS3816)

We just got it and I'm just playing around with SmartOS on it, I've got an LX zone running at the moment, and it seems fine. Let me know what other infomation would be useful. I could try to get OmniOS going, etc.

[-- Attachment #2: Type: text/html, Size: 1440 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [developer] Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port
  2024-03-20 14:34                                                             ` Mike Aldred
@ 2024-03-23  4:56                                                               ` Dan McDonald
  0 siblings, 0 replies; 41+ messages in thread
From: Dan McDonald @ 2024-03-23  4:56 UTC (permalink / raw)
  To: illumos-developer

Sorry for the delay this time.  Your response got put in "Junk" for some godawful reason.  (I blame either Exchange, Mail.app, or the interaction between them.)

> On Mar 20, 2024, at 10:34 AM, Mike Aldred <mike.aldred@luminousmonkey.org> wrote:
> 
> Thanks for the quick reply.
> 
> I downloaded the SmartOS image from that site, specifically: platform-20240118T163954Z.usb.gz.

Good.  Thank you.

> Here's the output of prtconf -vp 
> https://www.dropbox.com/scl/fi/p4yghzfhwwxwc2qp3phgm/mike_dell_server_output_prtconf.txt?rlkey=ofcyv88ggy0otcdrrciep6sb6&dl=1

It's this one:

	alias=pciex1000,e6

        vendor-name:  'Broadcom / LSI'
        device-name:  'Fusion-MPT 12GSAS/PCIe Secure SAS38xx'
        subsystem-name:  'HBA355i Front'

So that's good to know.

> Here's a copy of /var/adm/messages
> 
> https://www.dropbox.com/scl/fi/j0tdt99qstz2n56jkvr58/mike_dell_server_messages.txt?rlkey=fpd6phxpgwdttmgllx8hpa54p&dl=1

I see the mpt_sas messages, including the one you mentioned:

2024-03-20T11:46:42.851427+00:00 flying-colors scsi: [ID 107833 kern.warning] WARNING: /pci@5e,0/pci8086,347c@4/pci1028,200c@0 (mpt_sas0):#012#011Number of phys reported by HBA SAS IO Unit Page 0 (21) is greater than that reported by the manufacturing information (16). Driver phy count limited to 16. Please contact the firmware vendor about this.

THAT I'm not sure how to cure, but given what you say below, I'm not horribly worried.

> It's a new Dell R550, with the Dell HBA355i Controller Front Storage Controller
> 
> Broadcom MPT SAS3.5
> MPT35BIOS-9.47.01.00 (2022.09.19)
> MPT Firmware version v24.15.5.0 (SAS3816)
> 
> We just got it and I'm just playing around with SmartOS on it, I've got an LX zone running at the moment, and it seems fine. Let me know what other infomation would be useful. I could try to get OmniOS going, etc.

Please use disks from the HBA and let us know how things go.  This is useful testing!

It looks like there is not an already filed bug.  We have:

	https://www.illumos.org/issues/15302

Which *mentions* 38xx, but this bug isn't about it.  We should file a new one, and start getting people's results with it.

Thank you very much!
Dan


^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2024-03-23  4:57 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25  8:30 Broadcom 3816/3808 SAS controller, 16/8 internal ports, 12Gb/s per port Gabriele Bulfon
2021-10-25 13:29 ` kilian.ries
2021-10-25 14:26   ` [developer] " Robert Mustacchi
2021-10-25 14:57     ` Gabriele Bulfon
2021-10-25 15:06     ` [developer] " InterNetX - Kilian Ries
2021-10-25 15:34       ` Marcel Telka
2021-10-26  8:47         ` Marcel Telka
2021-10-30 14:55           ` Robert Mustacchi
2021-11-02  9:44             ` Marcel Telka
2021-12-01 16:27               ` InterNetX - Kilian Ries
2021-12-16 14:39                 ` Marcel Telka
2021-10-25 15:40       ` Robert Mustacchi
2021-10-25 15:48         ` InterNetX - Kilian Ries
2022-04-30 10:39           ` clement.jourdan
2022-05-02 23:37             ` smaybee
2022-07-07 13:11               ` kilian.ries
2022-07-07 13:51                 ` Schweiss, Chip
2022-07-07 14:06                   ` Garrett D'Amore
2022-07-07 14:19                     ` Dan McDonald
2022-07-07 14:31                       ` Garrett D'Amore
2022-07-07 21:13                         ` Stuart Maybee
2022-07-07 21:19                           ` Joshua M. Clulow
2022-12-02  8:40                             ` Tobias Oetiker
2022-12-09 12:00                               ` Carsten Grzemba
2023-05-01 20:59                                 ` smaybee
2023-05-01 21:01                                   ` Dan McDonald
2023-05-01 21:32                                     ` Stuart Maybee
2023-05-01 21:46                                       ` Stuart Maybee
2023-10-06 16:10                                         ` Dan McDonald
2023-10-06 18:40                                           ` Dan McDonald
2023-10-15 15:33                                             ` gearboxes
2023-10-16  7:29                                               ` Stuart Maybee
2023-10-16 15:21                                                 ` Dan McDonald
2023-10-16 23:29                                                   ` gearboxes
2023-10-19 18:40                                                     ` Dan McDonald
2023-10-19 20:11                                                       ` Stuart Maybee
2024-03-20  0:36                                                         ` mike.aldred
2024-03-20 13:01                                                           ` Dan McDonald
2024-03-20 14:34                                                             ` Mike Aldred
2024-03-23  4:56                                                               ` Dan McDonald
2023-05-01 20:53               ` smaybee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).