Locked com0com serial connectivity issue #Elecraft #Cat_RigControl


Brian Kuebert NZ4N
 

I'm running a Win 11 PC and Elecraft K4 and updating some of my config so want to connect via a com0com virtual null modem to win4k4suite - this setup is new to me and I'm having some trouble. I've had two other configs working properly in the past (connecting via DX Commander, connecting to one of the USB-to-serial ports directly on the rig), and have pretty good confidence win4k4suite & com0com are working fine as several other applications use this combo correctly (dx commander, n1mm+, cw skimmer). Although the end result is the same (wsjt-x cannot connect to the radio and I get the Rig Control Error dialog), the details I get with 2.5.4 and 2.6.0-rc3 are slightly different (maybe 2.6.0-rc5 just has more detail?). I've got Elecraft K4 selected as the rig and the com0com virtual serial port configured as the Serial Port (I have several pairs setup - all produce the same error, even if I delete all others so only the one for wsjt-x is present). This is what I'm seeing with 2.5.4:

Hamlib error: Communication timed out
serial.c(884):ser_close return(0)
iofunc.c(361):port_close return(0)
rig.c(1083):rig_open return(-5) Communication timed out
serial.c(884):ser_close return(0)
iofunc.c(361):port_close return(0)
iofunc.c(361):port_close return(0) while opening connection to rig

And this is what I'm seeing on 2.6.0-rc5:

Hamlib error: rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1, expected_len=1
write_block(): TX 3 bytes, method=2
0000 4b 32 3b K2;
read_string_generic called, rxmax=128 direct=1, expected_len=1
read_string_generic(): Timed out 1.293 seconds after 0 chars, direct=1
kenwood_transaction: read_string(expected=128, len=0)=''
kenwood_transaction: read_string retval < 0, retval = -5, retry_read=1, rs->rigport.retry=1
kenwood.c(613):kenwood_transaction returning2(-5) Communication timed out

kenwood.c(664):kenwood_safe_transaction returning2(-5) Communication timed out

elecraft_get_extension_level: Cannot get K2|K3 ID
2:rig.c(7261):async_data_handler_stop entered
2:rig.c(7291):async_data_handler_stop returning(0)
ser_close: restoring options
1:rig.c(1263):rig_open returning(-5) Communication timed out

Communication timed out
Communication timed out
while opening connection to rig

Any ideas on how to debug this further to figure out what's happening here to fix it?

73,
Brian NZ4N


Mike Black
 

Most likely reason is baud rate mismatch.

Mike W9MDB

On Saturday, December 3, 2022 at 11:40:46 PM CST, Brian Kuebert NZ4N <brian@...> wrote:





I'm running a Win 11 PC and Elecraft K4 and updating some of my config so want to connect via a com0com virtual null modem to win4k4suite - this setup is new to me and I'm having some trouble.  I've had two other configs working properly in the past (connecting via DX Commander, connecting to one of the USB-to-serial ports directly on the rig), and have pretty good confidence win4k4suite & com0com are working fine as several other applications use this combo correctly (dx commander, n1mm+, cw skimmer).  Although the end result is the same (wsjt-x cannot connect to the radio and I get the Rig Control Error dialog), the details I get with 2.5.4 and 2.6.0-rc3 are slightly different (maybe 2.6.0-rc5 just has more detail?).  I've got Elecraft K4 selected as the rig and the com0com virtual serial port configured as the Serial Port (I have several pairs setup - all produce the same error, even if I delete all others so only the one for wsjt-x is present).  This is what I'm seeing with 2.5.4:

Hamlib error: Communication timed out
serial.c(884):ser_close return(0)
iofunc.c(361):port_close return(0)
rig.c(1083):rig_open return(-5) Communication timed out
serial.c(884):ser_close return(0)
iofunc.c(361):port_close return(0)
iofunc.c(361):port_close return(0)  while opening connection to rig

And this is what I'm seeing on 2.6.0-rc5:

Hamlib error: rig_flush: called for serial device
read_string_generic called, rxmax=4095 direct=1, expected_len=1
write_block(): TX 3 bytes, method=2
0000    4b 32 3b                                            K2;           
read_string_generic called, rxmax=128 direct=1, expected_len=1
read_string_generic(): Timed out 1.293 seconds after 0 chars, direct=1
kenwood_transaction: read_string(expected=128, len=0)=''
kenwood_transaction: read_string retval < 0, retval = -5, retry_read=1, rs->rigport.retry=1
kenwood.c(613):kenwood_transaction returning2(-5) Communication timed out

kenwood.c(664):kenwood_safe_transaction returning2(-5) Communication timed out

elecraft_get_extension_level: Cannot get K2|K3 ID
  2:rig.c(7261):async_data_handler_stop entered
  2:rig.c(7291):async_data_handler_stop returning(0)
ser_close: restoring options
1:rig.c(1263):rig_open returning(-5) Communication timed out

Communication timed out
Communication timed out
while opening connection to rig

Any ideas on how to debug this further to figure out what's happening here to fix it?

73,
Brian NZ4N


t402 owner <t402_owner@...>
 

I had similar issues CATing the G90 straight off wsjtx. The workaround was to use flrig in between. Job done.
My 2p
73
Fernando
EA3ING


Mike Black
 

Could you please test the G90 direct from WSJT-X with this dll?

https://www.dropbox.com/s/snmkzu8eif89yqs/libhamlib-4.dll?dl=0

Made some updates for the G90 recently. If it doesn't work I'd like to debug this and get it fixed.

Mike W9MDB

On Sunday, December 4, 2022 at 06:46:08 AM CST, t402 owner via groups.io <t402_owner@...> wrote:





I had similar issues CATing the G90 straight off wsjtx. The workaround was to use flrig in between. Job done.
My 2p
73
Fernando
EA3ING


Brian Kuebert NZ4N
 

Yep confirmed baud rate matches (but thanks for the idea!). Using DX Labs in between works OK but not the preferred solution since I have some macros that execute on QSYs that do things like setting filters that don't work well for digital so really hope to get the direct control working. Any other ideas much appreciated!

73,
Brian NZ4N


G4SDG
 

I had similar issues and it was because I had another instance of WSJT-X running on the PC.