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.ht...
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"
pcm.!default { type plug slave.pcm dmixer } pcm.dmixer { type dmix ipc_key 1024 slave.pcm hw:audiodevice0 } ctl.dmixer { type hw card audiodevice0 } pcm.dsp { type plug slave.pcm dmixer } ctl.mixer { type hw card audiodevice0 }
Thanks in advance,
Jelle