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

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-user] Problems with two Delta 1010LTs
From: Thomas Wehrspann (thomas_AT_wehrspann.de)
Date: Sat Oct 16 2004 - 16:39:20 EEST


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
}


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Oct 16 2004 - 16:44:45 EEST