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: 0
Contact:

M2 NVME for PCI-E card

Unread post by piknew » Fri Mar 15, 2019 4:02 am

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 1697 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: 0
Contact:

Re: M2 NVME for PCI-E card

Unread post by piknew » 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
DSC01453-zoom.JPG (89.47 KiB) Viewed 1679 times

User avatar
mad_ady
Posts: 6180
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, N1, H2, N2
Location: Bucharest, Romania
Has thanked: 124 times
Been thanked: 91 times
Contact:

Re: M2 NVME for PCI-E card

Unread post by mad_ady » Fri Mar 15, 2019 3:40 pm

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: 0
Contact:

Re: M2 NVME for PCI-E card

Unread post by piknew » Fri Mar 15, 2019 4:21 pm

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: 96
Joined: Fri Feb 22, 2013 11:13 pm
languages_spoken: korean
Location: South Korea
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Unread post by ruppi » Mon Mar 18, 2019 1:39 pm

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 1540 times

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

Re: M2 NVME for PCI-E card

Unread post by crashoverride » 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. ;)

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

Re: M2 NVME for PCI-E card

Unread post by piknew » Mon Mar 18, 2019 7:17 pm

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 1461 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)

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

Re: M2 NVME for PCI-E card

Unread post by piknew » 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.

servili007
Posts: 10
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

Unread post by servili007 » Wed May 01, 2019 9:23 am

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: 96
Joined: Fri Feb 22, 2013 11:13 pm
languages_spoken: korean
Location: South Korea
Has thanked: 0
Been thanked: 1 time
Contact:

Re: M2 NVME for PCI-E card

Unread post by ruppi » 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
Attachments
H2_20190603.png
H2 PR3 resister
H2_20190603.png (3.13 MiB) Viewed 890 times

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

Re: M2 NVME for PCI-E card

Unread post by piknew » Mon Jun 03, 2019 5:52 pm

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: 0
Contact:

Re: M2 NVME for PCI-E card

Unread post by piknew » Tue Jun 18, 2019 5:38 pm

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: 31394
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 54 times
Been thanked: 186 times
Contact:

Re: M2 NVME for PCI-E card

Unread post by odroid » Tue Jun 18, 2019 5:54 pm

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: 0
Contact:

Re: M2 NVME for PCI-E card

Unread post by piknew » Tue Jun 18, 2019 9:03 pm

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: 31394
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 54 times
Been thanked: 186 times
Contact:

Re: M2 NVME for PCI-E card

Unread post by odroid » Wed Jun 19, 2019 8:44 am

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

Post Reply

Return to “Hardware and peripherals”

Who is online

Users browsing this forum: No registered users and 2 guests