[LAU] Problems connecting Sound Devices usbpre2 to JACK

Chris Caudle 6807.chris at pop.powweb.com
Fri Apr 23 23:09:24 CEST 2021

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.

> 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.

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?

> 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?

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.

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 
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

More information about the Linux-audio-user mailing list