Keying CW using rigctl issue - WFview log shows "invalid character at position 3

Brief summary of problem: sendind keyboard cw from “QLog” inserts extra morse before before message. Characters before every cw message sent “End ? Morse ?”
Radio Model: Icom 705
Connectivity (USB/Ethernet/Wifi/Other): WiFi
Operating System: Linux LMDE
wfview version (press “About”): v2.24
Checked the wfview manual (Y/N): Y
Checked the wfview FAQ (Y/N): Y
Tried to google it (Y/N/NA): Y

What I did: Have contacted QLog developer and they have suggested issue with WFview. Ran rigctl Log session in WFview and it reports the following when sending keyboard cw from QLog when operating remote with WFview. QLog sends keyboard cw ok when connected via usb, as does WFview.

2026-08-23 16:58:07.016 WRN rig: Invalid character detected in CW message at position 3 , the character is ‘_’

Expected behavior: Keyboard did previous send ok before reinstalling WFview. I have another Linux LMDE laptop setup for remote operating with the same Icom705 which works correctly. The versions of the two laptops are different.

The working laptop has WFview v2.03 Build and Current Qt Version 5.15,15

The failing laptop has WFview v2.24 Build and Current Qt Version 5.15.3

Observed behavior: The bug results in all cw that is sent over WiFi via QLog starts with “End ? Morse ?” which is an embarrasing problem. Other modes such as FT8 work without issue, as do rig controls issued from WFview and QLog i.e. mode and frequency changes.

Hope you are able to diagnose.

73 Glen G0SBN

I suspect it is technically a wfview bug, but not sure why Qlog can’t just send a space character? I assume it replaces space with underscore for some reason which isn’t a valid CW character as far as Icom is concerned. I will look at this next time I do some work on rigctld.

Hello Phil

I’ll make the support team of QLog aware of your suggestion for padding with the space character. At first I thought the application had been hacked by someone anti CW :frowning: with it sending “End? Morse?”. Curious that it’s just started to appear with this combination of QLog/WFview, and only when over WiFi.

Thanks for looking at a fix.

73 Glen G0SBN

Hi

I raised the issue with the team at QLog and Lada kindly did a deep dive into the issue, which in the spirit of amateur radio sharing I’ve included below. These are the notes Lada posted on my ticket to help me understand the issue, and hopefully it helps others too.

From Lada: What I concluded from this is that different versions of wfview show different behavior. Given that similar issues have already occurred in wfview, as described here Send_morse rigctld works wrong , and that QLog uses the Hamlib library even for communication with rigctld, which means that QLog itself has no control over the commands sent to rigctl, I do not think there is anything I can do about this on the QLog side.

I checked the wfview source code and I think the problem is this. The bug is in the wfview rigctld command parser, not in QLog or Hamlib.

Hamlib sends the correct command:
\send_morse TEST MORSE MESSAGE

wfview first removes the leading backslash:

The command therefore becomes:
send_morse TEST MORSE MESSAGE

This string is then passed to getCommand() on line 537:

Later, on line 1026, getCommand() executes:
val.setValue(fullcmd.remove(0,1));

This removes only the first character s, instead of removing the whole send_morse command. The resulting CW text is therefore:
end_morse TEST MORSE MESSAGE

In src/radio/icomcommander.cpp, lines 2979–2980, the underscore is detected as an invalid CW character and replaced with ?:

Finally, the radio receives:
end?morse TEST MORSE MESSAGE

The same issue was reported: rigctld: sending cw seems broken · Issue #136 · wf-group/wfview · GitHub

The issue is closed, but the incorrect code is still present in the current master branch.

1 Like

That is quite possible, we have completely rewritten the parser for the upcoming v3 as we know it was quite brittle in the current code. It will be a while before this is ready for general release though.

Phil

Is there a download from the Wfview website of an appimage, deb, or code to build Wfview v2.03, as that version is working ok on my older laptop with LMDE / Qlog installed. I would like to get this working again rather than not on my POTA laptop.

I can see links to 2.03 for Windows and Mac versions on the website, but not for Debian.

Regards

Glen G0SBN

Sure, go to the Downloads page on wfview, and scroll down to “Older versions may be found here”.

It may be difficult for us to support users using these older versions though.

Re: your bug, thank you for sending us such a detailed report.

–E
de W6EL

Hello Elliot

Thanks for your reply. I had already checked the old downloads and the version I was after isn’t available. I’ve wiped my laptop and done a fresh install of LMDE and 2.03 appears in the LMDE software repository. Having installed 2.03 and QLog (I also upgraded to the most recent release of QLog and WSJTx) and everything is working again, including CW. I upgraded again to the most recent version and the CW issue reappeared.

I’ve rebuilt again back to wfview 2.03 and everything is working ok. We have a saying up hear in the NE of England “don’t fix what’s not broke”…

Thank you everyone for your replies and assistance, we have a work-around. Hopefully this may help others in the interim sending CW using wfview and the Icom 705 over wifi.

73 Glen G0SBN