NVMe Base Duo causes undervoltage

[   79.045602] hwmon hwmon5: Undervoltage detected!
[   81.061484] hwmon hwmon5: Voltage normalised
[ 1134.694347] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff
[ 1134.694357] nvme nvme0: Does your device have a faulty power saving mode enabled?
[ 1134.694360] nvme nvme0: Try "nvme_core.default_ps_max_latency_us=0 pcie_aspm=off" and report a bug
[ 1135.010884] nvme 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
[ 1135.062341] nvme nvme0: Disabling device after reset failure: -19

Linux m87 6.6.28+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux

lspci
0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0000:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0000:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0000:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0000:03:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. KC3000/FURY Renegade NVMe SSD E18 (rev 01)
0000:04:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. KC3000/FURY Renegade NVMe SSD E18 (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0001:01:00.0 Ethernet controller: Device 1de4:0001

There are 2x KC3000 2TB drives connected.
One of them goes away because of the undervoltage.

Any idea if this can be fixed?

Are you using the official Pi 5 Power Supply?

yes, the 27W white eu plug

I added nvme_core.default_ps_max_latency_us=0 pcie_aspm=off to /boot/firmware/cmdline.txt with a reboot. Did not solve the issue.

Only workaround I found was:

nvme set-feature /dev/nvme0 -f 2 -v 1
nvme set-feature /dev/nvme1 -f 2 -v 1

But this slows down the drives from like 220MB/s to 45-50MB/s write.

I wish I had more to add but I don’t. =(

Peak power consumption on those drives is 9.9W each (KC3000 PCIe 4.0 NVMe M.2 SSD High-performance for desktop and laptop PCs - Kingston Technology) which is … quite a lot? So if they’re both peaking simultaneously, that’s eating a lot of that PSU.

I’m guessing your workaround is working by turning that peak down to something more manageable.

If I look at the timestamps I cannot see that the undervoltage is related to your NVME problems. The controller is down 17.5 minutes after the voltage has normalized again.

Can you see a relationship between activity and your problem? And maybe the bridge-chip is the real culprit.

After I soldered some wires to the 5V and ground and provided the power the problem does not reproduce and i reverted the power state to 0.
If it was the switch or not, have no idea. Bu providing extra power fixed the issue.
Maybe somebody at pimoroni can test with 2x 2TB drives?

The NVMe Base has solder pads for adding a supplementary +5V power feed. I had a look but don’t see those on the Duo?

It would have been nice to not solder and have a plug…

1 Like

Ah OK, I was looking in the cluttered part where all the SMD stuff is. Yeah the base lets you solder on a surface mount JST connector.
If the spacing and orientation is right you may be able to use something like this?
JST-PH 2 Wire Assembly (pimoroni.com)
And this if you need long wires.
JST-PH Battery Extension Cable - 500mm (pimoroni.com)