4 ms·
I don't think many people realize how complicated USB is. The USB 2.0 spec is like 700 pages long. The USB 3.0 spec is 500 pages long and the intro paragraph is
by umvi 6y ago
I don't think many people realize how complicated USB is. The USB 2.0 spec is like 700 pages long. The USB 3.0 spec is 500 pages long and the intro paragraph is like "readers are expected to be familiar with the USB 2.0 spec before proceeding".
I work in embedded systems and I absolutely despair when we need to fix a USB issue. USB is without a doubt the deepest rabbit hole I ever went down (and I never did find the bottom, because the issue ended up being due to Synopsys's USB core and we didn't have access to the Verilog - and apparently neither did they! They weren't using VCS back in 2016 apparently).
- arminiusreturns 6y agoTell me about it. I thought bluetooth was complicated, until I finally caved and got a wireless headset. Being linux only, I found out that controlling simple things like the led's on the headset required really weird manual commands. I eventually gave up and found a package in yay that did the hard work for me but I was awakened to the weirdness and complexity of the usb spec.
- theamk 6y agoIf you think USB is complicated, try FireWire. So many modes!
- rasz 6y agoUSB has nothing on bluetooth.
- dayjah 6y agoToo soon! I’m currently debugging an issue where a USB 3.2 Gen 2 scientific camera is unable to negotiate a connection with Linux. Under closer inspection it seems the USB 3.2 Gen 2 port on this relatively modern Intel NUC is being identified by the kernel as being USB 2.0. No such issues under Windows; but we’re not deploying that to the field. So I go a bit deeper: the chip is actually a thunderbolt chip (aka USB 4.0), which is able to emulate all of the USB specs. For reasons unknown, the two controller chips on this NUC present as four controller chips; each chip presents as one USB 2 root hub and one 3 root hub. One of the chips is only available via an internal header on the board. All of the externally available USB ports (3x USB 3 ports, 1x USB 2 port, 1x Thunderbolt port) all result in connectivity to the USB 2 root hub. Every fiber in my being wants to work out wtf is happening here; but I’m resisting because fortunately we have a vendor that can replace this NUC with one from 2016 instead of this one from 2018. I did, of course, peek at the spec and experienced the bone-shuddering realization of how complex this whole system is. No wonder Windows BSODd when Gates first demoed USB on stage ...
- robotnikman 6y agoMaybe I'm just weird but I find this stuff kinda fascinating
- jaclaz 6y ago>The USB 2.0 spec is like 700 pages long. The USB 3.0 spec is 500 pages long and the intro paragraph is like "readers are expected to be familiar with the USB 2.0 spec before proceeding". JFYI, the UEFI specifications, last time I checked they were some 2000+ pages.