I did some testing with a friend of mine PD2NLX. We have tested the (new) FX.25 protocol (32 and 16 Bytes) This is AX25 with forward error correction. Now the distance between us is quite short, about 5 kilometers. We have discovered that the 16 bytes check at a short distance works better.
First I have installed the “dev” release of Direwolf.
git clone https://github.com/wb2osz/direwolf.git cd direwolf git branch -r git checkout dev mkdir build && cd build cmake .. make -j4 sudo make install make install-conf
My direwolf.start file look like this
#Start direwolf with -X (16, 32, 64) option to enable FX.25 tx. Number (16, 32, 64) means bytes to check direwolf -X 16 -d x -t 0 -c /home/pd9q/jnos/direwolf.conf -l /home/pd9q/jnos/logs/direwolf >/dev/tty3
I have add the start option “-d x” Let’s take a look at what that looks like.
FX.25: Matched correlation tag 0x05 with 6 bit errors. Expecting 223 data & 32 check bytes. FX.25: Matched correlation tag 0x05 with 0 bit errors. Expecting 223 data & 32 check bytes. FX.25: Matched correlation tag 0x05 with 0 bit errors. Expecting 223 data & 32 check bytes. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete, fixed 13 errors in byte positions: 11 19 65 73 74 92 116 117 132 138 143 144 192 FX.25: Matched correlation tag 0x06 with 1 bit errors. Expecting 128 data & 32 check bytes. FX.25: Matched correlation tag 0x06 with 1 bit errors. Expecting 128 data & 32 check bytes. FX.25: Matched correlation tag 0x06 with 1 bit errors. Expecting 128 data & 32 check bytes. FX.25: Matched correlation tag 0x06 with 1 bit errors. Expecting 128 data & 32 check bytes. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete, fixed 1 errors in byte positions: 97 FX.25: Matched correlation tag 0x04 with 0 bit errors. Expecting 32 data & 16 check bytes. FX.25: Matched correlation tag 0x04 with 0 bit errors. Expecting 32 data & 16 check bytes. FX.25: Matched correlation tag 0x04 with 0 bit errors. Expecting 32 data & 16 check bytes. FX.25: Matched correlation tag 0x04 with 0 bit errors. Expecting 32 data & 16 check bytes. FX.25: FEC complete, fixed 1 errors in byte positions: 248 FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: Matched correlation tag 0x01 with 0 bit errors. Expecting 239 data & 16 check bytes. FX.25: Matched correlation tag 0x01 with 0 bit errors. Expecting 239 data & 16 check bytes. FX.25: Matched correlation tag 0x01 with 0 bit errors. Expecting 239 data & 16 check bytes. FX.25: Matched correlation tag 0x01 with 0 bit errors. Expecting 239 data & 16 check bytes. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors. FX.25: FEC complete with no errors.
It has, of course, been developed to work over large distances and thus achieve a reasonably reliable connection. But it works surprisingly well.