m.2->SATA adapter not detected on a BKHD N510X NAS motherboard, what makes NVMe slots usable for PCIe devices?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

gargravarr

Member
Jul 1, 2021
47
3
8
Hi folks,

I built a TrueNAS machine around a BKHD N510X motherboard a couple of months ago. It performs well and it's got a good list of features (I got the base-model Celeron N5100 option). I spec'd it with 16GB of DDR4-2666, an Intel 600p 256GB NVMe boot SSD and 6x WD Enterprise 6TB SATA drives in a RAID-Z1 (intentional as the system is backed up). I've also fitted an X520 10Gb card and the system is capable of using it - I'll get 3.5Gbps steady during a ZFS send, touching 5Gbps occasionally.

The main purpose I built it for is to serve as an iSCSI LUN (a zvol) shared between my 4 Proxmox hypervisors (via the 10Gb card to a dumb switch then 2.5Gb NICs on each hypervisor). Whilst it works okay in this use case, I'm finding the spinning disks are quite a limiting factor - they're laggy and backups are very slow (3 hours per node). I have 4 spare 512GB SATA SSDs and I got thinking, what if I created a new zpool out of them and used them for Proxmox. Trouble is that the motherboard only has 6 SATA ports and I'm using them all. Well, the board does have an m.2 NVMe slot and I have no need for NVMe speeds from the boot volume.

I bought a JMicron JMB585 m.2->5x SATA adapter (before learning they have a poor reputation) but when fitting it, it's not detected at all. Linux does not show it under lspci. I then bought an ASMedia ASM1166 m.2->6x SATA, since the board already has an ASM1166 controller and it's stable. However, still no joy, but this one does at least light up the port LEDs on power on.

Since the 600p is NVMe and is detected and bootable, I'm not sure why the SATA card isn't being detected at all. Not bootable, I'd understand, but it's just not appearing, full stop, even with a SATA SSD plugged into the card.

The BIOS on the motherboard is up to date. There's a section under Chipset -> PCIe that toggles the various PCIe devices, and it declares "PCIe x1 to SSD", though the only controls are 'Enabled' or 'Disabled.' I've tried disabling one of the 2.5Gb NICs thinking it might free up PCIe lanes, but no such joy.

I'd like not to lose the 10Gb card as it's useful, and the slot is only PCIe 2.0 x2, though the NVMe slot is PCIe 3.0 x1 so not a whole lot of difference. The SATA cards both claim to be PCIe 3.0 x2; in theory they should both work fine in an x1 port, right?

Any idea what determines whether or not an m.2 slot is usable for other PCIe devices?
 

RolloZ170

Well-Known Member
Apr 24, 2016
6,681
2,069
113
the M.2 slot may only supported for NVMe devices, not PCIe.
this is not unusual.
 

RolloZ170

Well-Known Member
Apr 24, 2016
6,681
2,069
113
I was under the impression that NVMe and PCIe were the same thing?
a NVMe device connects over PCIe lanes.
if the BIOS just looks for NVMe protocoll, not for other PCIe devices you are out of luck.
a GPU is not a NVMe device but connected with PCIe.
 

gargravarr

Member
Jul 1, 2021
47
3
8
Rats.

Which leads into my other question, what determines whether an m.2 slot is capable of connecting to non-NVMe devices?
 

gargravarr

Member
Jul 1, 2021
47
3
8
Sure, I was generalising these types of motherboard, since there seems to be a vast array of them, all very similar, inexpensive and built for a specific use case.
 

RolloZ170

Well-Known Member
Apr 24, 2016
6,681
2,069
113
i taked a look into the BIOS.
"NVMe controller and drive information"
leads me to believe the M.2 slot is dedicated for NVMe.
 

gargravarr

Member
Jul 1, 2021
47
3
8
So I swapped out the 10Gb card for the ASM1166. Live-booting into Ubuntu showed the card and 4 SSDs as detected. Then I rebooted into TrueNAS and got a horrendous wall of thousands of pcieport errors. Something in this chain doesn't like my setup.
 

vvkvvk

Member
Feb 1, 2023
90
36
18
Do you have one of those flimsy M.2 SATA cards without metallic bracing? You might've just cracked the PCB because they're super thin and fragile. If you look at Silverstone ECS07 you can tell that it's much more robust adapter and get something like that from Ali's mysterious hardware emporium.
 

Jorge Perez

Active Member
Dec 8, 2019
113
51
28
Hi folks,

I built a TrueNAS machine around a BKHD N510X motherboard a couple of months ago. It performs well and it's got a good list of features (I got the base-model Celeron N5100 option). I spec'd it with 16GB of DDR4-2666, an Intel 600p 256GB NVMe boot SSD and 6x WD Enterprise 6TB SATA drives in a RAID-Z1 (intentional as the system is backed up). I've also fitted an X520 10Gb card and the system is capable of using it - I'll get 3.5Gbps steady during a ZFS send, touching 5Gbps occasionally.

The main purpose I built it for is to serve as an iSCSI LUN (a zvol) shared between my 4 Proxmox hypervisors (via the 10Gb card to a dumb switch then 2.5Gb NICs on each hypervisor). Whilst it works okay in this use case, I'm finding the spinning disks are quite a limiting factor - they're laggy and backups are very slow (3 hours per node). I have 4 spare 512GB SATA SSDs and I got thinking, what if I created a new zpool out of them and used them for Proxmox. Trouble is that the motherboard only has 6 SATA ports and I'm using them all. Well, the board does have an m.2 NVMe slot and I have no need for NVMe speeds from the boot volume.

I bought a JMicron JMB585 m.2->5x SATA adapter (before learning they have a poor reputation) but when fitting it, it's not detected at all. Linux does not show it under lspci. I then bought an ASMedia ASM1166 m.2->6x SATA, since the board already has an ASM1166 controller and it's stable. However, still no joy, but this one does at least light up the port LEDs on power on.

Since the 600p is NVMe and is detected and bootable, I'm not sure why the SATA card isn't being detected at all. Not bootable, I'd understand, but it's just not appearing, full stop, even with a SATA SSD plugged into the card.

The BIOS on the motherboard is up to date. There's a section under Chipset -> PCIe that toggles the various PCIe devices, and it declares "PCIe x1 to SSD", though the only controls are 'Enabled' or 'Disabled.' I've tried disabling one of the 2.5Gb NICs thinking it might free up PCIe lanes, but no such joy.

I'd like not to lose the 10Gb card as it's useful, and the slot is only PCIe 2.0 x2, though the NVMe slot is PCIe 3.0 x1 so not a whole lot of difference. The SATA cards both claim to be PCIe 3.0 x2; in theory they should both work fine in an x1 port, right?

Any idea what determines whether or not an m.2 slot is usable for other PCIe devices?

Have you checked for an oprom issue.
 

gargravarr

Member
Jul 1, 2021
47
3
8
Do you have one of those flimsy M.2 SATA cards without metallic bracing? You might've just cracked the PCB because they're super thin and fragile. If you look at Silverstone ECS07 you can tell that it's much more robust adapter and get something like that from Ali's mysterious hardware emporium.
I heard about those. Thankfully both the JMicro and ASMedia cards I bought have backing plates.