from what ive seen, the dwc2 is only a cpu hog when in host modeOne other factor, the dwc2 driver needed for gadget mode used to be a bit of a CPU hog due to how it handled interrups. That could hit overl performace on single core Pi models. I've no idea if that ever got fixed or not.
i suspect it uses less cpu in gadget mode, and that it was designed for gadget only use
think like a cellphone that rarely ever meets an OTG adapter
another factor, is that usb1/usb2 has a thing called bit stuffing
its illegal to send 4 matching symbols (for example 4 0 bits in a row)
the protocol says you must stuff an extra symbol in, so it has an edge to help keep the clock
that means that sometimes 4 bits take 4 clocks (at 480mhz), and sometimes 4 bits take 5 clocks
so under ideal conditions (ignoring the packet headers and inter-packet gaps), youll have 480mbit of bandwidth
but if the data isnt ideal, youll get 384mbit of bandwidth (but that would only occur, if your sending 384mbit of nulls)
so it can have up to 20% of loss
Statistics: Posted by cleverca22 — Mon Apr 15, 2024 1:33 am