Topics

moderated WSJT-X on Raspberry Pi 3B+ with SignaLink USB: Which Audio Interface? #wsjtx #pi3

AA7US
 

Greetings,

I've successfully installed FLDIGI and WSJT-X on a new Raspberry Pi 3B+ running Raspbian Stretch, but now I'm having trouble figuring out which audio interface to choose in WSJT-X's settings for a SignaLink USB.

I can see the SignaLink's “USB AUDIO CODEC” is recognized in Raspbian's dmesg log, in the desktop sound preferences, and in FLDIGI's audio settings, but strangely not in WSJT-X's settings.  In WSJT-X I see a whole bunch of devices listed but none of them say “USB AUDIO CODEC”.

I've attached some screen shots of what I'm seeing.

I'd appreciate help figuring out which audio interface is the correct one to choose for the SignaLink USB in WSJT-X.

Thank you and 73,

John
AA7US

KI6SGV
 

The card is showing up like in my wsjtx as hw:CARD=CODEC,DEV=0 (or plughw). I've been playing with ALSA a lot lately trying to get a configuration to work with both fldigi and wsjtx and found some useful config options that may help you out.

First, you can create a udev rule that names the card a more human-readable string: my udev rule.

If you require the card to be registered with a consistent index number through reboots, you can use a modprobe config. This is mine.

Then you can make an ALSA controller in your user profile's .asoundrc file with:

pcm.SIGNALINK {
	type hw
	slave {
		pcm "SIGNALINK"
		channels 1
		rate 44100
	}
        # The hint is the key to the card showing up in certain software
	hint.show on
	hint.description "Soundcard digital radio"
}

ctl.SIGNALINK {
	type hw
	card 0
	device 0
}

I've made a special config to allow using both pieces of software simultaneously to receive, which has worked so far on my desktop, although transmit is unreliable and should not be used. One might run into buffering troubles on a lower-power machine like a Pi, but I have not set mine up yet to experiment. Hopefully this is a good starting point, regardless. These three files make up my ALSA config here.

Jeffrey KI6SGV

KP3FT
 

Try the bottom two in the list.  It's most likely one of those.  I have a similar setup, but forgot which one it was.  Easy to find by trial-and-error.

Dave, GØWBX
 

Hi Jeffrey.

Nice!

Have you by chance found a way around the WSJT-X (R1.9.x and later) "feature" where it jam's the receiving sound interface levels to 100% for both the "Global Recording" and "Device used" mixer levels?

This (I am lead to believe) is due to QT5's total inability to set recording levels to anything other than 100% when a recording stream is opened.

The problem is that the current version(s) (1.9.x and later) close the RX stream when they TX, and open a new stream when they go back to RX.  So, even if you manually set the levels with PAVU or alsamixer once you get the software working, they'll get set back to 100% again by QT5 the next time WSJT-X transitions back to RX.

Damned inconvenient, to say the least.

Reply off list if preferred.

73.

Dave G0WBX.

(Bill G4WJS, no need to chime in on this list, if you see this.)



Re: WSJT-X on Raspberry Pi 3B+ with SignaLink USB: Which Audio Interface?
From: KI6SGV
Date: Mon, 03 Dec 2018 19:58:23 PST

The card is showing up like in my wsjtx as hw:CARD=CODEC,DEV=0 (or plughw). I've been playing with ALSA a lot lately trying to get a configuration to work with both fldigi and wsjtx and found some useful config options that may help you out.

First, you can create a udev rule that names the card a more human-readable string: my udev rule.

If you require the card to be registered with a consistent index number through reboots, you can use a modprobe config. This is mine.

Then you can make an ALSA controller in your user profile's .asoundrc file with:

pcm.SIGNALINK {
	type hw
	slave {
		pcm "SIGNALINK"
		channels 1
		rate 44100
	}
        # The hint is the key to the card showing up in certain software
	hint.show on
	hint.description "Soundcard digital radio"
}

ctl.SIGNALINK {
	type hw
	card 0
	device 0
}

I've made a special config to allow using both pieces of software simultaneously to receive, which has worked so far on my desktop, although transmit is unreliable and should not be used. One might run into buffering troubles on a lower-power machine like a Pi, but I have not set mine up yet to experiment. Hopefully this is a good starting point, regardless. These three files make up my ALSA config here.

Jeffrey KI6SGV


-- 
Created on and sent from a Unix like PC running and using free and open source software.
::

AA7US
 

Thank you gentlemen!

I managed to get WSJT-X working with interface: “plughw:CARD=CODEC,DEV=0”

And thank you Jeffrey for those additional configuration tips.  I'm going to try and implement that today.

73,

John
AA7US

KI6SGV
 

I have not come across this yet, since my linux box is Centos 7, where KDE uses Qt4 still. Some of the KDE programs have "restore volume" functionality, but as far as Qt itself, I couldn't say. From a quick search, it seems the bug was fixed in Qt 5.5, so if you're stuck on an older system it may not be fixed yet.

Dave, GØWBX
 

Thanks Jeffrey for that snippet of info.

I'll check it out, and pass it on.   Thanks.

73.

Dave G0WBX.



Re: WSJT-X on Raspberry Pi 3B+ with SignaLink USB: Which Audio Interface?
From: KI6SGV
Date: Tue, 04 Dec 2018 10:07:59 PST

I have not come across this yet, since my linux box is Centos 7, where KDE uses Qt4 still. Some of the KDE programs have "restore volume" functionality, but as far as Qt itself, I couldn't say. From a quick search, it seems the bug was fixed in Qt 5.5, so if you're stuck on an older system it may not be fixed yet.


-- 
Created on and sent from a Unix like PC running and using free and open source software.
::

AA7US
 

On Mon, Dec 3, 2018 at 07:58 PM, KI6SGV wrote:

Then you can make an ALSA controller in your user profile's .asoundrc file with:


Jeff,

Question:  When altering the .asoundrc file, am I supposed to replace the existing text which is:

pcm.!default {
        type hw
       card 0
}

ctl.!default {
       type hw
        card 0
}

Thank you,

John
AA7US

KI6SGV
 

I would recommend you leave that section as it is. You can just append your new config to the bottom of that file, assuming there isn't another `pcm.!default` block in the file. That block means it will override the system config for the `default` ALSA control and PCM device. Your user profile is applied on top of the system config, so `.asoundrc` is an easy way to mess with everything without... well... messing with everything. The `!` means 'override.'

Hope that helps


On 12/9/18 11:47 AM, John Landry, AA7US wrote:
On Mon, Dec 3, 2018 at 07:58 PM, KI6SGV wrote:

Then you can make an ALSA controller in your user profile's .asoundrc file with:


Jeff,

Question:  When altering the .asoundrc file, am I supposed to replace the existing text which is:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 0
}

Thank you,

John
AA7US

Orrin Winton <orrin.winton@...>
 

For my newly-bought RPi3B, i did the following for WSJT-X with my several-yrs-old SignaLink-USB:

Upper-right corner of the Stretch desktop: left-click the audio icon, check "USB Audio Codec."

In WSJT-X: File -> Settings -> Audio: 

Input:     alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo
Output:   alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo

Fyew!