With normal KISS the frack timer has to be started when a frame is sent to the TNC, as the TNC doesn’t notify the node when the frame has been sent.
A long time (probably about 30 years) ago G8BPQ added a feature called
ACKMODE to his KISS EEPROM images to resolve this issue.
ACKMODE enabled, the TNC sends a notification when it has sent the frame so the FRACK timer can then be started. Kantronics added this (and a couple of G8BPQ’s other features) to their KISS mode and called it
ACKMODE is implemented in a few other TNC’s (UZ7HO’s Soundmodem/QtSoundModem and G8BPQ’s KISS ROM image for the Teensy), but it isn’t (yet) included in DireWolf.
There was a patch created by G8BPQ for Direwolf to add
ACKMODE, but as QtSoundModem is now available for Linux it is recommend using that instead of Direwolf.
If using the AGWPE interface, the timing is done within the TNC.
If using ordinary KISS then
FRACK has to be at least long enough to transmit a window of frames, plus reasonable turn-round time, which will depend on
MAXFRAME, but will be quite a long time.
FRACK is dynamic in some modes, but not ax.25 with KISS. Although it doesn’t have to be,
FRACK is normally used as both the retry interval for connect requests and the response timer when connected.
RIGCONTROL, and the dwell time is shorter than
FRACK then you may well not receive a connect request while you are on frequency. If you are scanning it is suggested you do not use normal KISS – use either KISS with
OPTIONS=ACKMODE or the AGWPE interface.
The bulk of information here has been compiled from several posts by G8BPQ.
ACKMODE and Direwolf
I asked the community group whether the
ACKMODE patch had been submitted to the Direwolf developer and had a reply from Steve G7TAJ about the situation. Edited somewhat for readability.
The author of Direwolf has declined the patch written by G8BPQ. The developer did not see the point in adding this, as connected-mode packet is not the intended use for Direwolf.
John’s patch works very well and I used it until I switched to piQtSM. It was however for Direwolf v1.5 (IIRC), though I did merge the changes to v1.6 and that worked too.
Regarding the code changes, one thing that was done was the internal state engine of Direwolf was bypassed to get
ACKMODEworking. This did not stop anything working that I saw, but may have affected other areas of Direwolf that are not used in regular packet.
For anyone looking to use a Linux modem for HF, the best modem to use is QtSoundModem (or piQtSoundModem for ARM), with the AGWPE interface protocol and not KISS.Steve G7TAJ