On Fri, Apr 23, 2021 at 11:10 AM Chris Caudle <6807.chris@pop.powweb.com> wrote:
On 2021-04-23 14:57, robertlazarski wrote:

Better to keep replies on list, to help others with a similar problem
and to get insight from other people.


Oops, I need to click reply all with this list.

> I finally found my interface in qjackctl -- setup. I restarted it and
> instead of a separate shell for jack, I used qjackctl to start jack. I
> see these two processes:
>
> robert    7019  7014  0 09:33 ?        00:00:00 /usr/bin/jackd -dalsa
> -dhw:USBPre2 -r48000 -p1024 -n2
> root      7174     1  0 09:36 ?        00:00:00 /usr/bin/jackd -T
> -ndefault -T -d alsa

That looks like you had another instance of jackd running already as
root that you did not stop.  You generally do not ever want to run jackd
as root, so kill that 7174 process.


Silly mistake on my part - I hit ctl-c expecting jackd to stop but it's a daemon of course.

And still did not really answer the original question.  If you start
jackd manually from a terminal as you did, qjackctl will detect the
running instance and connect to the already running jackd.  Did you
start qjackctl before or after you started jackd from the terminal?


I had multiple instances of jack running. I rebooted.

> However, now jltcdump somehow is on hw:0

I think there is a vocabulary problem.  What do you mean that ltcdump is
"on" hw:0?
Jack applications have ports
Jackd will also assign ports to hardware interfaces.
You use a jack control application (such as qjackctl for GUI, or
jack_connect for CLI) to connect ports together to transfer audio data
between hardware interfaces and applications, and between applications.

You need to start jackd before starting any jack aware applications
(other than control applications like qjackctl or catia) or you may end
up with  jackd starting up with the last used configuration as default.

> From jltcdump.
>
> Acquire audio card Audio0
> creating alsa driver ...
> hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
> configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2
> periods
> ALSA: final selected sample format for capture: 32bit integer
> little-endian
> ALSA: use 2 periods for capture
> ALSA: final selected sample format for playback: 32bit integer
> little-endian
> ALSA: use 2 periods for playback
> JACK server started

I'm confused, you write "from jltcdump" but that output is what jackd
displays when it starts up.  Was that output really displayed on the
terminal after you started jltcdump?


jlticdump will start jack it seems if it cannot find another instance of it. And clicking start in qjackctl will start jack even if there is another instance of jack running. I hope I got that straight now.
 
I think  you need to get back to a known beginning configuration first. 
Kill jltcdump, stop jackd from qjackctl, quit qjackctl, and look for any
processes with "jack" in the name and kill those.

After you are sure that there are no more jackd processes running, start
qjackctl, click the "Setup" button, and check the interface, sample
rate, period size, etc. there.
If you need to make any changes then hit apply or OK or whatever accepts
the changes and goes back to the main window; if the settings are
already what you want you can click the cancel button to go back to the
main window, then click the "Start" button to start the jackd server.

Click the "Connect" button and the connections window should open, with
only "system" shown in both the Readable Clients/Output Ports and the
Writeable Clients/Input Ports windows.


I am stuck on this part. jltcdump won't connect after starting jackd from qjackctl.

[linux-fesf(robert)]
 /home/robert> sudo /usr/local/bin/jltcdump
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
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
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Failed to connect to session bus for device reservation: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

To bypass device reservation via session bus, set JACK_NO_AUDIO_RESERVATION=1 prior to starting jackd.

Audio device hw:0 cannot be acquired...
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
jack_client_open() failed, status = 0x11
Unable to connect to JACK server
bye.
[linux-fesf(robert)]
 /home/robert> ps -ef | grep jack
robert    2730  2091  0 11:49 pts/2    00:00:02 qjackctl
robert    2742  2730  0 11:49 ?        00:00:01 /usr/bin/jackd -dalsa -dhw:USBPre2 -r48000 -p1024 -n2
robert    2905  2141  0 11:56 pts/4    00:00:00 grep --color=auto jack

Thanks!
Robert
 
Now run jltcdump from a terminal, and you should see a new entry for
jltcdump show up in the Writeable Clients window.  Click the arrow to
expand the entry and you should see input1 as an available port  for
jltcdump.
Click the arrow to expand system in the Readable Clients window and you
should see capture_1 and capture_2 ports available (assuming you have a
typical two channel audio interface; if you have more input channels on
your audio interface you should see a number of capture ports
representing the available inputs assuming you did not restrict the
number of ports when starting jackd).

Now you can connect the appropriate output port from the hardware driver
(capture_1 is usually the left channel on a two channel interface) to
the input port on jltcdump.  Click the appropriate capture port, then
click the input1 port on jltcdump, then click the Connect button in the
bottom left corner of the window.  The audio data from that input port
of your interface should now be sent to jltcdump (indicated by qjackctl
drawing a line between the two ports).

--
Chris Caudle
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-user