@hoodlehead: that helps us a bit. Great this works with your particular device.
My theory is that until EC the driver was more flexible in finding a mode/ setting that works with a particular DAC.
In EC the driver chooses the best option, if that option fails -> game over.
When I read the datasheet of the streaming chip of my DAC, a TE7022, a few things:
USB 2.0 Full-Speed
USB 2 full speed doesn't really exist. Full speed is USB 1. USB 2 is high speed. So this is a USB1 device, communicating at 12 Mbps.
USB 2.0 Full-Speed compliant supported USB Audio Class 1.0
There exist two standards USB Audio Class 1.0 and USB Audio Class 2. This chip supports only the old standard.
Due to 12Mbps bandwidth limitation of the USB full speed operation, only one I2S input or output can be set for 24bit/96KHz application, under this condition, for simultaneous multiple-channel applications, rest of I2S interfaces has to be configured at the combination of 16-bit / 48KHz, 16-bit/96KHz and even lower resolution/sampling rate.
I2S is the datalink between the streaming chip and the actual DAC chip.
So,if you read both the two inputs and two outputs at the same time, in the max resolution and max sampling rate, the amount of data is too much for a USB 1, 12 Mbps device. Of course there is no need at all to read the inputs, but it could be the case that nevertheless EC does do that.
Really funny however is that it works for a second or so. That feels a lot like a buffer issue or an issue where EC thinks it doesn't work while actually it does.
The big question is whether Apple will fix the functionality / flexibility in their driver. I am afraid not. Otherwise they would have done it already by now, probably. They silently declare a generation of devices obsolete.