Description
I setup Direwolf as the TNC for Winlink (RMSExpress), replacing Soundmodem. I used the default configuration of Direwolf, other than changing MYCALL and properly setting the ports for transmit and receive audio. When Winlink tries to connect, it sends a series of KISS commands to Direwolf and all is well until...
Connected to KISS client application ...
KISS protocol set Persistence = 160, port 0
KISS protocol set SlotTime = 30 (*10mS units = 300 mS), port 0
KISS protocol set TXDELAY = 40 (*10mS units = 400 mS), port 0
KISS protocol set FullDuplex = 0, port 0
KISS Invalid command 12<<< Invalid 12 from KISS client application, port 0, total length = 18
000: 0c 04 dd 96 8c 6e 98 94 90 f4 96 6e ae b0 ae 40 .....n.....n...@
010: 61 3f a?
Winlink is sending a command related to ACK mode operation, which Direwolf does not support. In fact, if Winlink's "Packet TNC Model" setting is set to NORMAL, this error doesn't occur.
But I think this reveals a bug in Direwolf's KISS implementation. The only valid KISS commands are 0 through 6 and FF. Properly implemented KISS TNCs should ignore other command numbers completely, not mark them as invalid, or drop the connection to the client.