NVMe SSD WD Black don't work

Got my VisionFive2 board with 8GB ram and playing around a bit.

My NVMe SSD, a WD Black 500GB is not recognized. I use the Image-69

Any advice? The SPI is up to date.

root@starfive:~# blkid
/dev/mmcblk1p3: LABEL="root" UUID="6fb32149-b83b-4969-8ffb-cf73044b135e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a4643a54-b504-8941-b1c8-21c58de8a576"
/dev/mmcblk1p1: PARTUUID="00d7afd1-99de-42bf-9a5f-2177370c9fdc"
/dev/mmcblk1p2: SEC_TYPE="msdos" UUID="2BBA-0725" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="70e8fa63-f9fc-410b-8322-b0950c6d22fb"
root@starfive:~# lspci
00:00.0 PCI bridge: PLDA XpressRich-AXI Ref Design (rev 02)
01:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01)
root@starfive:~# dmesg | grep -e pcie
[    2.502695] pcie_plda 2b000000.pcie: host bridge /soc/pcie@2B000000 ranges:
[    2.510461] pcie_plda 2b000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
[    2.519415] pcie_plda 2b000000.pcie:      MEM 0x0900000000..0x093fffffff -> 0x0900000000
[    2.895656] pcie_plda 2b000000.pcie: Port link up.
[    2.901102] pcie_plda 2b000000.pcie: PCI host bridge to bus 0000:00
[    3.091697] pcie_plda 2b000000.pcie: msi#0 address_hi 0x0 address_lo 0x190
[    3.142278] pcie_plda 2c000000.pcie: host bridge /soc/pcie@2C000000 ranges:
[    3.150022] pcie_plda 2c000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
[    3.158978] pcie_plda 2c000000.pcie:      MEM 0x0980000000..0x09bfffffff -> 0x0980000000
[    3.615816] pcie_plda 2c000000.pcie: Port link down, exit.
[    4.777848] input: Logitech USB Keyboard as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:046D:C31C.0001/input/input0
[    4.879507] input: Logitech USB Keyboard Consumer Control as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.1/0003:046D:C31C.0002/input/input1
[    4.965887] input: Logitech USB Keyboard System Control as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.1/0003:046D:C31C.0002/input/input2
[    5.918144] input: Logitech USB Receiver as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C52F.0003/input/input3
[    5.951922] input: Logitech USB Receiver Consumer Control as /devices/platform/soc/2b000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.1/0003:046D:C52F.0004/input/input4
root@starfive:~# lspci -v
00:00.0 PCI bridge: PLDA XpressRich-AXI Ref Design (rev 02) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Memory at <unassigned> (64-bit, prefetchable)
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 00000000-00000fff [size=4K]
        Memory behind bridge: 30000000-300fffff [size=1M]
        Prefetchable memory behind bridge: 0000000000000000-00000000000fffff [size=1M]
        Capabilities: [80] Express Root Port (Slot+), MSI 00
        Capabilities: [e0] MSI: Enable- Count=1/32 Maskable+ 64bit+
        Capabilities: [f8] Power Management version 3
        Capabilities: [100] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
        Capabilities: [200] Advanced Error Reporting

01:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) (prog-if 30 [XHCI])
        Subsystem: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller
        Flags: bus master, fast devsel, latency 0, IRQ 58
        Memory at 30000000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [80] Power Management version 3
        Capabilities: [90] MSI: Enable+ Count=1/4 Maskable- 64bit+
        Capabilities: [c4] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Kernel driver in use: xhci_hcd

Thanks for the RISC-V boards :clap:

1 Like

So it is not enumerated at all.

I would double-check that the SSD is not a SATA M.2, that it is properly attached, and that the power supply is adequate to support both the board and the ssd.

4 Likes

From lspci output, PCIe endpoint 01:00.0 is an USB controller.
SSD NVMe endpoint is not plug into pcie slot directly?

1 Like

The SSD is plugged directly into the PCIe slot.

1 Like

https://tweakers.net/pricewatch/1167307/wd-black-nvme-ssd-sn700-500gb/specificaties/

Looks like this SSD only supports PCIe 3.0, but since the JH7110 only has PCIe 2.0, I suspect you are not going to get this combo to work.

3 Likes

“Backward compatible with PCIe Gen3 x2, PCIe Gen3 x1, PCIe Gen2 x4, PCIe Gen2 x2, and PCIe Gen2 x1

I do not think that is the problem if it is a WD_BLACK SN750 NVMe SSD (WDS500G3X0C) or a WD_BLACK SN850 NVMe SSD (WDS500G1X0E-00AFY0).

Since it is not being seen at all my guess is that there is a power issue. The only number I can find for peak power (10 microseconds) is for the sn750 (and sn850 NVMe) of 2.8 A, which at 3.3 volts which would be 9.24 watts.

If there is sufficient power for the VF2 and the peak power of the NVMe then the other option would be that the edge connector is not making full contact. I’d remove and inspect both with a bright light under high magnification, using normal antistatic procedures.

5 Likes

agree with @mzs, would you please double check you power adapter.

2 Likes

I am using

as power source.

1 x USB-C port @ up to 65W

2 Likes

This power source looks like it should be enough.
would you please capture booting log from serial console? I can request our operation team to check which batch of this board? thanks

2 Likes

My VF2 is revision v1.2a and has 8GB RAM

2 Likes

Today arrived another NVMe SSD :grinning:

Crucial P3 500GB M.2 PCIe Gen3 NVMe with 500GB

Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: CT500P3SSD8                             
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Problem solved :joy:

root@starfive:/tmp# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 9.16367 s, 117 MB/s
2 Likes

Great. But I’m still wondering whey the WD NVME SSD does not work :sweat_smile:

3 Likes

Me too

2 Likes

I have a WD Black SN:770 1TB that i could test.

2 Likes

Thanks, Yes, I have a SN350 WD NVMe SSD. it works normally

3 Likes

i tested two nvme HP EX900 (256GB) and SN570 (512GB) - both are working, once SN was not initialized but it’s more compatible than on Rock5B where I could not get HP to work.

3 Likes

I have a SanDisk A400 NVME 512 GB disk that doesn’t work. lspci identifies it as a WD Black NVME drive. It doesn’t show on lsblk. nvme list gives dashes for all of the columns. I use a 45W Samsung Super fast charger and a Lenovo 65W laptop charger with the same
results. I have tried every sdcard.img and debian img including 202306 without success.