As far as I can remember, rig control in CQRLOG always worked in one direction in my case, ie. fetching data from transceiver worked fine, and setting transceiver from cqrlog always failed. Even more, when it fails, fetching also works no more.
Now I turned on the Debug of cqrlog and found out, that the rig control thread is terminated after hamlib cannot perform set_mode. The question is what to do and where to fix it. Here is what I see:
for my transceiver (model 323 in hamlib) get_mode returns two parameters (mode and filter setting), and set_mode REQUIRES two parameters when called. I noticed that the second one, ie. filter bandwidth, is not that critical and may be set to 0, but it MUST be present, otherwise set_mode call will fail. For example when I call `rigctl ..... set_mode USB` I get:
Invalid arg for command 'set_mode'
...but when I call `rigctl ..... set_mode USB 0` it switches the transceiver to USB with wide filter setting amd it's all right.
This issue causes CQRLOG, which apparently gives only one argument to this call, to see that the call has failed and terminate the entire rig control thread.
Not knowing the internal design of cqrlog I will not suggest what to fix, but I belive that this may be fixed simply and I really hope that I will be able to use rig control from cqrlog any time soon.