WSJT-X & FT8MAPPER & CQRLOG to work together

2 posts / 0 new
Last post
N3MOW
WSJT-X & FT8MAPPER & CQRLOG to work together

I want to have wsjt-x send data to ft8mapper and cqrlog. I have tried everything from both the cqrlog docs and the net. Nothing works.

I set wsjt-x to "multicast" at 239.255.0.0, port 2237 and tl = 2. ft8mapper set to the same ip and port. CQRLOG set to the same ip and port. The wsjt address is set to 239.255.0.0. I do not know what to enter into the adif port.

I start wsjt from cqrlog. Data goes to ft8mapper no problem but nothing goes to CQRLOG. I used to use gridtracker a the middle man. It had simple settings to recive udp and the forward it to a port on the same server. Unfortunatly there are video problems. The gridtracker maps are not displayed, as they should be, within the programs gui. To get arroud that I use ft8mapper that does show the data in real time. The qso data stops there. It does not make to cqrlog. A post in the fourm states "the latest version automaticaly supports multicasting on address suchas 2390255.0.0." I have versio 2.5.2.

I need to know exactly how to setup communication between the three apps in simple step by set procedure.

Thanks,
Marty N3MOW

oh1kh
WSJT-X & FT8MAPPER & CQRLOG to work together

Hi Marty!
Lets begin with WSTX and Cqrlog.
As you are using 2.5.2 and working digital modes I strongly recommend you to upgrade to Cqrlog_Improved that has lot of fixes compared to 2.5.2
https://github.com/OH1KH/CqrlogImproved/blob/main/compiled/README.md

Tested with old 2.5.2 and WSJTX-improved 3.1.0 Plus edition by DG2YCB
Following setup works with multicast udp:

Use same 239.255.0.1 address for all, Cqrlog and WSJTX . Use also same port number 2237 for all.
WSJTX needs the outgoing interface name, that is the network card's name of your Linux. Fortunately it is there just to choose (if you have several network cards). you do not need to dig out the name from system.

By Google-AI FT8Mapper supports only UDP unicast. So it is not possible to get it work with multicast setup if AI is right.
You need to use some kind of relay program that can relay multicast UDP frames to unicast udp.

I quick prepared one by connecting some of my test programs together.
This one is made with perl. When running it you might need to install some perl modules first using cpan. Program will complain for missing modules.

 

#!/usr/bin/perl
# Listen multicast UDP, relay to unicast UDP
use strict;
use IO::Socket::Multicast;
use IO::Socket::INET;
my $addressee = '127.0.0.1';#unicast address
my ($socket,$data);
$socket = new IO::Socket::INET (
PeerAddr => $addressee ,
PeerPort => '60000',#unicast port
ReuseAddr => 1,
ReusePort => 1,
Proto => 'udp' ) or die "Unicast socket fail";
use constant GROUP => '239.255.0.1'; #multicast address
use constant PORT  => '2237';#multicast port
 my $sock = IO::Socket::Multicast->new(
Proto=>'udp',
LocalPort=>PORT,
ReuseAddr => 1,
ReusePort => 1,
  ) or die $!;
$sock->mcast_add(GROUP) || die "Couldn't set group: $!\n";
while (1) {
  $data=''; 
 next unless $sock->recv($data,2048);
  $socket->send($data);
  #comment below to shut down debug print
  print $data;
}
$socket->close();
$sock->close();
exit(0);
 
Run this perl in command terminal. when WSJTX, Cqrlog and FT8Mapper are running.
Set FT8Mapper settings the UDP address to 127.0.0.1 and port 60000

--
Saku
OH1KH