[alsa-devel] my udev rules are breaking my dmixer setup why?
Jaroslav Kysela
perex at perex.cz
Tue Nov 11 18:55:26 CET 2008
On Tue, 11 Nov 2008, Jelle de Jong wrote:
> Jaroslav Kysela wrote:
> > On Tue, 11 Nov 2008, Takashi Iwai wrote:
> >
> >>> Almost all devices can be managed with udev rules, that is where the
> >>> system is designed for, there are also alsa rules in there, if they
> >>> don't work what is wrong then? is it an alsa issue, or udev, what are
> >>> the dependencies when alsa uses hardware. How are the /dev/snd/* devices
> >>> used and what is the /proc/asound/* for ?
> >> The card index mechanism in ALSA was introduced much before udev
> >> was born. It's just a legacy mechanism, but it's hard to kill without
> >> breaking the running system, unfortunately.
> >
> > Note that you can identify your card via the text identification (check
> > /proc/asound/cards to get it in []). You can set this identification in
> > the module insert time and use for example 'hw:Intel' in your apps without
> > bothering with indexes.
> >
> > The missing part is the modification of this text identification using
> > sysfs at runtime for udev. Some time ago, I was trying to add this setup
> > to /sys/class/sound, but the sysfs core code was not prepared for this
> > change. I'll try to check the situation again.
> >
>
> As response to:
> http://mailman.alsa-project.org/pipermail/alsa-devel/2008-November/012366.html
>
> I am not sure if it is good practice to repose to an RFC if so please
> tell me then we will continue the discussion in the RFC thread.
>
> Thank you Jaroslav for creating the patch this is really appreciated, if
> all things work I will send you some dutch stroopwafels :-D
>
> I am just curious how you patch can be used with udev? What did you have
> in mind?
>
> Would something like this be possible:
>
> SUBSYSTEM=="sound", ACTION="add" KERNELS=="3-1",
> NAME="snd/by-id/audiodevice0"
> SUBSYSTEM=="sound", ACTION="add" KERNELS=="3-2",
> NAME="snd/by-id/audiodevice1"
No, something like this:
SUBSYSTEM=="sound", ACTION=="add", KERNEL=="controlC*", KERNELS=="3-2", \
ATTR{device/id}="audiodevice1"
> pcm.!default {
> type plug
> slave.pcm dmixer
> }
> pcm.dmixer {
> type dmix
> ipc_key 1024
> slave.pcm hw:audiodevice0
> }
This looks OK.
Jaroslav
-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
More information about the Alsa-devel
mailing list