[linux-audio-user] Problems with two Delta 1010LTs

Thomas Wehrspann thomas at wehrspann.de
Sat Oct 16 09:39:20 EDT 2004


After searching and reading nearly everthing about Delta 1010LTs and 
Alsa, i have still no clue how to solve my problem. I also posted on the 
Alsa mailinglist, but got no answer.

I bought two Delta 1010LTs to do 16 channel multitrack recording with 
ardour and jack. And i have no problem doing so with either the first or 
the second one alone, despite regular messages of the form:
"load = 0.2046 max usecs: 79.000, spare = 23140.000"

My system is an Athlon TB 900 MHz, 512 MB RAM, both Deltas have a 
interrupt on there own (IRQ7 and IRQ5). At the moment it's just plain 
Xorg with twm.
I use kernel 2.6.8-r3-gentoo with kernel ALSA driver and preemp and 
volutary
preemp patch. ALSA-lib, -utils and -tools have version 1.06.
In the meantime i tried a recent 2.4 kernel with realtime patches and 
Alsa driver 1.06 with different problems.

PROBLEM 1: .asoundrc
-------
Since Jack only supports one sound card, i tried to create a virtual 16
channel card through the .asoundrc file (appended at the end of this post).
The Delta has 12 capture and 10 playback devices, so i created two multi
devices, one for capture and one for playback and an asym device to put 
them together and some magic for jack. This is the only configuration 
that works a little.

Is this the right configuration?

Bevor jack accepts this card, the deltas had to be synced, either 
through S/PDIF or Wordclock (i tried both).
Btw. is there a kernel sync like under Windows? Because, when i open two 
envy24control windows (one for each card) and change the clock rate in 
one envy24control the other changes as well when reset is selected. And 
what's the meaning of "reset" and "locked"?

PROBLEM 2: kernel 2.6
-------
Without Syncing, jackd sometimes locks the entire system.

When the cards are synced and i start jack there is an error message:
"Alsa lib pcm.c: 1178: (snd_pcm_link) SNDRV_PCM_IOCTL_LINK failed: 
Operation already in progress"
It seems to have no effect, though.
Then i got a lot of XRUN callbacks. With jack Soft Mode i got "load = 
0.2046 max usecs: 79.000, spare = 23140.000".
I can work with it, but it shouldn'd be normal?

If this where all, i won't have bothered you.
Using the 16 channel virtual card with ardour works for the first 8 
channels.
The second 8 channels of the second card, which where synced to the
first card, produces weird sound, both while recording and playback.

It would be nice if someone can help me. Thanks in advance.

PROBLEM 3: kernel 2.4
-------
Since i get no answer on the above question on the Alsa list, i changed 
the kernel back to 2.4 and the external ALSA driver 1.06.

The configuration (hardware and .asoundrc) remained the same.

When i start jackd with playback only, this works great now. The weird 
sound is no longer.
With capture too, i get "jackd: pcm.c:5957: snd_pcm_mmap_commit: 
Assertion 'frames <= snd_pcm_mmap_avail(pcm)' failed"
Sometime with a few
  "load = 2.3689 max usecs: 550.000, spare = 11059.000"
before.

Somewhere i read, that this is about unsyncronisation? With kernel 2.6, 
but without syncing, i got the same messages when using capture devices.


Sorry for the big post and the many questions.
Greetings
Thomas Wehrspann


---.asoundrc---
###########################
# M-AUDIO DELTA 1010LT(1)  #
###########################
pcm.ice1712_1 {
         type hw
         card 0
}
ctl.ice1712_1 {
	type hw
	card 0
}

###########################
# M-AUDIO DELTA 1010LT(2)  #
###########################
pcm.ice1712_2 {
         type hw
         card 1
}
ctl.ice1712_2 {
	type hw
	card 1
}

###########################
# VIRTUAL 16 CHANNEL         #
###########################
pcm.delta8in {
	type multi
	slaves.a.pcm ice1712_1
	slaves.a.channels 12
	slaves.b.pcm ice1712_2
	slaves.b.channels 12
	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

	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
}
pcm.delta8out {
	type multi
	slaves.a.pcm ice1712_1
	slaves.a.channels 10
	slaves.b.pcm ice1712_2
	slaves.b.channels 10
	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

	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
}
pcm.delta {
	type asym
	playback.pcm delta8out
	capture.pcm delta8in
}

pcm.jack {
	type route
	slave.pcm delta
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.2 1
	ttable.3.3 1
	ttable.4.4 1
	ttable.5.5 1
	ttable.6.6 1
	ttable.7.7 1

	ttable.8.8 1
	ttable.9.9 1
	ttable.10.10 1
	ttable.11.11 1
	ttable.12.12 1
	ttable.13.13 1
	ttable.14.14 1
	ttable.15.15 1
}
ctl.jack {
	type hw
	card 0
}




More information about the Linux-audio-user mailing list