Jump to content

M.2 NVMe SSDs for NanoPC-T4


dmitry_z

Recommended Posts

Hello to everyone ,

 

We have several T4 boards and can't get the NVMe SSD we currently have - Toshiba KBG30ZMS256GA - working ...

Tried different 4.4 kernels and various distros . The SSD itself proofed to be working in Mikrotik RouterBoard RBM33G . Before we buy some other NVMe SSDs to try , I want to ask for advise . 

Is it ok to get such messages from kernel :

# dmesg | grep -i pci
                   PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000   (    16 MB)
[    0.119383] PCI/MSI: /interrupt-controller@fee00000/interrupt-controller@fee20000 domain created
[    1.540416] PCI: CLS 0 bytes, default 64
[    1.948302] phy phy-pcie-phy.5: Looking up phy-supply from device tree
[    1.948312] phy phy-pcie-phy.5: Looking up phy-supply property in node /pcie-phy failed
[    1.950471] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[    1.950482] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[    1.950510] of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
[    1.950757] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[    1.950858] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[    1.950870] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[    1.950884] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[    1.950892] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[    1.950901] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[    1.950913] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[    1.971648] rockchip-pcie f8000000.pcie: invalid power supply
[    2.471703] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    2.471905] rockchip-pcie: probe of f8000000.pcie failed with error -110
[    2.593787] ehci-pci: EHCI PCI platform driver

 

Our system is current Armbian

# uname -a
Linux boise 4.4.174-rk3399 #31 SMP Sun Feb 10 00:37:23 CET 2019 aarch64 aarch64 aarch64 GNU/Linux

 

The diagnostics is uploaded to
http://ix.io/1EIL

 

Many thanks in advance

 

Link to comment
Share on other sites

I don't know if this'll be useful to you, but what the hey...

When you say "the NVMe SSD we currently have", does that indicate a sample size of one? I can't comment on the error, though, beyond the obvious "It doesn't appear to work." (My board is currently out of service.)

Your Toshiba device appears to be M.2 2230 form factor with no on-board DRAM: more compact (and potentially difficult to mount on the T4) and generally more expensive and slower than other options. If you don't have an investment in it/them, I'd look for:

- M.2 2280 form factor, M key;

- PCI-e 2.1 or later (basically every M.2 NVME device);

- x4 width, as it's available (x2 is acceptable);

- On-board DRAM buffer.

Lots of folks use Samsung SSDs. I personally chose a Phison E8-based device (Liteon MU X), a v3 x2 device like the Toshiba but with on-board DRAM, because it was cheap ($28 on eBay for 128GB, new/sealed). As always with cars and computers, "How fast do you want to spend?" The Phison E8 can be outperformed by a good SATA SSD (or better NVME SSD, obviously) in saturation benchmarks, but that's an odd target application for a $110 ARM dev board.

Are you constrained by time (product research), money (choosing a known-good but potentially more costly item), or both (potentially having to purchase and test multiple devices to find an appropriate solution)?

Link to comment
Share on other sites

Yes, that Toshiba accidentally turned out to be the only M.2 NVMe SSD we currently have for testing. And looks like it's not a perfect fit.  We ordered a couple of M.2 2280 SSDs - Samsung & Kingston , and will test with them when they will be delivered. And we constrained by time and money   - don't want to waste them playing with multiple drives available on the market .. Thank you very much for your reply ! I'll update upon our results with Samsung and Kingston.

Link to comment
Share on other sites

Thanks to everyone who replied ! It was bad luck with Toshiba .

Successfully verified 3 different M.2 SSD models :

Samsung 970 EVO

Kingston SA1000M8

Intel SSDPEKKW128G801

 

All three are working just fine (as it should be) , Samsung is the fastest .

 

Beware of  Toshiba KBG30ZMS256GA !

 

Link to comment
Share on other sites

Hopefully, I'll be trying a Samsung PM961 512GB soon.  I had the possibility to get a Toshiba SSD and I'm choosing not to, at this point, thanks to this thread.  It may work, though.

 

I'm going to be trying it with the nightly Armbian Stretch with the 4.20.y kernel.  Have others been using this one or the build based on the legacy 4.4.y kernel?

 

I had tried the legacy build but had some issues so I thought I'd try to nightly build to see what happened and so far seems to be working fine.

Link to comment
Share on other sites

I haven't tried the most recent kernels, but video was a bit spotty with the mainline as of a few months ago. Looks like Rockchip's status page:

http://opensource.rock-chips.com/wiki_Status_Matrix

...hasn't been updated recently. Anyway, the 4.4.x has worked well for me, but I... have basic needs (e.g. NVMe not disappearing).

Rather like IBM (up to the '80s, at least), nobody gets fired for choosing Samsung SSDs. Pricey (compared to the NanoPC-T4), but reliable.

Link to comment
Share on other sites

I'm using it headless so I don't need a desktop or video.  I'm setting up OpenMediaVault and so far so good.

 

Are you saying that with 4.20.x there are issues with NVMe?  I would need to rebuild.  Where can I find more info on this.  I was having issues with 4.4.x and that's why I went with 4.20.x

 

As for the Samsung, well it's not new, so very reasonably priced, $130 CAD total.  The specs are great and I figure I will always be able to use it later.  Only about $30 more than the Toshiba I was researching.

Link to comment
Share on other sites

Another data point, no luck with Samsung MZVLB256HAHQ-000L7 (Samsung PM981 256GB).

 

root@nanopct4:~# uname -a ; dmesg | grep -i pci
Linux nanopct4 5.9.10-rockchip64 #20.11 SMP PREEMPT Mon Nov 23 13:36:07 CET 2020 aarch64 GNU/Linux
[    0.006761] PCI/MSI: /interrupt-controller@fee00000/interrupt-controller@fee20000 domain created
[    1.513627] PCI: CLS 0 bytes, default 64
[    2.591307] rockchip-pcie f8000000.pcie: host bridge /pcie@f8000000 ranges:
[    2.591331] OF: /pcie@f8000000: Missing device_type
[    2.591362] rockchip-pcie f8000000.pcie:      MEM 0x00fa000000..0x00fbdfffff -> 0x00fa000000
[    2.591382] rockchip-pcie f8000000.pcie:       IO 0x00fbe00000..0x00fbefffff -> 0x00fbe00000
[    2.592227] rockchip-pcie f8000000.pcie: no vpcie12v regulator found
[    2.659843] ehci-pci: EHCI PCI platform driver
[    2.694337] ohci-pci: OHCI PCI platform driver
[    3.123462] rockchip-pcie f8000000.pcie: host bridge /pcie@f8000000 ranges:
[    3.123511] rockchip-pcie f8000000.pcie:      MEM 0x00fa000000..0x00fbdfffff -> 0x00fa000000
[    3.123531] rockchip-pcie f8000000.pcie:       IO 0x00fbe00000..0x00fbefffff -> 0x00fbe00000
[    3.124404] rockchip-pcie f8000000.pcie: no vpcie12v regulator found
[    3.652733] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    3.653595] rockchip-pcie: probe of f8000000.pcie failed with error -110

 

Link to comment
Share on other sites

2 hours ago, TimSmall said:

Another data point, no luck with Samsung MZVLB256HAHQ-000L7 (Samsung PM981 256GB).

 


root@nanopct4:~# uname -a ; dmesg | grep -i pci
Linux nanopct4 5.9.10-rockchip64 #20.11 SMP PREEMPT Mon Nov 23 13:36:07 CET 2020 aarch64 GNU/Linux
[    0.006761] PCI/MSI: /interrupt-controller@fee00000/interrupt-controller@fee20000 domain created
[    1.513627] PCI: CLS 0 bytes, default 64
[    2.591307] rockchip-pcie f8000000.pcie: host bridge /pcie@f8000000 ranges:
[    2.591331] OF: /pcie@f8000000: Missing device_type
[    2.591362] rockchip-pcie f8000000.pcie:      MEM 0x00fa000000..0x00fbdfffff -> 0x00fa000000
[    2.591382] rockchip-pcie f8000000.pcie:       IO 0x00fbe00000..0x00fbefffff -> 0x00fbe00000
[    2.592227] rockchip-pcie f8000000.pcie: no vpcie12v regulator found
[    2.659843] ehci-pci: EHCI PCI platform driver
[    2.694337] ohci-pci: OHCI PCI platform driver
[    3.123462] rockchip-pcie f8000000.pcie: host bridge /pcie@f8000000 ranges:
[    3.123511] rockchip-pcie f8000000.pcie:      MEM 0x00fa000000..0x00fbdfffff -> 0x00fa000000
[    3.123531] rockchip-pcie f8000000.pcie:       IO 0x00fbe00000..0x00fbefffff -> 0x00fbe00000
[    3.124404] rockchip-pcie f8000000.pcie: no vpcie12v regulator found
[    3.652733] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    3.653595] rockchip-pcie: probe of f8000000.pcie failed with error -110

 

 

Try with Linux 5.4, I guess it will work. Just don't forget to power cycle instead of reboot.

 

 

Link to comment
Share on other sites

On 11/26/2020 at 12:24 PM, RussianNeuroMancer said:

 

Try with Linux 5.4, I guess it will work. Just don't forget to power cycle instead of reboot.

 

 

Thanks for the tip, but still the same thing with 5.4 unfortunately...  I'll see if I can try an Intel 600p...

 

[    3.586527] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    3.586983] rockchip-pcie: probe of f8000000.pcie failed with error -110

 

Link to comment
Share on other sites

Tried the 4.4 images (

 

apt install linux-dtb-legacy-rockchip linux-image-legacy-rockchip

 

... which bricks it nicely, but during early boot it does at least I get some trace of the device:

 

U-Boot 2020.07-armbian (Oct 19 2020 - 00:10:11 +0200)

SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPC-T4
DRAM:  3.9 GiB
PMIC:  RK808
MMC:   mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: FriendlyElec NanoPC-T4
Net:   eth0: ethernet@fe300000
Hit any key to stop autoboot:  0
Card did not respond to voltage select!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3185 bytes read in 18 ms (171.9 KiB/s)
## Executing script at 00500000
Boot script loaded from mmc 0
181 bytes read in 15 ms (11.7 KiB/s)
6557203 bytes read in 645 ms (9.7 MiB/s)
8565640 bytes read in 832 ms (9.8 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Bad Linux ARM64 Image magic!
SCRIPT FAILED: continuing...

Device 0: Vendor: 0x144d Rev: 1L2QEXD7 Prod: S41GNX0M266030
            Type: Hard Disk
            Capacity: 244198.3 MB = 238.4 GB (500118192 x 512)
... is now current device
Scanning nvme 0:1...
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

 

This looks like uboot finding it. It subsequently tries to network boot.  Any tips for attempting to debug this further?  What are the moving parts?  Is it just going be kernel PCIe init/probe code, or is there rockchip firmware at play too?

 

Cheers!

 

Tim.

Link to comment
Share on other sites

40 минут назад, TimSmall сказал:

libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Bad Linux ARM64 Image magic!

You don't have the correct DTB specified in armbianEnv

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines