jack1 vs jack2 discrepencies

I’m using a Native Instruments Audio8DJ 8x8 channel soundcard. I had it working flawlessly with a custom .asoundrc and jack 0.118.0 a week ago. However, I’ve switched to using the KXStudio repositories and I was upgraded to jackdmp 1.9.5 automatically (reverting seems to be a cascading package nightmare from hell).

The problem with this is that jackdmp will no longer start with my old configuration which used to work on jackd-0.118. A little more information:

Old jackd call that worked with jackd-0.118
/usr/bin/jackd -R -dalsa -r 44100 -p1024 -n3 -i8 -o8 -dttable

Old .asoundrc that accompanied it:
pcm_slave.DJ0 { pcm “hw:1,0,1” }
pcm.usb {
type plug
slave DJ0
}
ctl.usb {
type plug
slave DJ0
}
pcm.multi {
type multi;
slaves.a.pcm “hw:1,0,0”;
slaves.a.channels 2;
slaves.b.pcm “hw:1,0,1”;
slaves.b.channels 2;
slaves.c.pcm “hw:1,0,2”;
slaves.c.channels 2;
slaves.d.pcm “hw:1,0,3”;
slaves.d.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
bindings.4.slave c;
bindings.4.channel 0;
bindings.5.slave c;
bindings.5.channel 1;
bindings.6.slave d;
bindings.6.channel 0;
bindings.7.slave d;
bindings.7.channel 1;
}
ctl.multi {
type hw;
card 0;
}
pcm.ttable {
type route;
slave.pcm “multi”;
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;
}
ctl.ttable {
type hw;
card 0;
}

So, now I’ve tried starting jackdmp with the same old call and it errors not being able to find the device ttable.

Removing the .asoundrc completely, I can start jackdmp in either of these fashions to access any 2 of my 8 total channels at once:
jackd -dalsa -r44100 -p1024 -n3 -i2 -o2 -D -Chw:1,0,0 -Phw:1,0,0
jackd -dalsa -r44100 -p1024 -n3 -i2 -o2 -D -Chw:1,0,1 -Phw:1,0,1
jackd -dalsa -r44100 -p1024 -n3 -i2 -o2 -D -Chw:1,0,2 -Phw:1,0,2
jackd -dalsa -r44100 -p1024 -n3 -i2 -o2 -D -Chw:1,0,3 -Phw:1,0,3

My dilemna is getting jackdmp to start with all 8 channels at the same time. Unfortuntaley, I’ve tried asking a few other places: #jackd and #opensourcemusicians and wasn’t able to get any help, so I thought I’d try here :slight_smile:

I ran an strace on a self compiled jack-1.9.5 and it does open it at least :


access("/etc/asound.conf", R_OK) = -1 ENOENT (No such file or directory)
access("/home/peder/.asoundrc", R_OK) = 0
open("/home/peder/.asoundrc", O_RDONLY) = 4

Thanks for confirming that, peder.

So is there anyway to look into how jack2 handles the file internally? Maybe its having trouble parsing the configuration file then. Hoping someone with a little more jackd programming experience can ring in on this, I wouldn’t know where to start.

I tried to check the sources and the “ttable” seems to be defined in alsa/pcm_plugin.h.
But jack1 only includes alsa/pcm.h and I don’t see any further inclusions of the pcm_plugin file som I’m not sure where it gets the info from.
Jack2 doesn’t include any pcm at all.

I checked the bugtracker at http://trac.jackaudio.org/report/1 but I couldn’t see anything related.
I suggest you either file a bug entry there (but I couldn’t figure out how to sign up for a login) or contact Stephane Letz (letz@grame.fr) directly.

Can you report the exact error you get? (please add the verbose -v parameter in jackd command line)

$ /usr/bin/jackd -v -dalsa -r 44100 -p1024 -n3 -i8 -o8 -dttable
jackdmp 1.9.5
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2009 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
Jack: Create non RT thread
Jack: ThreadHandler: start
Jack: JackSocketServerChannel::Open
Jack: Bind: addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackSocketServerChannel::BuildPoolTable size = 1
Jack: JackEngine::Open
Jack: Connect: addr.sun_path /dev/shm/jack_default_1000_0
Jack: apparent rate = 44100
Jack: frames per period = 1024
Jack: playback device ttable
Jack: capture device ttable
Jack: JackDriver::Open capture_driver_name = ttable
Jack: JackDriver::Open playback_driver_name = ttable
Jack: JackEngine::ClientInternalOpen: name = system
Jack: JackEngine::AllocateRefNum ref = 0
Jack: JackFifo::Allocate name = /dev/shm/jack_fifo.1000_default_system
Jack: JackEngine::NotifyAddClient: name = system
Jack: JackGraphManager::SetBufferSize size = 1024
Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Jack: JackDriver::SetupDriverSync driver sem in flush mode
control open “ttable” (No such file or directory)
control open “ttable” (No such file or directory)
audio_reservation_init
Acquire audio card Audio-1
creating alsa driver … ttable|ttable|1024|3|44100|8|8|nomon|swmeter|-|32bit
control open “ttable” (No such file or directory)
Jack: JackDriver::Close
Jack: JackConnectionManager::DirectDisconnect last: ref1 = 0 ref2 = 0
Jack: JackGraphManager::DisconnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Jack: JackEngine::ClientCloseAux ref = 0
Jack: JackGraphManager::RemoveAllPorts ref = 0
Jack: JackFifo::Destroy name = /dev/shm/jack_fifo.1000_default_system
Jack: ~JackDriver
Cannot initialize driver
Jack: JackEngine::Close
Jack: JackClientSocket::Close
Jack: JackServerSocket::Close /dev/shm/jack_default_1000_0
Jack: no message buffer overruns
Jack: ThreadHandler: exit
Jack: JackPosixThread::Stop
JackServer::Open() failed with -1
Jack: Succeeded in unlocking 82208666 byte memory area
Jack: JackShmMem::delete size = 0 index = 2
Jack: ~JackDriver
Jack: JackEngine::~JackEngine
Jack: Succeeded in unlocking 994 byte memory area
Jack: JackShmMem::delete size = 0 index = 3
Jack: cleaning up shared memory
Jack: cleaning up files
Jack: unregistering server `default’
Failed to start server

I’m thinking jack2 doesn’t check the alsa configuration file .asoundrc like jack1 did? Just a guess…

Letz was able to commit a patch to resolve this issue:

http://trac.jackaudio.org/changeset/4051

WIN!

filed: http://trac.jackaudio.org/ticket/192