Power issue when connecting M.2. SSD with PoE

Hi,
I just recevied my RockPi Model C with the POE Extension Module.
Everything is working fine so far and my connected NVMe SSD also shows up on first boot, when I flash a new OS, but as soon I reboot the SSD never shows up again until I flash a new (or the same) OS again. (I tried Armbian and Ubuntu Server 20.04 with various kernel configurations, including Radax’ custom kernel).
When I power the Board with a normal (Apple) USB-C powerbrick, there is no problem at all. The SSD always shows up and works.

When I do dmesg | grep pcie after first (or multiple) reboot on PoE powered board the following comes up:

    1.525141] of_get_named_gpiod_flags: parsed 'gpio' property of node '/vcc3v3-pcie-regulator[0]' - status (0)
[    1.525189] reg-fixed-voltage vcc3v3-pcie-regulator: Looking up vin-supply from device tree
[    1.525226] vcc3v3_pcie: supplied by vcc3v3_sys
[    1.525679] vcc3v3_pcie: at 3300 mV
[    1.525838] reg-fixed-voltage vcc3v3-pcie-regulator: vcc3v3_pcie supplying 0uV
[    1.760571] phy phy-pcie-phy.7: Looking up phy-supply from device tree
[    1.760581] phy phy-pcie-phy.7: Looking up phy-supply property in node /pcie-phy failed
[    1.762122] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[    1.762133] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[    1.762160] of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
[    1.762406] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[    1.762416] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
[    1.762430] rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
[    1.762992] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[    1.763001] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[    1.763012] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[    1.763573] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[    1.763581] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[    1.763592] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[    6.785170] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    6.785916] rockchip-pcie: probe of f8000000.pcie failed with error -110

The SSD i am using is a Curcial P2 1TB M.2 NVMe SSD.

I already investigated a little more and it seems like at least the Error “PCIe link training gen1 timeout!” is quite common with the RK3399 Chip. It seems often to be related to power issues, but I did not found much about the issue in connection with a PoE power source (The PoE-Switch I am using is able to deliver more than 100W and there is nothing else connected, so thats not the problem I guess).

Kind regards

I just tested a little more around and I forgot to say, I am using the M.2 Extension board also.
When I am not using this Extension board, the SSD is also detected by the OS and is working. So the only configuration, where it fails is, when I am using the PoE board and the M.2. Extension Board together. They work both for their own perfectly, but not together.

Hi,
thank you so much for your answer. I am still trying to figure it out.
Can I ask you about you specific setup? Especially interesting for me at that point would be to know, which SSD you are using and which OS you are running with which kernel (and version of uboot).
Thank you so much so far. I think it’s very possible I am doing it wrong.

Kind regards

So very different to you here, personally I’m running the

ACER M.2 NVMe SSD for Rock Pi4 - 128GB × 1

from Allnet - this works fine, board boots plugged into a PoE port.

At the risk of pointing out the obvious, it sounds like your extend board is faulty. I think I saw someone question the way these are built - they don’t use the full pin allocation according to the NVMe spec (please don’t quote me on this, I have no idea).