I use SparkSDR with my Hermes Lite 2 SDR. Spark SDR uses RigCtld for CAT communication, so it was great to hear that VarAC now can also use RigCtld. Unfortunately I cannot get it to work.
The local host and port are set correctly in VarAC (I know this as I get no error when testing. If the port is changed then an error is displayed in VarAC). The log files in SparkSDR show that VarAC is connecting and disconnecting but no commands are received by SparkSDR.
I also get unhandled exceptions when opening VarAC. Deleting the .ini file enables the program to run again, but then all details have to be re-entered. This has happened multiple times.
Here is an extract from the .ini file showing the settings. This .ini file has something that causes the unhandled exception issue.
[DEBUG]
DebugMode=ON
[RIG_COM_CONFIGS]
ControlMethod=COMPORT
TCPHost=127.0.0.1
TCPPort=60000
ComPort=COM5
BaudRate=9600
DataBits=8
StopBits=1
Parity=None
DTR=L
RTS=L
PortWaitTimeMs=100
RigPTT=Kenwood TS-2000
RigFreqControl=Kenwood TS-2000
[RIG_CONTROL]
RigPTTControlType=HAMLIB-RIGCTLD
RigFreqControlType=HAMLIB-RIGCTLD
RigCatFreqRead=ON
RigCatFreqReadIntervalSeconds=2
SafetyPTTOffEveryMinute=OFF
PTTDisableAfterFreqChangeSeconds=0
FrequencyOffsetHZ=0
ActiveAntennaTunerFreqChange=OFF
UsbMode=USB-D
FrequencySchedule=OFF
FrequencyScheduleCustomFilePath=
FrequencyListCustomFilePath=
LastFrequency=14.105.000
LastFrequencyLoadUponStartup=OFF
[RIG_OMNIRIG_CONFIG]
Rig=1
VFO=A+B
[RIG_FLRIG_CONFIG]
FlrigHost=localhost
FlrigPort=12345
[RIG_HAMLIB_CONFIG]
HamlibRigctldHost=localhost
HamlibRigctldPort=51111
Has anyone else tried using RigCtld with VarAC and suceeded? What is causing the unhandled exceptions?
Thanks
Dave M0WID
Many thanks Arnd for your detective work! Fantastic!, and thanks to Irad for hopefully fixing it.
I have sent an email to request the test version.
Dave M0WID
Hello Irad and Dave,
I hope it is ok to chime in.
I'm running SparkSDR on a M1 Mac Mini connecting to a Hermes Lite 2 transceiver as well as VarAC using Wine. I've been able for some time to use this combination by using rigctld in between as the direct connection between VarAC and SparkSDR did not work.
Today I did some additional research into the problem. As the logs (SparkSDR and VarAC) did not provide any clues, I captured the network traffic between VarAC and SparkSDR on the rigctrl port:
VarAC sends hamlib/rigctrl commands terminated with '0d'x (ie. CR), but SparkSDR expects commands terminated with '0a'x (ie. NL). The rigctld man page (https://manpages.org/rigctld/8) states: "Each line is terminated with a newline '\n' character.".
Wireshark output when pressing "TUNE" in VarAC:
Data: 5420310d (ie. "T 1" terminated with CR)
So the root cause of the problem of CAT communication between VarAC and SparkSDR is, that VarAC is terminating commands with the wrong termination character.
It seems, that some implementations (like rigctld itself) also accept an incorrect termination character, but SparkSDR seems to stick to the formal protocol specification.
Vy 73, Arnd DJ9PZ/AB2QP
I would need to see the expectation that you got. Please copy paste it here.
To test RLGCTLD - put VarAC into debug mode and do some commands such as setting frequency using the drop down. Share the Debuglog data here please. Enable debug in the settings --> Misc