Unreliable external USB3 hard drive connection

I’ve got an external hard drive hooked into USB3 port of Rock5B. Used mainly for building software with pretty high load at times. During these heavy usage periods the drive tends to “disconnect” from the system like there’s not enough power. Needles to say oftentimes it results in data loss.

Tried with different power supplies, different ports, different USB3 cables but all combinations resulted in same behavior.

Finally got myself the Y cable with two plugs into Rock5B for additional power. This appears to solve issue.

Being curious I plugged the drive through one of USB3 testers measuring power and run
sudo dd if=/dev/sda bs=8M | pv > /dev/null. Both speed and measured power fluctuated a lot – from 30MB/s to 105MB/s or from 400mA to 600mA.

Next plugged the disk into my PC and repeated the same. To my surprise it was a constant 138MB/s with constant 670mA power draw. No fluctuations at all.

What is the reason for these fluctuations on Rock5B? Is it expected?

Running kernel 5.10.110-8-rockchip from Radxa with my custom userspace.

Is there only one device on the USB3 port ? I experienced issues when I was using 2x usb 3.0 drive where one is unable to spin-up because that’s when the power draw is the highest. I was told ( on discord) it cannot be fixed since it’s hardware:

unfortunately, after checking with our hardware engineer, this is a hardware issue

currently the current limit is 1a combined for the 2 usb 2.0 ports, and 1a combined for the 2 usb 3.0 ports

which is why the 2nd hard drive won’t start up

we will change to 1a combined for a single set of 2.0+3.0 ports in future revisions

You may want to use an externally powered usb 3.0 hub

Nope, no other USB devices attached. Seeing the max current that flows to drive I’d guess the drive would be fine if only the current could be kept on stable level.

The problem is I have one but after connecting it to Rock 5B hub stops pulling power from external source but otherwise drive attached to hub works fine. Although fails faster since hub needs a “slice” of power too now. Why it stops pulling power no idea.