You are here

jack qjackctl won't obey settings

Hi
I installed qjackctl 3.9 from my distro ubuntu 13.04 64bits and want to use a Korg's Pandora PX5D as usb audio card.
When I use the embedded sound card with mplayer -ao jack somefile.wav I can ear the sound in headphone plugged in the analog output of the box: ok.
Now I want to use another application that requires Jack and sampling rate set to 48kHz.
When I select the korg's box i/o devices in qjackctl settings hw:1,0 along with 48k samplerate, then I start Jack, the main qjackctl windows displays 44100Hz but the messages window shows 48k

...Thu Feb 20 09:22:10 2014: Acquired audio card Audio1
Thu Feb 20 09:22:10 2014: creating alsa driver ... hw:1,0|hw:1,0|256|2|48000|2|2|nomon|swmeter|-|32bit
Thu Feb 20 09:22:10 2014: configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods...
Although my app won't launch, poping up that "The Jack server sample rate is different from the required one. The required sample rate is: 48000 Hz"

If the box is not plugged, dbus says it can't run jack (normal I think)
When I select default sound card (hw:0) my app will launch OK

Please, is there a way to check the status/parameters of the running jackd, command line maybe?
when I "ps ax|grep jack", I get
14570 ? S 0:00 /bin/sh /usr/bin/qjackctl
14578 ? SLl 0:06 /usr/lib/qjackctl/qjackctl.real
14582 ? SLsl 0:29 /usr/bin/jackdbus auto
14654 pts/3 S+ 0:00 grep --color=auto jack

sudo service jackdbus status
jackdbus: unrecognized service

I have set qjackctl to run temporary server to prevent the need of reboot between all my trials. Some times the ps command shows jackd process with parameters, I can killall it and qjackctl.real, but I can't kill jackdbus

Advises very welcome?

Thank you for help and for the soft that seems cool
desperate linux newb

Forums: 
rncbc's picture

i'm sorry but i may not be of much help.

but i'll give you some hints on whet i can read from your report above:

  • try forcing 16-bit and/or 3 periods/buffer; depending on some other settings some audio devices don't run on every sample-rate you throw at it, actually regressing to the one it feels more "confortable" :)
  • avoid using d-bus; disable it from Setup\Misc\Enable D-BUS Interface and restart;
  • look at the jackd command line on the messages output if it alll still fails short;
  • qjackctl version 0.3.9 is pretty much outdated btw.--consider an update to latest v0.3.11.
  • if things still don't work as expected, try also the JACK FAQ and ultimately JACK Mailing List or the #jack channel on irc.freenode.net.

hth.
cheers

Thank you for advises rncbc
I enabled your force16bits, 3 periods/buffer and disable d-bus support advises, and I also enabled verbose mode:
ps ax|grep jack now provides a jackd feedback:
16961 ? SLsl 0:00 /usr/bin/jackd -v -P89 -p512 -dalsa -r48000 -p256 -n3 -S -Xseq -D -Chw:1,0 -Phw:1,0 -i2 -o2

And qjackctl messages displays (some lines translated):
...
09:10:33.897 Patch Bay disabled.
09:10:33.901 Reset stats.
09:10:33.913 Loading ALSA connections.
Cannot connect to server socket err = No such file or folder
Cannot connect to server request channel
jack server is not running or cannot be started
09:10:33.921 Changing ALSA connections graphic.
09:10:41.165 JACK starts...
09:10:41.166 /usr/bin/jackd -v -P89 -p512 -dalsa -r48000 -p256 -n3 -S -Xseq -D -Chw:1,0 -Phw:1,0 -i2 -o2
Cannot connect to server socket err = No such file or folder
Cannot connect to server request channel
jack server is not running or cannot be started
09:10:41.188 JACK started with PID=16989.
no message buffer overruns
no message buffer overruns
no message buffer overruns
jackdmp 1.9.10
...
JACK server starting in realtime mode with priority 89
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: capture device hw:1,0
Jack: playback device hw:1,0
Jack: apparent rate = 48000
Jack: frames per period = 256
Jack: JackDriver::Open capture_driver_name = hw:1,0
Jack: JackDriver::Open playback_driver_name = hw:1,0
Jack: Check protocol client = 8 server = 8
Jack: JackEngine::ClientInternalOpen: name = system
Jack: JackEngine::AllocateRefNum ref = 0
Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_system val = 0
Jack: JackEngine::NotifyAddClient: name = system
Jack: JackGraphManager::SetBufferSize size = 256
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
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:1,0|hw:1,0|256|3|48000|2|2|nomon|swmeter|-|16bit
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 3 periods for playback
Jack: JackSocketServerChannel::Open
Jack: JackServerSocket::Bind : addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackSocketServerChannel::BuildPoolTable size = 1
Jack: JackEngine::Open
Jack: JackClientSocket::Connect : addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackEngine::ClientInternalOpen: name = freewheel
Jack: JackEngine::AllocateRefNum ref = 1
Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_freewheel val = 0
Jack: JackEngine::NotifyAddClient: name = freewheel
Jack: JackDriver::ClientNotify ref = 1 driver = system name = freewheel notify = 0
Jack: JackDriver::ClientNotify ref = 0 driver = freewheel name = system notify = 0
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 1 ref2 = 1
Jack: JackDriver::SetupDriverSync driver sem in flush mode
Jack: JackGraphManager::SetBufferSize size = 256
Jack: JackAlsaDriver::Attach fBufferSize 256 fSampleRate 44100
Jack: JackEngine::PortRegister ref = 0 name = system:capture_1 type = 32 bit float mono audio flags = 22 buffer_size = 256
Jack: JackGraphManager::AllocatePortAux port_index = 1 name = system:capture_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 1
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
...

I my first steps I thought I was stuck in the issue as ubuntu detected the box as "Digital" I/O (S/PDIF) and I believed from a previous very old life (before Internet era) that s/pdif==44k1, but wikipedia teaches me that s/pdif also supports 48k and 96k.

As my issue doesn't seem to be related to qjackctl, please could you advise further by telling me where you would dig and/or ask help so I can do it myself:
Korg, to know if the device can work at 48k samplerate?
Jamulus, the app that requires 48k, asking if it is possible to accept 44k1?
ALSA, for possible better support of the device?
DIY electronics forum to know if it is ever possible to tweak to change some hardware specs of the box or some transparent usb adapter that could change samplerate from 44k1 to 48k?

Thank you once more

Add new comment