External USB3 SSD not working after adding NVME SSD

I’m using a Rockpi 4A on Armbian (Debian Buster) as a headless server for personal non-mission critical use mostly with Nextcloud (backing up and sharing photos from my mobile phone, personal contacts, storing of multiple gpx and pdf files,…).

The operating system resides on an 32G MMC card, for storage I used an external Samsung T7 500G connected via USB3.

For another, but similar use case (Netatalk for Apple Time Machine), I now added a 1TB Western Digital NVME SSD via the Rock Pi 4 extend board.

Now, the external SSD isn’t recognized anymore if it is plugged into one of the USB3 ports. It strangely does work flawlessly if connected to either of the USB2 ports. There is no difference if the USB SSD is connected at boot time or if I plug it in later.

Honestly, the working setup is sufficient for my use case at the moment as the limiting factor is network speed and not usb port speed. Still, it drives me crazy that I can’t seem to find the reason.

My first thought was power supply, but to my understanding only the upper USB3 port is supplied with power separately from the lower USB3 port and the two USB2 ports, so that doesn’t seem to explain why it works via USB2. Nevertheless, I tried other USB power plugs: A 18W PD plug I’m using for quick charging my mobile phone and a 65W from my notebook, which is rated among others for 20V@3,25A, but I’m not sure if it’s PD capable.

I also checked the USB cable between the Rockpi and the external SSD (and tried an available replacement cable), but it’s the one that worked until I plugged in the NVME SSD and is the one,that was provided with the external SSD.
I tried the USB OTG hardware switch on the Rockpi in both positions.

I also have USB storage quirks in my armbianEnv.txt. I think I activated it to connect the external USB drive to USB3 in the first place.

usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

Any ideas which way to investigate further before I make Mr. Bezos richer again by ordering a 45W USB PD power plug?

unamme -a

Linux rockpi-4a 5.15.25-rockchip64 #22.02.1 SMP PREEMPT Sun Feb 27 09:05:47 UTC 2022 aarch64 GNU/Linux

dmesg | grep usb with external drive connected to USB3 port at boot (“Cannot enable…”), later reconnected to USB2 (“new device found…”).

[ 1.259540] usbcore: registered new interface driver usbfs
[ 1.259589] usbcore: registered new interface driver hub
[ 1.259641] usbcore: registered new device driver usb
[ 1.531483] ehci-platform fe380000.usb: EHCI Host Controller
[ 1.531515] ehci-platform fe380000.usb: new USB bus registered, assigned bus number 1
[ 1.531669] ehci-platform fe380000.usb: irq 34, io mem 0xfe380000
[ 1.546538] ehci-platform fe380000.usb: USB 2.0 started, EHCI 1.00
[ 1.546827] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 1.546845] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.546857] usb usb1: Product: EHCI Host Controller
[ 1.546867] usb usb1: Manufacturer: Linux 5.15.25-rockchip64 ehci_hcd
[ 1.546876] usb usb1: SerialNumber: fe380000.usb
[ 1.550325] ehci-platform fe3c0000.usb: EHCI Host Controller
[ 1.550353] ehci-platform fe3c0000.usb: new USB bus registered, assigned bus number 2
[ 1.550552] ehci-platform fe3c0000.usb: irq 36, io mem 0xfe3c0000
[ 1.566529] ehci-platform fe3c0000.usb: USB 2.0 started, EHCI 1.00
[ 1.566803] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 1.566820] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.566832] usb usb2: Product: EHCI Host Controller
[ 1.566842] usb usb2: Manufacturer: Linux 5.15.25-rockchip64 ehci_hcd
[ 1.566851] usb usb2: SerialNumber: fe3c0000.usb
[ 1.568705] ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[ 1.568731] ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 3
[ 1.568880] ohci-platform fe3a0000.usb: irq 35, io mem 0xfe3a0000
[ 1.630738] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.15
[ 1.630759] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.630771] usb usb3: Product: Generic Platform OHCI controller
[ 1.630781] usb usb3: Manufacturer: Linux 5.15.25-rockchip64 ohci_hcd
[ 1.630790] usb usb3: SerialNumber: fe3a0000.usb
[ 1.632142] ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[ 1.632166] ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 4
[ 1.632305] ohci-platform fe3e0000.usb: irq 37, io mem 0xfe3e0000
[ 1.694748] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.15
[ 1.694769] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.694781] usb usb4: Product: Generic Platform OHCI controller
[ 1.694791] usb usb4: Manufacturer: Linux 5.15.25-rockchip64 ohci_hcd
[ 1.694800] usb usb4: SerialNumber: fe3e0000.usb
[ 1.697816] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 1.697833] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.697844] usb usb5: Product: xHCI Host Controller
[ 1.697854] usb usb5: Manufacturer: Linux 5.15.25-rockchip64 xhci-hcd
[ 1.697863] usb usb5: SerialNumber: xhci-hcd.0.auto
[ 1.699035] usb usb6: We don’t know the algorithms for LPM for this host, disabling LPM.
[ 1.699191] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[ 1.699206] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.699217] usb usb6: Product: xHCI Host Controller
[ 1.699227] usb usb6: Manufacturer: Linux 5.15.25-rockchip64 xhci-hcd
[ 1.699236] usb usb6: SerialNumber: xhci-hcd.0.auto
[ 1.701181] usb usb7: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 1.701199] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.701209] usb usb7: Product: xHCI Host Controller
[ 1.701219] usb usb7: Manufacturer: Linux 5.15.25-rockchip64 xhci-hcd
[ 1.701228] usb usb7: SerialNumber: xhci-hcd.1.auto
[ 1.702319] usb usb8: We don’t know the algorithms for LPM for this host, disabling LPM.
[ 1.702648] usb usb8: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[ 1.702665] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.702676] usb usb8: Product: xHCI Host Controller
[ 1.702685] usb usb8: Manufacturer: Linux 5.15.25-rockchip64 xhci-hcd
[ 1.702695] usb usb8: SerialNumber: xhci-hcd.1.auto
[ 1.703895] usbcore: registered new interface driver usb-storage
[ 1.755804] usbcore: registered new interface driver usbhid
[ 1.755813] usbhid: USB HID core driver
[ 2.726597] usb usb5-port1: Cannot enable. Maybe the USB cable is bad?
[ 3.626567] usb usb5-port1: Cannot enable. Maybe the USB cable is bad?
[ 3.626864] usb usb5-port1: attempt power cycle
[ 4.602562] usb usb5-port1: Cannot enable. Maybe the USB cable is bad?
[ 5.502566] usb usb5-port1: Cannot enable. Maybe the USB cable is bad?
[ 5.502788] usb usb5-port1: unable to enumerate USB device
[ 14.590606] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 14.748673] usb 1-1: New USB device found, idVendor=04e8, idProduct=4001, bcdDevice= 1.00
[ 14.748711] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 14.748728] usb 1-1: Product: PSSD T7
[ 14.748740] usb 1-1: Manufacturer: Samsung
[ 14.748753] usb 1-1: SerialNumber: S5TNNS0R515390W
[ 15.660582] usbcore: registered new interface driver uas

fdisk -l in working configuration

Disk /dev/mmcblk1: 29 GiB, 31103746048 bytes, 60749504 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8e093be9

Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 32768 60129279 60096512 28.7G 83 Linux

Disk /dev/nvme0n1: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WD Blue SN570 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FCDC29DD-9B44-DD42-B25F-EFB34886D905

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1953525134 1953523087 931.5G Linux filesystem

Disk /dev/zram0: 1.9 GiB, 2025816064 bytes, 494584 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/zram1: 50 MiB, 52428800 bytes, 12800 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: PSSD T7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0x8c50df62

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 976766975 976764928 465.8G 83 Linux

For future reference: The culprit was the power supply. I now installed a 45w PD charger (Samsung 45w PD travel charger) and now the SSD connected to the USB3 port is working without issues.