Hi Alan,
there are already network capabilities that Hamlib back ends can access,
it is not tied to serial port connections by design, reference the Flex
6xxx one for example. Using individual connections per Rx must be the
way to go, then a client can open as many rig connections using the
Hamlib API as it wishes or separate clients can open one each etc. This
is how it is kept simple!
73
Bill
G4WJS.
On 13/05/2020 17:41, Alan Hopper wrote:
Mike,
thanks very much, If there is anything I can do to help/test or change
in my software please let me know. I've been looking through
the dump_state source and that part is a bit of a reverse engineering
job:) but if that is the cause of the problem I'll dive in if it will
fix it in the short term.
In the long term I would really like a network protocol that combines
rig control and audio or iq data, it is a bit crazy that connecting an
sdr to other software is more tricky than a conventional radio. As
some people connect tens of simultaneous instances of digimode sw to
spark it is particularly desirable to keep it simple.
73 Alan M0NNB
On Wed, May 13, 2020 at 4:44 PM Black Michael via wsjt-devel
<wsjt-devel@lists.sourceforge.net
<mailto:wsjt-devel@lists.sourceforge.net>> wrote:
I'm going to see about fixing the backwards compatibility.
Hopefully today...
Mike
On Wednesday, May 13, 2020, 09:27:48 AM CDT, Alan Hopper
<a...@samsararesearch.com <mailto:a...@samsararesearch.com>> wrote:
Hi Bill and Michael
thanks very much for your reply. I added the response to 'q' but
as expected no magic fix. The error message from wsjtx is 'Hamlib
error: Communicatons timed out while getting current VFO frequency'.
If the protocol has not been published then it has been at least
well documented here
https://www.systutorials.com/docs/linux/man/8-rigctld/ which seems
to encourage its use directly. I have a personal hatred of
virtual serial ports (and audio ports), serial and audio
connections make perfect sense for traditional radios connected to
PCs but not for connecting SDR clients to digi mode software. I
had not realised that the rigctl protocol was considered internal
and entirely take you point that in that case it is my problem,
however it is a great protocol that does just what I need and the
creator is to be commended. I shall investigate other options for
network connection to Hamlib. The published api for spark is the
rigctl protocol :)
73 Alan M0NNB
On Wed, May 13, 2020 at 1:02 PM Bill Somerville
<g4...@classdesign.com <mailto:g4...@classdesign.com>> wrote:
On 13/05/2020 11:43, Alan Hopper wrote:
> Hi Bill,
> I'm the developer of SparkSDR, spark does indeed pretend to
be rigctld
> and is not the only one, QUISK also does the same thing. To
my mind It
> makes good sense to use a published proven network protocol
rather
> than invent yet another and then have to write further
software to use it.
>
> This is the log from spark which shows connection happens
but appears
> to be dropped and retried after a few messages. WSJTX is
actively
> sending the quit command, is there any debugging/logging I
can use in
> wsjtx to find out what it does not like?
Hi Alan,
I realize that other applications spoof a rigctld server, the
problem is
that AFAIK the Hamlib NET rigctl protocol is not published as
useable by
other applications. That in turn leads to this situation where an
internal Hamlib change to the protocol breaks other
applications. If
SparkSDR, and others, either emulated an existing rig or
preferably
contributed a driver to Hamlib for their application if it is not
possible to provide a complete enough emulation, then all that
would be
needed would be a serial port loopback like com0com to get
Hamlib rigctl
clients to talk to their software. IMHO that is the published
way to get
these things interoperating.
Having dug the whole that they have fallen into I believe it
is their
responsibility to look at the Hamlib change history to work
out how to
become compatible with Hamlib v4.
I can help with the immediate issue, the latest version of the
Hamlib
NET protocol is expecting a status reply from the quit (q)
command. I
believe it is expected that the server completes a graceful
shutdown of
that connection before returning an OK status. The key being
that the
server must be ready to re-establish an identical connection
immediately
after the quit status return with no race conditions. As to
why the
client is sending a quit (q) command I can't tell from your
example but
the error message in WSJT-X would probably make things clearer.
73
Bill
G4WJS.
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel