[pulseaudio-discuss] 'Failed to find a working profile' for firewire sound devices

David Henningsson david.henningsson at canonical.com
Fri Jan 10 11:00:34 PST 2014


On 01/10/2014 05:46 PM, Takashi Sakamoto wrote:
>> So the main question here is if your plan is that your driver will be
>> fixed/improved to support two channel streaming for multichannel
>> devices?
> 
> I don't have such plan.
> 
> In my understanding, such functionality should be in user-land. Drivers
> should just transfer samples from/to application to/from devices, should
> do nothing others.

AFAIK, the driver should support what the hardware supports. If the
hardware supports streaming 2 channels (e g to save fw bus bandwidth, or
something), the driver should support that mode.

In case the hardware only supports a 12 channel mode, then that
restriction should be exported to user space.

To aid for applications, one can add custom per-card mapping in alsa-lib
- e g, look at /usr/share/alsa/cards/ICE1712.conf where you can open the
device "front:<card>" with two channels and it automatically upscales to
10 or 12 channels.
I'm not sure if that's the best approach here, just mentioning it.

> (...To tell the truth, I want to keep drivers as simple as possible for
> maintainance reasons ;p)
> 
>> That would probably help a lot of other audio applications, not only
>> PulseAudio.
> 
> Exactly. For this issue, I assume that users utilize 'plughw' plugin.
> Actually I test drivers with aplay/arecord and this plugin.

Hm. Actually PulseAudio tries opening "plug:hw:1" too and setting the
channel number to two fails in that case too. If the "plug" plugin can
change the number of channels, then that should have been working.

> But recently, most users use Desctop Environment such as GNOME, KDE. The
> sound envoronment of them are already based on PulseAudio. So I want
> PulseAudio to adjust the mismatch between applications and actual devices.
> 
>> However, if this means a lot of extra trouble/work for you, we could
>> write a special profile set file in PulseAudio for firewire devices
>> that is more adapted to your driver.
> 
> I hope it. What should I do for this idea?

You could do two simple tests first.

 1) Edit /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf and
change "hw:%f" to "plughw:%f" in the section "Mapping analog-stereo". If
the plughw plugin can upscale, then that should make things work.

 2) Alternatively, you could add channels to your mapping:
channel-map =
left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11

(of course restart PulseAudio for changes to take effect)

Either of these methods should make things work. If they don't, please
supply a new pulseaudio verbose log per previous instructions.

Assuming the second one works, I could write a new
/usr/share/pulseaudio/alsa-mixer/profile-sets/firewire.conf or so that
could work better with your driver. I could use your help in writing the
best udev rule to match your driver though.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list