I just installed a dual-slot carrier for NVMe (IcyDock ToughArmor MB834M2K-B) in my workstation (running 13.0-RELEASE) and connected it via a Supermicro AOC-SLG3-2E4 PLX-based PCIe switch "HBA".
The PCIe switch is correctly recognized and NVMes are also detected upon insertion in either slot, but they can't be picked up by the nvme driver:
The drive inserted is a samsung ssd980 (mz-v8v250), pulled from a NUC that is booting from that disk (i.e. "known working").
I'm using the nda(4) driver, so hotplugging should work (it does on 2 other systems with NVMe backplanes); but AFAIK the nvme driver hands over the device to either nvd or nda, so with nvme(4) failing nda never gets involved.
Is this some kind of limitation on desktop hardware (i.e. not supporting PCIe switches)?
The PCIe switch is correctly recognized and NVMes are also detected upon insertion in either slot, but they can't be picked up by the nvme driver:
Code:
# lspci | grep PLX
01:00.0 PCI bridge: PLX Technology, Inc. PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ab)
02:01.0 PCI bridge: PLX Technology, Inc. PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ab)
02:02.0 PCI bridge: PLX Technology, Inc. PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ab)
[..]
pci8: <PCI bus> on pcib3
nvme2: <Generic NVMe Device> at device 0.0 on pci8
nvme2: 0x4000 bytes of rid 0x10 res 3 failed (0, 0xffffffffffffffff).
nvme2: unable to allocate pci resource
device_attach: nvme2 attach returned 12
The drive inserted is a samsung ssd980 (mz-v8v250), pulled from a NUC that is booting from that disk (i.e. "known working").
I'm using the nda(4) driver, so hotplugging should work (it does on 2 other systems with NVMe backplanes); but AFAIK the nvme driver hands over the device to either nvd or nda, so with nvme(4) failing nda never gets involved.
Is this some kind of limitation on desktop hardware (i.e. not supporting PCIe switches)?
Last edited: