Can't get NVMe Base Duo to work – Drive does not show up on lsblk

Hi guys,

– Recently brought a Pimoroni base duo for Pi 5, I’m trying to boot using a brand new ssd, but booting with it aside, the drive doesn’t even show up. Maybe I’m missing something obvious, but If anyone can help me get this working I’d be grateful.


For context, I’m using a temporary USB stick with raspbian lite, apt update & upgrade have been executed so everything is up to date.

Pi firmware & bootloader are up-to-date :

$ sudo rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
FW_REV:2a94b5f03709f9b09a1df77adcdefd897d034284
BOOTLOADER_REV:f02f0eaf4e681a618fad55e5cc09d4306a82ac47
 *** Your firmware is already up to date (delete /boot/firmware/.firmware_revision and /boot/firmware/.bootloader_revision to force an update anyway)
$ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Thu 19 Dec 11:57:13 UTC 2024 (1734609433)
    LATEST: Thu 19 Dec 11:57:13 UTC 2024 (1734609433)
   RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2712/latest)
            Use raspi-config to change the release.

 

Patriot P300 is plugged in the A slot (led is on)

(the drive has been flashed with raspbian using rpi imager)

https://imgur.com/a/1nktoPc

 

Ribbon seem to be seated correctly

(the ribbon has been reseated three times so I don’t think it’s the issue,
I even tried a different ribbon since I have a set of two)

https://imgur.com/48ZP7MJ
https://imgur.com/N8cKiic

 

lsblk :

(drive doesn’t show up)

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    1 14.9G  0 disk
├─sda1   8:1    1  512M  0 part /boot/firmware
└─sda2   8:2    1 14.4G  0 part /

Note that I have also tried plugging in another exact same model Patriot & also a Crucial P3 in, but same result. (Granted they contain respectively my main computer’s Arch & Windows partitions so I don’t know if they would be recognized by the Pi, but still shouldn’t they at least appear as unknown drives?).

Compatibility of the Patriot P300 / Crucial P3 could be the issue, but people don’t seem to have issues with these drives.

 

lspci

$ lspci :

00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

 

My config :

$ sudo nano /boot/firmware/config.txt

# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
# NVME
dtparam=nvme

 

Journalctl (pcie) :

$ sudo journalctl -b -g pcie

Dec 20 23:53:48 Pi5 kernel: Kernel command line: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave  numa=fake=8 system_heap.max_order=0 smsc95xx.macaddr=2C:CF:67:47:D6:A5 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000  console=ttyAMA10,115200 console=tty1 root=PARTUUID=0fcba860-02 rootfstype=ext4 fsck.repair=yes rootwait
Dec 20 23:53:48 Pi5 kernel: /axi/pcie@120000/rp1: Fixed dependency cycle(s) with /axi/pcie@120000/rp1
Dec 20 23:53:48 Pi5 kernel: /axi/pcie@120000/rp1: Fixed dependency cycle(s) with /axi/pcie@120000/rp1
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie: host bridge /axi/pcie@110000 ranges:
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie:   No bus range found for /axi/pcie@110000, using [bus 00-ff]
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie:      MEM 0x1b80000000..0x1bffffffff -> 0x0080000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie:      MEM 0x1800000000..0x1b7fffffff -> 0x0400000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x1000000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie: Forcing gen 2
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie: PCI host bridge to bus 0000:00
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000110000.pcie: link down
Dec 20 23:53:48 Pi5 kernel: pcieport 0000:00:00.0: PME: Signaling with IRQ 38
Dec 20 23:53:48 Pi5 kernel: pcieport 0000:00:00.0: AER: enabled with IRQ 38
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie: host bridge /axi/pcie@120000 ranges:
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie:   No bus range found for /axi/pcie@120000, using [bus 00-ff]
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie:      MEM 0x1f00000000..0x1ffffffffb -> 0x0000000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie:      MEM 0x1c00000000..0x1effffffff -> 0x0400000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie:   IB MEM 0x1f00000000..0x1f003fffff -> 0x0000000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x1000000000
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie: Forcing gen 2
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie: PCI host bridge to bus 0000:00
Dec 20 23:53:48 Pi5 kernel: brcm-pcie 1000120000.pcie: link up, 5.0 GT/s PCIe x4 (!SSC)
Dec 20 23:53:48 Pi5 kernel: pcieport 0000:00:00.0: enabling device (0000 -> 0002)
Dec 20 23:53:48 Pi5 kernel: pcieport 0000:00:00.0: PME: Signaling with IRQ 39
Dec 20 23:53:48 Pi5 kernel: pcieport 0000:00:00.0: AER: enabled with IRQ 39
Dec 20 23:54:00 Pi5 mtp-probe[458]: checking bus 3, device 2: "/sys/devices/platform/axi/1000120000.pcie/1f00300000.usb/xhci-hcd.1/usb3/3-2"
Dec 20 23:54:12 Pi5 ModemManager[669]: <info>  [base-manager] couldn't check support for device '/sys/devices/platform/axi/1000120000.pcie/1f00100000.ethernet': not supported by any plugin

 

Full journalctl :

 

Also I don’t think it’s the issue but here’s my charger :

https://imgur.com/NOm6pLF

Try to boot with PiOS, not Ubuntu (just to verify the hardware). In your journal-log, there are some strange messages regarding invalid pcie-bridge configuration.

Sorry for the late reply.

Everything above was done on PiOS Lite, not Ubuntu.

True, my error. I read about Ubuntu in your full journal log, but that is only referring to the build-host of the kernel. And you mentioned raspian lite in your post anyway. Sorry.

From what I can see from the configs and logs you provide, there is nothing wrong with your setup. So it might be a hardware problem (Pi5, cable, base, device). But always keep in mind that PCIe was never designed for FPC-cables. So once in a while it does not work for mysterious reasons. You might try swapping all components in the chain if you have other components. Or at least try slot B instead of A (not sure if this is supported). Otherwise, I would mail support.

I’ve already previously tried slot B but it had the same result.

Thanks for trying to help, I’ll settle this with support.