'Twas brillig, and abraham duenas at 27/09/10 18:12 did gyre and gimble: > Hi all, > > I have this sound card with several hw devices attached, this is, it's > only one card but I can configure/route all its numerous pcm/hw devices > to have different sink/sources. For saying something I have hw:0,0 for > playback/capture, on hw:0,1 only capture, hw:0,2 again for > playback/capture, on hw:0,3 hdmi and so on. I've configured this card in > the past using module-alsa-sink/source for each hw device and it works > pretty fine. > Recently I tried to use the udev module instead of > module-alsa-sink/source but only the first hw device is recognized > (hw:0,0) correctly for playback/capture... I'm wondering if this is the > intended way (only first available device will be used) or it should > also be capable of detecting the other devices or I need to do something > else (like writing udev-rule?) but i'm no expert on udev stuff... > FWIW I can see that all hw devices are correctly listed in /dev/snd > directory... (I have /dev/snd/controlC0 and all of the /dev/snd/pcmC0D* > entries) > > Any ideas or help will be appreciated! Yes this is possible and as you suspected it will involve writing a udev rule, but also writing a specific "mixer profile" too. If you look in your /usr/share/pulseaudio/alsa-mixer/ folder you'll see two folders. One is called "paths" and contains fairly generic config files to probe the various mixer elements in ALSA. What is likely more interesting is the "profile-sets" folder. It can contain custom configurations for more featureful and specialist cards such as yours. The task you have to complete is two fold: First of all you need to write your profile set itself. Take a look in the folder for examples. The files are quite liberally commented and I think this represents the only documentation (other than the source that parses them!). Once you have written your profile set for your hardware you have to tell PA to actually use it. This is where the udev rule comes in. Look at the file /lib/udev/rules.d/90-pulseaudio.rules. It contains a few lines to register the relevant profile set against your specific h/w via PCI or USB ids. Simply copy one of the three of four rules in there already and modify to suit. Once this is all working to your satisfaction, it would be great if you could submit your profile set and udev rule to us so we can include it in the standard install! If you have any questions just ask here and myself and the other folks here will do our best to help (tho' I personally do not have all that much experience with the mixer profiles specifically, I can generally poke about and find out more :)) Cheers Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]