Larry D - 2025-06-08

Hi guys,
I posted this topic a few weeks ago on the WSJT-X forum (groups.io) and waited, and waited. Not a single reply..
I definitely miss Mike!
Anyway, here it is. Thanks in advance!
Larry N8KU


Here is my setup:

hardware - IC-7410 - Dell desktop computer/i5-14600/32GB - Hamplus AS-603A "automatic" antenna switch
software - Windows 11 24H2/completely up to date - WSJT-X 2.7 - JTAlert 2.80.4 - Log4OM 2.36.1
CP210x Universal UART driver 11.4 - Hamlib 4.6.2 - Open SSL 3.5.0 (I use WSJT-X only for FT8)

hamlib rig ID #3067

All this (except the AS603A) was working beautifully for years (with much older versions of hamlib and UART driver) until I recently added the antenna switch. By the way, the switch cable is connected ONLY to the radio, using both the "accessory" socket and the "remote" jack. (The cable has two connectors on one end. This is the correct method per Hamplus.) The computer is of course connected to the radio via USB.

So it all works, sort of. I started getting Hamlib errors from WSJT-X. After a lot of fussing with "radio" settings, on both the rig itself and WSJT-X, and eliminating the secondary software (JTAlert & Log4OM) I am still stuck. It will throw these errors anywhere from minutes to hours after starting up WSJT-X. It will do this regardless of whether JTAlert or Log4OM are running, and is unrelated to the steps of completing QSOs. It typically errors out when I am not even near the rig, during receive.

I got a response from the Hamplus guys in Brazil, they basically said "sorry, our product only 'listens' - it would not be trying to send anything to the rig" - which was actually very useful info.

When I try to research the "correct" settings within WSJT-X for the Icom 7410, the posts I have found are all over the map. After many days of trying all possible combinations, here is what I have settled on for now:

19200 baud
Data bits "Default"
Stop bits "Default"
Handshake "None"
Poll interval 1s
PTT Method "CAT"
Mode "Data/Pkt"
Split Operation "Fake It"

Note that the "Test CAT" and "Test PTT" both work. A slightly related problem is that the "Update Hamlib" button has NEVER worked, no matter what - that results in "Error Loading libhamlib-4.dll - TLS initialization failed" I updated to latest hamlib by copying the .dll over to WSJT-X manually.

items tried with no success:
tried different USB port on computer for rig
replaced the USB cable
set Data & Stop to 8 & 1
44/CI-V transceive back to "on"
handshake to none
bits to 8/1
CAT PTT port to COM3
manually update hamlib & openSSL again

example errors
Hamlib error: read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 13 characters, direct=1
0000 fe fe e0 80 03 00 30 31 fe 00 e0 03 fd ......01.....
icom_one_transaction: frm_len=13, frm_len-1=fd, frm_len-2=03
*4:frame.c(503):icom_one_transaction returning(0)
3:frame.c(556):icom_transaction returning(0)
icom.c(1852) trace
set_vfo_curr: vfo=VFOA, curr_vfo=VFOA
set_vfo_curr: curr_vfo now=VFOA
icom.c(9662):set_vfo_curr returning2(0)
icom_get_freq: wrong frame len=7
rig_get_freq(2594): freqMainA=50313000, modeMainA=PKTUSB, widthMainA=3400
rig_get_freq(2594): freqMainB=50012431, modeMainB=PKTUSB, widthMainB=3400
rig_set_cache_freq(171): vfo=VFOA, current_vfo=VFOA
rig_get_band called
2:rig_get_freq: elapsed=41ms
**2:rig.c(2711):rig_get_freq returning(-11) Feature not available

Feature not available
Feature not available
while getting current VFO frequency


Hamlib error: from_bcd called
*7:event.c(615):rig_fire_freq_event entered
Event: freq changed to 163 Hz on currVFO
rig_set_cache_freq(171): vfo=currVFO, current_vfo=VFOA
*7:event.c(649):rig_fire_freq_event returning(0)
**6:icom.c(9246):icom_process_async_frame returning(0)
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 11 characters, direct=1
0000 fe fe e0 80 03 00 30 31 50 00 fd ......01P..
icom_one_transaction: frm_len=11, frm_len-1=fd, frm_len-2=00
5:frame.c(503):icom_one_transaction returning(0)
4:frame.c(556):icom_transaction returning(0)
icom_get_ptt: wrong frame len=4
**3:icom.c(5435):icom_get_ptt returning(-9) Command rejected by the rig

2:rig_get_ptt: elapsed=26ms
2:rig.c(3947):rig_get_ptt returning(-9) Command rejected by the rig

Command rejected by the rig
Command rejected by the rig
while getting PTT state

Timestamp: 2025-06-06T17:17:55.473Z


Hamlib error: read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 16 characters, direct=1
0000 fe fe e0 80 03 00 30 31 50 00 3d fe 00 e0 03 fd ......01P.=.....
icom_one_transaction: frm_len=16, frm_len-1=fd, frm_len-2=03
*4:frame.c(503):icom_one_transaction returning(0)
3:frame.c(556):icom_transaction returning(0)
icom.c(1852) trace
set_vfo_curr: vfo=VFOA, curr_vfo=VFOA
set_vfo_curr: curr_vfo now=VFOA
icom.c(9662):set_vfo_curr returning2(0)
icom_get_freq: wrong frame len=10
rig_get_freq(2594): freqMainA=50313000, modeMainA=PKTUSB, widthMainA=3400
rig_get_freq(2594): freqMainB=50012431, modeMainB=PKTUSB, widthMainB=3400
rig_set_cache_freq(171): vfo=VFOA, current_vfo=VFOA
rig_get_band called
2:rig_get_freq: elapsed=32ms
**2:rig.c(2711):rig_get_freq returning(-11) Feature not available

Feature not available
Feature not available
while getting current VFO frequency

Timestamp: 2025-06-06T20:07:45.663Z


Hamlib error: write_block(): TX 7 bytes
0000 fe fe 80 e0 1c 00 fd .......
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 7 characters, direct=1
0000 fe fe 80 e0 1c 00 fd .......
icom_one_transaction: DEBUG retval=7, frm_len=7, cmd=0x1c
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 13 characters, direct=1
0000 fe fe e0 80 1c 00 00 e5 fe 00 e0 03 fd .............
icom_one_transaction: frm_len=13, frm_len-1=fd, frm_len-2=03
*5:frame.c(503):icom_one_transaction returning(0)
4:frame.c(556):icom_transaction returning(0)
icom_get_ptt: wrong frame len=6
*3:icom.c(5435):icom_get_ptt returning(-9) Command rejected by the rig

2:rig_get_ptt: elapsed=25ms
2:rig.c(3947):rig_get_ptt returning(-9) Command rejected by the rig

Command rejected by the rig
Command rejected by the rig
while getting PTT state

Timestamp: 2025-06-06T22:36:41.717Z


Hamlib error: read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 9 characters, direct=1
0000 fe fe e0 80 03 00 e0 03 fd .........
icom_one_transaction: frm_len=9, frm_len-1=fd, frm_len-2=03
*4:frame.c(503):icom_one_transaction returning(0)
3:frame.c(556):icom_transaction returning(0)
icom.c(1852) trace
set_vfo_curr: vfo=VFOA, curr_vfo=VFOA
set_vfo_curr: curr_vfo now=VFOA
icom.c(9662):set_vfo_curr returning2(0)
icom_get_freq: wrong frame len=3
rig_get_freq(2594): freqMainA=50313000, modeMainA=PKTUSB, widthMainA=3400
rig_get_freq(2594): freqMainB=50012431, modeMainB=PKTUSB, widthMainB=3400
rig_set_cache_freq(171): vfo=VFOA, current_vfo=VFOA
rig_get_band called
2:rig_get_freq: elapsed=32ms
**2:rig.c(2711):rig_get_freq returning(-11) Feature not available

Feature not available
Feature not available
while getting current VFO frequency

Timestamp: 2025-06-07T01:23:17.894Z

--- new hamlib installed

Hamlib error: from_bcd called
*7:event.c(615):rig_fire_freq_event entered
Event: freq changed to 163 Hz on currVFO
rig_set_cache_freq(171): vfo=currVFO, current_vfo=VFOA
*7:event.c(649):rig_fire_freq_event returning(0)
**6:icom.c(9246):icom_process_async_frame returning(0)
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 11 characters, direct=1
0000 fe fe e0 80 03 00 40 07 07 00 fd ......@....
icom_one_transaction: frm_len=11, frm_len-1=fd, frm_len-2=00
5:frame.c(503):icom_one_transaction returning(0)
4:frame.c(556):icom_transaction returning(0)
icom_get_ptt: wrong frame len=4
**3:icom.c(5435):icom_get_ptt returning(-9) Command rejected by the rig

2:rig_get_ptt: elapsed=28ms
2:rig.c(3950):rig_get_ptt returning(-9) Command rejected by the rig

Command rejected by the rig
Command rejected by the rig
while getting PTT state

Timestamp: 2025-06-07T09:33:30.422Z


Hamlib error: *5:frame.c(145):icom_one_transaction entered
write_block(): TX 7 bytes
0000 fe fe 80 e0 1c 00 fd .......
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 7 characters, direct=1
0000 fe fe 80 e0 1c 00 fd .......
read_string_generic called, rxmax=200 direct=1, expected_len=1
read_string_generic(): RX 10 characters, direct=1
0000 fe fe e0 80 1c 00 00 e0 03 fd ..........
icom_one_transaction: frm_len=10, frm_len-1=fd, frm_len-2=03
5:frame.c(503):icom_one_transaction returning(0)
4:frame.c(556):icom_transaction returning(0)
icom_get_ptt: wrong frame len=3
**3:icom.c(5435):icom_get_ptt returning(-9) Command rejected by the rig

2:rig_get_ptt: elapsed=23ms
2:rig.c(3950):rig_get_ptt returning(-9) Command rejected by the rig

Command rejected by the rig
Command rejected by the rig
while getting PTT state

Timestamp: 2025-06-07T20:46:33.622Z