M2 NVME for PCI-E card

Post Reply
piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

M2 NVME for PCI-E card

Post by piknew »

I am trying to use M2 to PCI-E 4x adapter. Unfortunately it seems that it is not working. Eg. network card or SATA controller is not visible when issuing lspci command (I am using amd64 Debian 9.8 as OS). Can anybody suggest if there is any additional step (eg. setup in BIOS) to make it working?

I am using this adapter:
M-2-NGFF-PCI-E.jpg
M-2-NGFF-PCI-E.jpg (10.46 KiB) Viewed 5595 times
EDIT: I have taken NVME SSD from my desktop PC (which now I am writing this post from) and... it is not detected (not displayed in BIOS and obviously cannot boot). Does it mean that my H2 has failure?
Last edited by piknew on Fri Mar 15, 2019 4:26 pm, edited 1 time in total.

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

I have done detailed review of M.2 socket and it seems that pins 73 & 71 are in short circuit (I have verified it by multimeter). Issue during production?
DSC01453-zoom.JPG
DSC01453-zoom.JPG (89.47 KiB) Viewed 5577 times

mad_ady
Posts: 8474
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 578 times
Been thanked: 464 times
Contact:

Re: M2 NVME for PCI-E card

Post by mad_ady »

The nvme slot does not support sata ssds.

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

My SSD is NVME (PCI-E). I know that SATA is not supported. The "SATA adapter" which I have mentioned is actually SATA controller:

01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)

None of these three tested devices are recognised:
1. NVME SSD
2. SATA controller
3. Network card

Because of 1st point I started to review physical layout and noticed shorted pins as presented on photo above. Not sure it is "by design" or it may cause the issue.

ruppi
Posts: 129
Joined: Fri Feb 22, 2013 11:13 pm
languages_spoken: korean
Location: South Korea
Has thanked: 0
Been thanked: 12 times
Contact:

Re: M2 NVME for PCI-E card

Post by ruppi »

piknew wrote:
Fri Mar 15, 2019 6:14 am
I have done detailed review of M.2 socket and it seems that pins 73 & 71 are in short circuit (I have verified it by multimeter). Issue during production?

DSC01453-zoom.JPG
Hi piknew,

Pin numbers 72 and 73 are originally Grounds, as shown in the M.2 Connector Circuit Diagram from attached H2, so the soldering bridge between the two pins does not affect the function.
H2_M2CONN.png
H2_M2CONN.png (123.67 KiB) Viewed 5438 times

crashoverride
Posts: 5108
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 368 times
Contact:

Re: M2 NVME for PCI-E card

Post by crashoverride »

There is a UEFI setting to configure the PCIe lanes. I had to manually enable them since the default "auto" did not work for my SSD. This may or may not be relevant to the issue. ;)

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

crashoverride wrote:
Mon Mar 18, 2019 5:44 pm
There is a UEFI setting to configure the PCIe lanes. I had to manually enable them since the default "auto" did not work for my SSD. This may or may not be relevant to the issue. ;)
Could you please help to point which are these settings? Do you mean "PCIe Ports (1..6)?" Besides of changing from auto to enabled - have you modified anything else?

EDIT: Problem solved! The issue was caused by "PCI Express Clock Gating" settings, this one had to be changed to "Disabled":
IMG_20190318_200703.jpg
IMG_20190318_200703.jpg (71.33 KiB) Viewed 5359 times
Now (line that I was looking for is "01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)"):

Code: Select all

[root@PKDATA ~]# lspci
00:00.0 Host bridge: Intel Corporation Device 31f0 (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Device 3185 (rev 03)
00:0e.0 Audio device: Intel Corporation Device 3198 (rev 03)
00:0f.0 Communication controller: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface (rev 03)
00:12.0 SATA controller: Intel Corporation Device 31e3 (rev 03)
00:13.0 PCI bridge: Intel Corporation Device 31d8 (rev f3)
00:14.0 PCI bridge: Intel Corporation Device 31d6 (rev f3)
00:14.1 PCI bridge: Intel Corporation Device 31d7 (rev f3)
00:15.0 USB controller: Intel Corporation Device 31a8 (rev 03)
00:17.0 Signal processing controller: Intel Corporation Device 31b4 (rev 03)
00:17.1 Signal processing controller: Intel Corporation Device 31b6 (rev 03)
00:17.2 Signal processing controller: Intel Corporation Device 31b8 (rev 03)
00:17.3 Signal processing controller: Intel Corporation Device 31ba (rev 03)
00:1c.0 SD Host controller: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Device 31e8 (rev 03)
00:1f.1 SMBus: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model (rev 03)
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
These users thanked the author piknew for the post:
colinng (Mon Dec 16, 2019 9:28 am)

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

Still have minor issue. It seems that if board is disconnected from power (not just powered down), then after first boot - M2/PCIe does not recognize. Reboot does not help. "poweroff" and "on" helps.

servili007
Posts: 11
Joined: Mon Apr 29, 2019 1:29 pm
languages_spoken: english
ODROIDs: Odroid N2, Odroid GO, Odroid H2
Has thanked: 0
Been thanked: 0
Contact:

Re: M2 NVME for PCI-E card

Post by servili007 »

I used a smart adapter for use with eGPUs and didn't have any issues after playing around in the BIOS, except that I could not get a PCIe 3.0 link, it seemed stuck at 1.1 no matter how I configured the BIOS.

ruppi
Posts: 129
Joined: Fri Feb 22, 2013 11:13 pm
languages_spoken: korean
Location: South Korea
Has thanked: 0
Been thanked: 12 times
Contact:

Re: M2 NVME for PCI-E card

Post by ruppi »

Hi piknew,

After removing the heat shield from the top.

Pull up resister PR3 on CLKREQ change from 10k to 49.9k for some NVME detection issue by referring to the figure below.

BR
Ruppi
Attachments
H2 PR3 resister
H2 PR3 resister
H2_20190603.png (3.13 MiB) Viewed 4788 times
These users thanked the author ruppi for the post:
colinng (Mon Dec 16, 2019 9:29 am)

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

ruppi wrote:
Mon Jun 03, 2019 5:32 pm
Hi piknew,

After removing the heat shield from the top.

Pull up resister PR3 on CLKREQ change from 10k to 49.9k for some NVME detection issue by referring to the figure below.

BR
Ruppi

Thanks, actually I will use 47k as currently I do not have 49.9k in my "stock" with appropriate size (SMD). I will let know if problem:
piknew wrote:
Tue Mar 19, 2019 10:55 pm
Still have minor issue. It seems that if board is disconnected from power (not just powered down), then after first boot - M2/PCIe does not recognize. Reboot does not help. "poweroff" and "on" helps.
is gone or not.

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

I replaced the resistor. Actually I had 51k 0402, not 47k as mentioned previously (but as it is pull-up it does not make a difference here: 49.9k vs 51k). So far the problem that PCI-E is not initialized correctly upon cold start is gone (everything is working correctly). Thanks.
Last edited by piknew on Tue Jun 18, 2019 9:01 pm, edited 1 time in total.

User avatar
odroid
Site Admin
Posts: 35334
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 1095 times
Been thanked: 831 times
Contact:

Re: M2 NVME for PCI-E card

Post by odroid »

It is a bad news.

When we tested several different M.2 NVMe SSD and the IO-M2F9235-4I M.2 PCIe-to-SATA bridge board, we couldn't reproduce the issue.
They always work with warm-boot as well as cold-boot.

BTW, which kernel version do you use?
We've used Kernel 5.0 with Ubuntu 19.04.

piknew
Posts: 12
Joined: Thu Feb 14, 2019 7:53 pm
languages_spoken: polish, english
ODROIDs: H2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by piknew »

odroid wrote:
Tue Jun 18, 2019 5:54 pm
It is a bad news.
Sorry, if my answer was not clear. I edited it (take a look above). I mean that problem is gone == everything is working correctly. The statement about "no difference here" was about values of pull-up resistors. You redesigned it with 49.9k (5%), I have used 51k (1%).
odroid wrote:
Tue Jun 18, 2019 5:54 pm
BTW, which kernel version do you use?
We've used Kernel 5.0 with Ubuntu 19.04.
Currently it is:

[root@PKSTORAGE ~]# uname -a
Linux PKSTORAGE 4.19.0-5-amd64 #1 SMP Debian 4.19.37-3 (2019-05-15) x86_64 GNU/Linux
[root@PKSTORAGE ~]# lspci
00:00.0 Host bridge: Intel Corporation Device 31f0 (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Device 3185 (rev 03)
00:0e.0 Audio device: Intel Corporation Device 3198 (rev 03)
00:0f.0 Communication controller: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface (rev 03)
00:12.0 SATA controller: Intel Corporation Device 31e3 (rev 03)
00:13.0 PCI bridge: Intel Corporation Device 31d8 (rev f3)
00:14.0 PCI bridge: Intel Corporation Device 31d6 (rev f3)
00:14.1 PCI bridge: Intel Corporation Device 31d7 (rev f3)
00:15.0 USB controller: Intel Corporation Device 31a8 (rev 03)
00:17.0 Signal processing controller: Intel Corporation Device 31b4 (rev 03)
00:17.1 Signal processing controller: Intel Corporation Device 31b6 (rev 03)
00:17.2 Signal processing controller: Intel Corporation Device 31b8 (rev 03)
00:17.3 Signal processing controller: Intel Corporation Device 31ba (rev 03)
00:1c.0 SD Host controller: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Device 31e8 (rev 03)
00:1f.1 SMBus: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model (rev 03)
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
[root@PKSTORAGE ~]#

User avatar
odroid
Site Admin
Posts: 35334
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean, Japanese
ODROIDs: ODROID
Has thanked: 1095 times
Been thanked: 831 times
Contact:

Re: M2 NVME for PCI-E card

Post by odroid »

Glad to hear that.
Thank you for the clarification. English is still a big hurdle for Asian people. ;)

colinng
Posts: 2
Joined: Mon Dec 16, 2019 9:27 am
languages_spoken: english
ODROIDs: ODROID-H2
Has thanked: 3 times
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Post by colinng »

piknew wrote:
Mon Mar 18, 2019 7:17 pm

EDIT: Problem solved! The issue was caused by "PCI Express Clock Gating" settings, this one had to be changed to "Disabled":
Thanks for that tip! I got a SYBA SD-ADA40118 M.2, 4 Port SATA III Adapter to work thanks to your tip on disabling PCI Express Clock Gating.

FWIW, I have crammed 5 x 2.5" 15mm height drives into the Type 1 case. A 6th drive would fit, but I do not have one on hand to test the power draw.
- moved H2 board higher by swapping out 40mm standoffs for 35mm
- used 3M double-sided foam tape to keep the SYBA card in the M.2 slot
- modified a 5 x SATA drive power cable by replacing the its Molex 4 pin with a JST XH 4-pin 2.50mm connector
- moving the fan from inside the case to outside the case

And it works with FreeNAS!
These users thanked the author colinng for the post:
odroid (Mon Dec 23, 2019 9:31 am)

mad_ady
Posts: 8474
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 578 times
Been thanked: 464 times
Contact:

Re: M2 NVME for PCI-E card

Post by mad_ady »

Sounds interesting. Care to show us a picture of how the drives fit in?

Post Reply

Return to “Hardware and peripherals”

Who is online

Users browsing this forum: No registered users and 2 guests