Some USB devices with multiple channels are not working properly with cras, which is downmixing audio to stereo.
After some investigation, it seems that this is because cras cannot find a channel map that matches the stream.
With at least the C-Media CM106 device I have to test with (which supports 8 channels), the 6-channel output map provided by the device includes SND_CHMAP_SL SND_CHMAP_SR channels, rather than _RL and _RR, which is what the stream is providing.
cras is designed to deal with situations like this, and appears to be able to map the other way round (when the stream contains SL/SR, and the device exposes RL and RR), but does not map in this direction (from RL/RR to SL/SR).
Comment 1 by bugdroid1@chromium.org
, Apr 12 2018