[alsa-devel] my udev rules are breaking my dmixer setup why?

Takashi Iwai tiwai at suse.de
Tue Nov 11 12:25:33 CET 2008


At Tue, 11 Nov 2008 12:21:30 +0100,
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.
> > 
> > 					Jaroslav
> 
> I wish it was as simple as using the [identification ]. The [id..] is
> not reliable for one usb port, as you can below I just unplugged some
> usb audio devices and plugged it in again. The [id] does not match the
> same usb location port anymore, so breaking the
> user->unique-usb-port-audio-device connection.
> 
> Being able to set the id with udev would be an possible solution.

Ah, indeed.  I vaguely remember why I wrote that patch...


> cat /proc/asound/cards (first)
>  0 [Intel          ]: HDA-Intel - HDA Intel
>                       HDA Intel at 0xf7db8000 irq 16
>  1 [pcsp           ]: PC-Speaker - pcsp
>                       Internal PC-Speaker at port 0x61
>  2 [Em28xx Audio   ]: Empia Em28xx AudEm28xx Audio - Em28xx Audio
>                       Empia Em28xx Audio
>  3 [default        ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.1, full speed
>  4 [default_1      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.2, full speed
>  5 [default_2      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.3, full speed
>  6 [default_3      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.4, full speed
> 
> cat /proc/asound/cards (second)
>  0 [Intel          ]: HDA-Intel - HDA Intel
>                       HDA Intel at 0xf7db8000 irq 16
>  1 [pcsp           ]: PC-Speaker - pcsp
>                       Internal PC-Speaker at port 0x61
>  3 [default        ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.3, full speed
>  4 [default_1      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.2, full speed
>  5 [default_2      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.4, full speed
>  6 [default_3      ]: USB-Audio - USB  AUDIO
>                       USB  AUDIO   at usb-0000:00:1d.7-4.1, full speed
> 
> Also the limitation of [0-7] devices is kind of unclear does it
> something to do with limitations of timers?

No, it's just an issue of minor device assignment.  Depending on
the kernel configuration, you'll be able to have more devices.


Takashi


More information about the Alsa-devel mailing list