I’m trying to avoid shucking my external drives for now, and would like to connect as many of them over USB as possible.
There are a total of 8 USB 3.2 Ports on my ASUS B550-Plus. They’re clustered in hubs of 2x Gen 2 and 4x Gen 1 on the back, and a connector for 2x Gen 1 for the front of the case.
Do these hubs share the same bandwidth just like an external hub would or can each port use the full USB 3.2 bandwidth? I noticed that two of the ports on the 4x hub are colored black while the other 2 are blue, does that signify that there is bandwidth for 2 ports and the other 2 are just for convenience?
But most importantly, how many USB drives could you connect via external hubs to a board like this without affecting response times to the point of missing rewards?
Not sure if there is an easy answer to this. But you should always check the harvester logs that your plots can answer challanges rather fast. I think in Chia 1.1.4 you’ll even get a warning in the log, when it took longer than 5 seconds to answer a challenge.
Since most of the plots are filtered before they are eligible for a proof anyway there is no benefit to shuck your drives and connect them via SATA compared to USB.
Right now I’m using a Seagate Expansion 10 TB with currently 70 plots on it and I can answer challenges in 10-600 ms. So far from the warning threshold. 30 seconds is the upper limit as far as I know.
Hope this helps.
If SBC’s can run 16-drives-at-a-time using USB hubs, a desktop should be able to run hundreds. If you need another controller: those fit in PCIe slots (even 1x). You only care about latency for farming… so even if the overall shared bandwidth isn’t much per-drive… that only affects you once while copying in the plots.
I haven’t heard of anyone hit a limit with hubs. They probably get to a point where they don’t want to deal with all the wires before they have to worry about the response time for proofs.
The USB spec allows up to 255 devices per host controller using hubs. Your motherboard may have more than one host controller. If you’re running Linux, it should show up in lsusb. On windows, device manager.
It won’t be fast if you have that many devices connected, but theoretically it should work.
I’ve always seen 127 devices are allowed by each controller. Are you sure its 255?
Ah, you’re right… It’s 127. USB 2.0 spec section 3.3 says 127.
Awesome! Thanks for sharing that; here’s a closeup of the pic!
lol, I want to do this from a “well that’s a neat little project” lol. I have a Pi3 sadly, or else I would try to just load up an old case with hard drives.
Looks cool from afar and validates the massive USB hubs idea. On a close up I think these are just shucked interposer boards and power supplies that came with external drives. I would just leave them as they were. I’d label the cables instead.
My recent video goes into this pretty well, including some caveats to look out for when trying to run a lot of USB3 HDDs.
p.s. It’s NOT 127 devices or whatever for XHCI, it’s 32! And that can fill up quicker then you’d think.
I saw your video yesterday and gave me a lot of insight, curious as to how you automate the plot movements to the farming machine though
I could use the plotman archive feature but currently just starting up manual move jobs when a plotter attached disks reached 5TB filled for instance.
Yeah I do this too, moving 20 plots off dump drives to external USB drives as we speak! About 10 mins copy time per file…
(I wish there was a way to somehow detect when the dump drive is being written to, pause the copy, and then restart the copy when the plot writing is complete… right now I have to eyeball it and manually pause the copy when plots are being written to disk. I can tell because copy throughput plunges to almost nothing.)