David, I tried your idea with my devices: 1. $ LANG=C pulseaudio -vvvv --log-time=1 > ~/pulseverbose.log 2>&1 2. plug-in devices (repeat) 3. $ aplay/arecord -L All of my devices are detected automatically. multichannel_asound.log http://ubuntuone.com/1auA1GLYMGIYwkZjMrAglE multichannel_pulseverbose.log http://ubuntuone.com/5K0dXIY1S5TG3hA4e9NkyS $ cat /proc/asound/cards 0 [F410 ]: BeBoB - FW 410 M-AUDIO FW 410 (id:2, rev:1), GUID 000d6c01000af510 at fw1.0, S400 1 [Solo ]: BeBoB - FW Solo M-Audio FW Solo (id:144, rev:0), GUID 000d6c0b00c256a4 at fw2.0, S400 2 [Audiophile ]: BeBoB - FW Audiophile M-Audio FW Audiophile (id:13, rev:1), GUID 000d6c03002b7e2e at fw3.0, S400 3 [GO46 ]: BeBoB - GO46 YAMAHA GO46 (id:12, rev:1), GUID 00a0de00000283e7 at fw4.0, S400 4 [AudioFirePre8 ]: Fireworks - AudioFirePre8 Echo Digital Audio AudioFirePre8 v5.8, GUID 0014860a5b6bdb9b at fw5.0, S400 5 [AudioFire4 ]: Fireworks - AudioFire4 Echo Digital Audio AudioFire4 v5.5, GUID 0014860f5a616e83 at fw6.0, S400 6 [FCA202 ]: OXFW - FCA202 Behringer FCA202 (OXFW970 0104), GUID 00156402009a70d8 at fw7.0, S400 When I playback with 2ch application, then the samples are going to every available channels. And I mind that PulseAudio tries the same times as the number of settings in multichannels.conf. Each trial call snd_pcm_prepare() in the end of snd_pcm_hw_params(). This is a bit problem for the devices because the drivers start stream when snd_pcm_prepare() is called. There are some devices which are not designed to start/stop streams so frequently. If possible, I want to reduce the time to start/stop stream. There are some devices which need much time to start stream (300-600 msec). So with such device, PulseAudio need much time to finish its detection. In theory, I must hide these quirks against user-land. But considering user-land driver (FFADO), I cannot make the drivers to keep streams opened... > ...but we might want a better match than just "firewire" in order not to > catch the firewire speakers (if they have normal alsa mixers instead of > hwdep control). Firewire speakers are just three models. (Vendor ID/Model ID) iSight: 0x000a27:0x000010 Griffin: 0x001292:0x00f970 Lacie: 0x00d04b:0x00f970 So we can write udev rules for them to distinguish from the others. Please refer to '60-ffado.rules'. Regards Takashi Sakamoto