Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Rigg <ad@sound-man.co.uk>
To: alsa-devel@lists.sourceforge.net
Subject: Re: Multi ice1712 .asoundrc problem
Date: Sun, 13 Nov 2005 22:31:05 +0000	[thread overview]
Message-ID: <20051113223105.GA4822@localhost.localdomain> (raw)
In-Reply-To: <E1EbIYV-00019A-4u@localhost.localdomain>

On Sun, Nov 13, 2005 at 02:10:03PM +0000, John Rigg wrote:
> I've been trying for some time to get two ice1712 cards (M-Audio Delta 1010)
> to work together, so far unsuccessfully.

The .asoundrc below _almost_ works. I get 16 channels of playback
or 16 channels of capture, but not both. I'm using jack with
MMAP_COMPLEX support added, so the usual route plugin/ttable isn't
needed.
I'm using the following command to start jack:

jackd -d alsa -d multi_duplex -p 128

This fails with a poll time out. If I add the -C or -P option to start
in capture- or playback-only mode, it starts and runs. 
Setup is 2.6.14-rt6 x86_64 SMP kernel (alsa-driver-1.0.10rc1),
alsa-lib-1.0-10rc2, jack-0.100.7 + MMAP_COMPLEX patch, 
Debian unstable amd64.

It looks to me like the asym plugin isn't working (or I'm not using it
correctly). Any ideas?

John
                 __________________________________

# .asoundrc for two Delta 1010s

# Alias for first card
pcm.delta1010_0 {
	type hw
	card 0
}
ctl.delta1010_0 {
	type hw
	card 0
}

# Alias for second card
pcm.delta1010_1 {
	type hw
  	card 1
}
ctl.delta1010_1 {
	type hw
	card 1
}

# Create virtual devices out of multiple soundcards.
# JACK will need MMAP_COMPLEX support to use this. 
# ICE1712 chip has 12 capture channels and 10 playback channels
# so separate playback and capture devices need to be created.
# No. of channels in slaves must equal 12 for capture and 10 for playback
# otherwise "broken configuration" and "invalid argument" errors result.

pcm.multi_playback {
	type multi

	slaves.a.pcm delta1010_0
	slaves.a.channels 10

	slaves.b.pcm delta1010_1
	slaves.b.channels 10

# First 8 channels of first soundcard
 	bindings.0.slave a
 	bindings.0.channel 0
 	bindings.1.slave a
 	bindings.1.channel 1
 	bindings.2.slave a
 	bindings.2.channel 2
 	bindings.3.slave a
 	bindings.3.channel 3
 	bindings.4.slave a
 	bindings.4.channel 4
 	bindings.5.slave a
 	bindings.5.channel 5
 	bindings.6.slave a
 	bindings.6.channel 6
 	bindings.7.slave a
 	bindings.7.channel 7
    
# First 8 channels of second soundcard
 	bindings.8.slave b
 	bindings.8.channel 0
 	bindings.9.slave b
 	bindings.9.channel 1
 	bindings.10.slave b
 	bindings.10.channel 2
 	bindings.11.slave b
 	bindings.11.channel 3
 	bindings.12.slave b
 	bindings.12.channel 4
 	bindings.13.slave b
 	bindings.13.channel 5
 	bindings.14.slave b
 	bindings.14.channel 6
 	bindings.15.slave b
 	bindings.15.channel 7

}

ctl.multi_playback {
	type hw
	card 0
}

pcm.multi_capture {
	type multi
	
	slaves.a.pcm delta1010_0
	slaves.a.channels 12

	slaves.b.pcm delta1010_1
	slaves.b.channels 12

# First 8 channels of first soundcard
 	bindings.0.slave a
 	bindings.0.channel 0
 	bindings.1.slave a
 	bindings.1.channel 1
 	bindings.2.slave a
 	bindings.2.channel 2
 	bindings.3.slave a
 	bindings.3.channel 3
 	bindings.4.slave a
 	bindings.4.channel 4
 	bindings.5.slave a
 	bindings.5.channel 5
 	bindings.6.slave a
 	bindings.6.channel 6
 	bindings.7.slave a
 	bindings.7.channel 7
    
# First 8 channels of second soundcard
 	bindings.8.slave b
 	bindings.8.channel 0
 	bindings.9.slave b
 	bindings.9.channel 1
 	bindings.10.slave b
 	bindings.10.channel 2
 	bindings.11.slave b
 	bindings.11.channel 3
 	bindings.12.slave b
 	bindings.12.channel 4
 	bindings.13.slave b
 	bindings.13.channel 5
 	bindings.14.slave b
 	bindings.14.channel 6
 	bindings.15.slave b
 	bindings.15.channel 7

}

ctl.multi_capture {
	type hw
	card 0
}

# ICE1712 has 10 channels for playback and 12 for capture so asym
# plugin must be used

pcm.multi_duplex {
	type asym
	playback.pcm multi_playback
	capture.pcm multi_capture
}

ctl.multi_duplex {
	type hw
	card 0
}



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php

  reply	other threads:[~2005-11-13 22:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-13 14:10 Multi ice1712 .asoundrc problem John Rigg
2005-11-13 22:31 ` John Rigg [this message]
2005-11-13 23:08   ` Lee Revell
2005-11-14  0:37     ` John Rigg
2005-11-14  9:30       ` Lee Revell
2005-11-14 12:17         ` John Rigg
2005-11-14 15:55           ` Pasi Kärkkäinen
2005-11-14 19:06             ` John Rigg
2005-11-15 15:16               ` John Rigg
2005-11-15 19:18                 ` Lee Revell
2005-11-16 15:14                   ` John Rigg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051113223105.GA4822@localhost.localdomain \
    --to=ad@sound-man.co.uk \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox