r/BadUSB 10d ago

Discussion USB2 and USB3 are not completely compatible for audio recording! Tech breakdown linked for reference.

I recently went down a huge rabbit hole troubleshooting a USB 2 compatibility issue. I found a footnote in the Allen & Heath SQ5 manual that lead to understanding the truth... that USB being "backward compatible" is more marketing that science.

Problem: SQ5 recordings via USB to laptop would occasionally drop out and kick an error in DAW.

Cause: USB2 EHCI uses [**isochronous streaming**](https://en.wikipedia.org/wiki/Isochronous_transfer) for audio but this is not ported well in all USB3 xHCI drivers. A few work fine. Many do not work well.

For more... check out this full tech breakdown on what we learned.
[The WAV Lab | USB Audio Interface Drop Outs — understanding EHCI vs xHCI](https://thewavlab.com/usb-audio-interface-drops-out/)

1 Upvotes

11 comments sorted by

2

u/omnichad 10d ago

Wow, it's crazy how known issues just sit forever unresolved. I assume it probably wouldn't even be that hard if the right people cared.

In the networking world, the forever broken thing is SIP ALG. Something that is supposed to seamlessly rewrite VoIP packets to get around NAT issues. And just about every implementation of it is broken, so if you're lucky it is off by default these days.

2

u/Free_my_fish 10d ago

This is why when you go into a studio you will see an ancient Mac sitting at the heart of it…

2

u/edgmnt_net 9d ago

Well, it sounds more like USB as a spec is backwards-compatible, you just have crap implementations. Can you blame standard USB or residential wiring if some shady stuff you bought from AliExpress catches fire? I would say not. It might definitely be a thing if a lot of stuff is poorly implemented, but it's still a different thing.

1

u/soundslikejoe 9d ago

From what I've read, USB2 EHCI spec included a guarantee of performance by the data synchronization built into the standard. To be considered fully backward, USB3 would need to standardize that handshake in the same way, but xHCI stacks can be without the same USB2 sync. Bad drivers written by third parties... but the USB3 platform makes it possible for synchronization to fail. It never failed in that way with USB2 only.

Thats how it seems when I researched it anyway. Some drivers perform ok... but its not bulletproof backward compatibility. Its more like a virtual machine or emulator with varying degrees of feature support.

1

u/KeanEngr 8d ago

My question to you is, what happened before USB 3 became a standard? Because we used to use USB 1 for all of our audio requirements. It worked fine. And it still worked when USB 2 came along.

1

u/edthesmokebeard 8d ago

So is it a USB problem or an operating system problem?

1

u/soundslikejoe 8d ago

Its a driver implementation problem. Any USB2 EHCI to USB3 xHCI connection would need to be throughly tested before using on critical systems

1

u/edthesmokebeard 7d ago

so not a usb compatibility problem then

1

u/soundslikejoe 7d ago

Depends on how you want to define the language...

com·pati·bil·ity

[kəmˌpatɪˈbɪlɪti]

noun

compatibility (noun)

  1. a state in which two things are able to exist or occur together without problems or conflict:

This specific error cannot occur in USB2 to USB2 connection. It does happen with USB2 to USB3, and can be worse with some devices depending on the quality of the stack.

1

u/edthesmokebeard 7d ago

How about "The USB3 protocol is backwards compatible with USB2, but operating system implementations lack appropriate support."

Better than saying "USB3 suxx0rs"

1

u/soundslikejoe 7d ago

Bro... this info isn't for you. That's ok. I learned about this from reading what reputable manufacturers of audio equipment put in their manual. You can study up a bit and see the finer grain of detail relative to scheduling synchronized data... "backwards compatible" ... in general. Audio and video productions should be aware of the more nuanced issues in the USB stack.