Hi folks, So we're at the point where we are (at least I am :p) being bitten by having to deal with always-open modem PCMs again. The tl;dr summary of the situation is: we're dealing with phones where you have to hold an ALSA device open to enable routing from the baseband chip to the CODEC, even if the CPU isn't involved in the process at all. At the end of the last discussion, Mark/Pierre suggested it makes more sense to deal with this in the kernel, which makes sense. However, about a year later, Android kernels don't seem to be going down this route. From what I can tell, it's not exactly trivial to modify the drivers to work this way, so the pragmatic approach for now seems to be to deal with this in userspace rather than have to bash at every Android kernel on which we're trying to enable PulseAudio. The first patch in this set is the same as the one I posted last year. The second actually goes ahead and implements logic to allow UCM config to signal such devices and the PA-side code to set up the devices appropriately. Cheers, Arun