Open larsks opened 8 months ago
Thank you for reporting issues encountered. There is a lot to digest here.
This is trying to connect with AX.25 version 2.2 (SABME).
Attempting connect to KZ2X-1 ... [0L] N1LKS>KZ2X-1:(SABME cmd, p=1)
This is a really bad case of audio cross talk. The transmitted signal is being received. It is visually confusing but should not hurt. Direwolf release 1.7 avoids this.
N1LKS audio level = 35(21/19) 334__ [0.1] N1LKS>KZ2X-1:(SABME cmd, p=1)
Connection is successful. What AX.25 implementation is used at KZ2X-1?
KZ2X-1 audio level = 103(45/41) 0000001__ [0.3] KZ2X-1>N1LKS:(UA res, f=1) Stream 14: Connected to KZ2X-1. (v2.2)
We get a greeting from the system.
KZ2X-1 audio level = 104(43/41) 0000000__ [0.3] KZ2X-1>N1LKS:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)CONNECTED TO KZ2X TIP #1 ON AX.25 FROM N1LKS<0x0d><0x0d>TYPE 'HOSTS' FOR HOSTS, 'EXIT' TO LOGOUT, 'HELP' FOR HELP<0x0d>TYPE 'CONNECT HOSTNAME' TO CONNECT TO A HOST<0x0d><0x0d>Pad><0x20>
Here we are sending the XID command to negotiate parameters such as packet data size, window size, whether SREJ is available, and so on. A v 2.2 implementation should be able to process this.
[0L] N1LKS>KZ2X-1:(XID cmd, p=1) Half-Duplex REJ SREJ Multi-SREJ modulo-128 I-Field-Length-Rx=256 Window-Size-Rx=32 Ack-Timer=3000 Retries=10
This makes absolutely no sense at all. Why are we shutting down the connection?
[0L] N1LKS>KZ2X-1:(DM res, f=1) [0L] N1LKS>KZ2X-1:(DM res, f=1)
To be continued...
I'm not sure what kz2x-1 is using (I'll ask), but the Brock digipeater looks like a kantronics of some sort.
Third example. AX.25 v2.0 was forced and we use SABM rather than SABME. Everything seems to be going fine.
Attempting connect to BROCK ... [0L] N1LKS>BROCK:(SABM cmd, p=1) N1LKS audio level = 35(18/17) _2___ [0.1] N1LKS>BROCK:(SABM cmd, p=1) BROCK audio level = 98(44/39) [NONE] ||||||| [0.3] BROCK>N1LKS:(UA res, f=1) Stream 1: Connected to BROCK. (v2.0) BROCK audio level = 99(45/40) [NONE] _|||||| [0.3] BROCK>N1LKS:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)###CONNECTED TO NODE BROCK(W1MV-7) CHANNEL A<0x0d>Welcome to BROCK (W1MV-7) in Brockton, Mass<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
At this point, we should send an RR to ack the information frame. Why are we sending disconnect (DM) ? That makes no sense.
[0L] N1LKS>BROCK:(DM res, f=1) [0L] N1LKS>BROCK:(DM res, f=1) [0L] N1LKS>BROCK:(RR res, n(r)=1, f=0)
Could you try a different terminal app such as UZ7HO EasyTerm or QTterm - forget the exact name. Those two are known to work.
To be continued.
I live on Stedman St which crosses the Lowell/Chelmsford boundary. Do you have any connection to the street name?
Sending two DM packets after receiving an "I" from makes to sense. After that, it looks pretty normal with the RR and you sending some commands to the BBS. First, I would really recommend using release 1.7 because some connected mode bugs have been fixed in the past 3 years. To gain more information, could you add "-d a" to the direwolf command line to list the communication with the client app? It might also be useful to enable timestamps with "-T %H:%M:%S"
First, I would really recommend using release 1.7
I am using release 1.7.
To gain more information, could you add "-d a" to the direwolf command line to list the communication with the client app?
Sure, I'll do that. I'll try to gather those logs later this evening (or tomorrow if that doesn't work out).
I live on Stedman St which crosses the Lowell/Chelmsford boundary. Do you have any connection to the street name?
Not as far as I know!
To add to the confusion, here's easyterm failing to connect to BROCK:
Attempting connect to BROCK ...
[0L] N1LKS>BROCK:(SABME cmd, p=1)
[0.2] BROCK>N1LKS:(DM res, f=1)
BROCK doesn't understand AX.25 v2.2. Trying v2.0 ...
[0L] N1LKS>BROCK:(SABM cmd, p=1)
[0.2] BROCK>N1LKS:(UA res, f=1)
Stream 10: Connected to BROCK. (v2.0)
[0.3] BROCK>N1LKS:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)###CONNECTED TO NODE BROCK(W1MV-7) CHANNEL A<0x0d>Welcome to BROCK (W1MV-7) in Brockton, Mass<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
[0L] N1LKS>BROCK:(DM res, f=1)
[0L] N1LKS>BROCK:(DM res, f=1)
[0L] N1LKS>BROCK:(RR res, n(r)=1, f=0)
[0L] N1LKS>BROCK:(I cmd, n(s)=0, n(r)=1, p=0, pid=0xf0)help<0x0d>
[0L] N1LKS>BROCK:(RR cmd, n(r)=1, p=1)
[0.3] BROCK>N1LKS:(DM res, f=1)
Stream 10: Disconnected from BROCK.
And then here's the exact same connection working using qttermtcp:
Attempting connect to BROCK ...
[0L] N1LKS-14>BROCK:(SABME cmd, p=1)
[0.3] BROCK>N1LKS-14:(DM res, f=1)
BROCK doesn't understand AX.25 v2.2. Trying v2.0 ...
[0L] N1LKS-14>BROCK:(SABM cmd, p=1)
[0.3] BROCK>N1LKS-14:(UA res, f=1)
Stream 9: Connected to BROCK. (v2.0)
[0.3] BROCK>N1LKS-14:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)###CONNECTED TO NODE BROCK(W1MV-7) CHANNEL A<0x0d>Welcome to BROCK (W1MV-7) in Brockton, Mass<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
[0L] N1LKS-14>BROCK:(RR res, n(r)=1, f=0)
[0L] N1LKS-14>BROCK:(I cmd, n(s)=0, n(r)=1, p=0, pid=0xf0)help<0x0d>
[0.3] BROCK>N1LKS-14:(I cmd, n(s)=1, n(r)=1, p=0, pid=0xf0)ABORT STOP A CONNECTION IN PROGRESS<0x0d>B(ye) NODE WILL DISCONNECT<0x0d>C(onnect) call CONNECT TO callsign<0x0d>C call S(tay) STAY CONNECTED TO NODE WHEN END DISCONNECTS<0x0d>J(heard) CALLSIGNS WITH DAYSTAMP<0x0d>J S(hort) HEARD CALLSIGNS ONLY
[0.3] BROCK>N1LKS-14:(I cmd, n(s)=2, n(r)=1, p=0, pid=0xf0)<0x0d>J L(ong) CALLSIGNS WITH DAYSTAMP AND VIAS<0x0d>N(odes) HEARD NODE CALLSIGNS WITH DAYSTAMP<0x0d>N S(hort) NODE CALLSIGNS ONLY<0x0d>N L(ong) NODE CALLSIGNS WITH DAYSTAMP AND VIAS<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
[0L] N1LKS-14>BROCK:(RR res, n(r)=3, f=0)
[0L] N1LKS-14>BROCK:(I cmd, n(s)=1, n(r)=3, p=0, pid=0xf0)b<0x0d>
[0.3] BROCK>N1LKS-14:(RR res, n(r)=2, f=0)
[0.3] BROCK>N1LKS-14:(DISC cmd, p=1)
Stream 9: Disconnected from BROCK.
This seems repeatable (qttermtcp connects successfully when both easyterm and agwterm will not). In all cases, I'm running the clients on the same system and they are connecting to the same Direwolf instance (running on a raspberry pi).
In both cases, the client is configured with a paclen of 128. My direwolf.conf
looks like:
ADEVICE sysdefault:CARD=radio
ARATE 48000
ACHANNELS 1
MYCALL N1LKS
MODEM 1200
CHANNEL 0
PTT /dev/radio RTS
AGWPORT 8000
KISSPORT 8001
The really confusing thing is that later in the evening (i.e., now), the connection is suddenly working correctly with both agwterm and easterm.
Capturing the trace was tricky because the behavior is inconsistent -- at times the connections Just Work, but then something happens and they reliably don't work. I thought that maybe some internal state in Direwolf was getting corrupt, but simply restarting Direwolf does not resolve the problem. Connections via the Linux ax.25 stack (e.g. using axcall
) seem to work reliably, regardless of whether or not AGW applications can successfully connect.
There are two traces here.
First, here's a trace with -d a
enabled that shows a failure connecting with agwterm
.
<<< Connect, Start an AX.25 Connection from AGWPE client application 0, total length = 36
portx = 0, datakind = 'C', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 0, user_reserved = 20728320, data =
Attempting connect to BROCK ...
[0L] N1LKS>BROCK:(SABME cmd, p=1)
>>> Monitoring Own Information to AGWPE client application 0, total length = 81
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 45, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 53 41 42 4d 45 20 50 3d 31 20 ROCK <SABME P=1
020: 3e 5b 32 30 3a 35 32 3a 30 32 5d 0d 00 >[20:52:02]..
BROCK audio level = 113(24/22) _|||||___
Audio input level is too high. Reduce so most stations are around 50.
[0.3] BROCK>N1LKS:(DM res, f=1)
>>> Monitored Supervisory Information to AGWPE client application 0, total length = 78
portx = 0, datakind = 'S', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 42, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 20 3c 44 4d 20 46 3d 31 20 3e 5b 32 1LKS <DM F=1 >[2
020: 30 3a 35 32 3a 30 33 5d 0d 00 0:52:03]..
BROCK doesn't understand AX.25 v2.2. Trying v2.0 ...
[0L] N1LKS>BROCK:(SABM cmd, p=1)
>>> Monitoring Own Information to AGWPE client application 0, total length = 80
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 44, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 53 41 42 4d 20 50 3d 31 20 3e ROCK <SABM P=1 >
020: 5b 32 30 3a 35 32 3a 30 34 5d 0d 00 [20:52:04]..
BROCK audio level = 111(24/22) _|||||___
Audio input level is too high. Reduce so most stations are around 50.
[0.3] BROCK>N1LKS:(UA res, f=1)
>>> Monitored Supervisory Information to AGWPE client application 0, total length = 78
portx = 0, datakind = 'S', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 42, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 20 3c 55 41 20 46 3d 31 20 3e 5b 32 1LKS <UA F=1 >[2
020: 30 3a 35 32 3a 30 36 5d 0d 00 0:52:06]..
Stream 0: Connected to BROCK. (v2.0)
>>> AX.25 Connection Received to AGWPE client application 0, total length = 70
portx = 0, datakind = 'C', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 34, user_reserved = 0, data =
000: 2a 2a 2a 20 43 4f 4e 4e 45 43 54 45 44 20 57 69 *** CONNECTED Wi
010: 74 68 20 53 74 61 74 69 6f 6e 20 42 52 4f 43 4b th Station BROCK
020: 0d 00 ..
BROCK audio level = 101(24/22) |||||||__
[0.3] BROCK>N1LKS:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)###CONNECTED TO NODE BROCK(W1MV-7) CHANNEL A<0x0d>Welcome to BROCK (W1MV-7) in Brockton, Mass<0x0d>ENTER C>
>>> **INVALID** to AGWPE client application 0, total length = 222
portx = 0, datakind = 'I', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 186, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 20 3c 49 20 53 30 20 52 30 20 70 69 1LKS <I S0 R0 pi
020: 64 3d 46 30 20 4c 65 6e 3d 31 32 33 20 50 3d 30 d=F0 Len=123 P=0
030: 20 3e 5b 32 30 3a 35 32 3a 30 37 5d 0d 23 23 23 >[20:52:07].###
040: 43 4f 4e 4e 45 43 54 45 44 20 54 4f 20 4e 4f 44 CONNECTED TO NOD
050: 45 20 42 52 4f 43 4b 28 57 31 4d 56 2d 37 29 20 E BROCK(W1MV-7)
060: 43 48 41 4e 4e 45 4c 20 41 0d 57 65 6c 63 6f 6d CHANNEL A.Welcom
070: 65 20 74 6f 20 42 52 4f 43 4b 20 28 57 31 4d 56 e to BROCK (W1MV
080: 2d 37 29 20 69 6e 20 42 72 6f 63 6b 74 6f 6e 2c -7) in Brockton,
090: 20 4d 61 73 73 0d 45 4e 54 45 52 20 43 4f 4d 4d Mass.ENTER COMM
0a0: 41 4e 44 3a 20 42 2c 43 2c 4a 2c 4e 2c 20 6f 72 AND: B,C,J,N, or
0b0: 20 48 65 6c 70 20 3f 0d 0d 00 Help ?...
>>> Connected AX.25 Data to AGWPE client application 0, total length = 159
portx = 0, datakind = 'D', pid = 0xf0
call_from = "BROCK", call_to = "N1LKS"
data_len = 123, user_reserved = 0, data =
000: 23 23 23 43 4f 4e 4e 45 43 54 45 44 20 54 4f 20 ###CONNECTED TO
010: 4e 4f 44 45 20 42 52 4f 43 4b 28 57 31 4d 56 2d NODE BROCK(W1MV-
020: 37 29 20 43 48 41 4e 4e 45 4c 20 41 0d 57 65 6c 7) CHANNEL A.Wel
030: 63 6f 6d 65 20 74 6f 20 42 52 4f 43 4b 20 28 57 come to BROCK (W
040: 31 4d 56 2d 37 29 20 69 6e 20 42 72 6f 63 6b 74 1MV-7) in Brockt
050: 6f 6e 2c 20 4d 61 73 73 0d 45 4e 54 45 52 20 43 on, Mass.ENTER C
060: 4f 4d 4d 41 4e 44 3a 20 42 2c 43 2c 4a 2c 4e 2c OMMAND: B,C,J,N,
070: 20 6f 72 20 48 65 6c 70 20 3f 0d or Help ?.
[0L] N1LKS>BROCK:(DM res, f=1)
>>> Monitoring Own Information to AGWPE client application 0, total length = 78
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 42, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 44 4d 20 46 3d 31 20 3e 5b 32 ROCK <DM F=1 >[2
020: 30 3a 35 32 3a 30 38 5d 0d 00 0:52:08]..
[0L] N1LKS>BROCK:(DM res, f=1)
>>> Monitoring Own Information to AGWPE client application 0, total length = 78
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 42, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 44 4d 20 46 3d 31 20 3e 5b 32 ROCK <DM F=1 >[2
020: 30 3a 35 32 3a 30 38 5d 0d 00 0:52:08]..
[0L] N1LKS>BROCK:(RR res, n(r)=1, f=0)
>>> Monitoring Own Information to AGWPE client application 0, total length = 81
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 45, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 52 52 20 52 31 20 46 3d 30 20 ROCK <RR R1 F=0
020: 3e 5b 32 30 3a 35 32 3a 30 39 5d 0d 00 >[20:52:09]..
<<< Send Connected Data from AGWPE client application 0, total length = 38
portx = 0, datakind = 'D', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 2, user_reserved = 0, data =
000: 68 0d h.
Warning: Client application provided invalid PID value, 0x00, for I frame.
[0L] N1LKS>BROCK:(I cmd, n(s)=0, n(r)=1, p=0, pid=0xf0)h<0x0d>
>>> Monitoring Own Information to AGWPE client application 0, total length = 99
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 63, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 49 20 53 30 20 52 31 20 70 69 ROCK <I S0 R1 pi
020: 64 3d 46 30 20 4c 65 6e 3d 32 20 50 3d 30 20 3e d=F0 Len=2 P=0 >
030: 5b 32 30 3a 35 32 3a 31 36 5d 0d 68 0d 0d 00 [20:52:16].h...
[0L] N1LKS>BROCK:(RR cmd, n(r)=1, p=1)
>>> Monitoring Own Information to AGWPE client application 0, total length = 81
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS", call_to = "BROCK"
data_len = 45, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 20 54 6f 20 42 1:Fm N1LKS To B
010: 52 4f 43 4b 20 3c 52 52 20 52 31 20 50 3d 31 20 ROCK <RR R1 P=1
020: 3e 5b 32 30 3a 35 32 3a 32 31 5d 0d 00 >[20:52:21]..
BROCK audio level = 113(24/22) |||||||__
Audio input level is too high. Reduce so most stations are around 50.
[0.3] BROCK>N1LKS:(DM res, f=1)
>>> Monitored Supervisory Information to AGWPE client application 0, total length = 78
portx = 0, datakind = 'S', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 42, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 20 3c 44 4d 20 46 3d 31 20 3e 5b 32 1LKS <DM F=1 >[2
020: 30 3a 35 32 3a 32 33 5d 0d 00 0:52:23]..
Stream 0: Disconnected from BROCK.
>>> Disconnected to AGWPE client application 0, total length = 73
portx = 0, datakind = 'd', pid = 0x00
call_from = "BROCK", call_to = "N1LKS"
data_len = 37, user_reserved = 0, data =
000: 2a 2a 2a 20 44 49 53 43 4f 4e 4e 45 43 54 45 44 *** DISCONNECTED
010: 20 46 72 6f 6d 20 53 74 61 74 69 6f 6e 20 42 52 From Station BR
020: 4f 43 4b 0d 00 OCK..
Error getting message header from AGW client application 0.
Tried to read 36 bytes but got only 0.
Closing connection.
Next, here's a successful connection initiated immediately after the previous one using qttermtcp:
<<< Connect, Start an AX.25 Connection from AGWPE client application 1, total length = 36
portx = 0, datakind = 'C', pid = 0xf0
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 0, user_reserved = 0, data =
Attempting connect to BROCK ...
[0L] N1LKS-14>BROCK:(SABME cmd, p=1)
>>> Monitoring Own Information to AGWPE client application 1, total length = 84
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 48, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 53 41 42 4d 45 20 50 o BROCK <SABME P
020: 3d 31 20 3e 5b 32 30 3a 35 37 3a 34 30 5d 0d 00 =1 >[20:57:40]..
BROCK audio level = 112(24/22) |||||____
Audio input level is too high. Reduce so most stations are around 50.
[0.2] BROCK>N1LKS-14:(DM res, f=1)
>>> Monitored Supervisory Information to AGWPE client application 1, total length = 81
portx = 0, datakind = 'S', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 45, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 2d 31 34 20 3c 44 4d 20 46 3d 31 20 1LKS-14 <DM F=1
020: 3e 5b 32 30 3a 35 37 3a 34 33 5d 0d 00 >[20:57:43]..
BROCK doesn't understand AX.25 v2.2. Trying v2.0 ...
[0L] N1LKS-14>BROCK:(SABM cmd, p=1)
>>> Monitoring Own Information to AGWPE client application 1, total length = 83
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 47, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 53 41 42 4d 20 50 3d o BROCK <SABM P=
020: 31 20 3e 5b 32 30 3a 35 37 3a 34 33 5d 0d 00 1 >[20:57:43]..
BROCK audio level = 111(24/22) |||||||__
Audio input level is too high. Reduce so most stations are around 50.
[0.3] BROCK>N1LKS-14:(UA res, f=1)
>>> Monitored Supervisory Information to AGWPE client application 1, total length = 81
portx = 0, datakind = 'S', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 45, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 2d 31 34 20 3c 55 41 20 46 3d 31 20 1LKS-14 <UA F=1
020: 3e 5b 32 30 3a 35 37 3a 34 35 5d 0d 00 >[20:57:45]..
Stream 1: Connected to BROCK. (v2.0)
>>> AX.25 Connection Received to AGWPE client application 1, total length = 70
portx = 0, datakind = 'C', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 34, user_reserved = 0, data =
000: 2a 2a 2a 20 43 4f 4e 4e 45 43 54 45 44 20 57 69 *** CONNECTED Wi
010: 74 68 20 53 74 61 74 69 6f 6e 20 42 52 4f 43 4b th Station BROCK
020: 0d 00 ..
BROCK audio level = 100(24/22) ||||||___
[0.2] BROCK>N1LKS-14:(I cmd, n(s)=0, n(r)=0, p=0, pid=0xf0)###CONNECTED TO NODE BROCK(W1MV-7) CHANNEL A<0x0d>Welcome to BROCK (W1MV-7) in Brockton, Mass<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
>>> **INVALID** to AGWPE client application 1, total length = 225
portx = 0, datakind = 'I', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 189, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 2d 31 34 20 3c 49 20 53 30 20 52 30 1LKS-14 <I S0 R0
020: 20 70 69 64 3d 46 30 20 4c 65 6e 3d 31 32 33 20 pid=F0 Len=123
030: 50 3d 30 20 3e 5b 32 30 3a 35 37 3a 34 36 5d 0d P=0 >[20:57:46].
040: 23 23 23 43 4f 4e 4e 45 43 54 45 44 20 54 4f 20 ###CONNECTED TO
050: 4e 4f 44 45 20 42 52 4f 43 4b 28 57 31 4d 56 2d NODE BROCK(W1MV-
060: 37 29 20 43 48 41 4e 4e 45 4c 20 41 0d 57 65 6c 7) CHANNEL A.Wel
070: 63 6f 6d 65 20 74 6f 20 42 52 4f 43 4b 20 28 57 come to BROCK (W
080: 31 4d 56 2d 37 29 20 69 6e 20 42 72 6f 63 6b 74 1MV-7) in Brockt
090: 6f 6e 2c 20 4d 61 73 73 0d 45 4e 54 45 52 20 43 on, Mass.ENTER C
0a0: 4f 4d 4d 41 4e 44 3a 20 42 2c 43 2c 4a 2c 4e 2c OMMAND: B,C,J,N,
0b0: 20 6f 72 20 48 65 6c 70 20 3f 0d 0d 00 or Help ?...
>>> Connected AX.25 Data to AGWPE client application 1, total length = 159
portx = 0, datakind = 'D', pid = 0xf0
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 123, user_reserved = 0, data =
000: 23 23 23 43 4f 4e 4e 45 43 54 45 44 20 54 4f 20 ###CONNECTED TO
010: 4e 4f 44 45 20 42 52 4f 43 4b 28 57 31 4d 56 2d NODE BROCK(W1MV-
020: 37 29 20 43 48 41 4e 4e 45 4c 20 41 0d 57 65 6c 7) CHANNEL A.Wel
030: 63 6f 6d 65 20 74 6f 20 42 52 4f 43 4b 20 28 57 come to BROCK (W
040: 31 4d 56 2d 37 29 20 69 6e 20 42 72 6f 63 6b 74 1MV-7) in Brockt
050: 6f 6e 2c 20 4d 61 73 73 0d 45 4e 54 45 52 20 43 on, Mass.ENTER C
060: 4f 4d 4d 41 4e 44 3a 20 42 2c 43 2c 4a 2c 4e 2c OMMAND: B,C,J,N,
070: 20 6f 72 20 48 65 6c 70 20 3f 0d or Help ?.
[0L] N1LKS-14>BROCK:(RR res, n(r)=1, f=0)
>>> Monitoring Own Information to AGWPE client application 1, total length = 84
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 48, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 52 52 20 52 31 20 46 o BROCK <RR R1 F
020: 3d 30 20 3e 5b 32 30 3a 35 37 3a 34 37 5d 0d 00 =0 >[20:57:47]..
<<< Send Connected Data from AGWPE client application 1, total length = 41
portx = 0, datakind = 'D', pid = 0xf0
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 5, user_reserved = 0, data =
000: 68 65 6c 70 0d help.
[0L] N1LKS-14>BROCK:(I cmd, n(s)=0, n(r)=1, p=0, pid=0xf0)help<0x0d>
>>> Monitoring Own Information to AGWPE client application 1, total length = 105
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 69, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 49 20 53 30 20 52 31 o BROCK <I S0 R1
020: 20 70 69 64 3d 46 30 20 4c 65 6e 3d 35 20 50 3d pid=F0 Len=5 P=
030: 30 20 3e 5b 32 30 3a 35 37 3a 35 30 5d 0d 68 65 0 >[20:57:50].he
040: 6c 70 0d 0d 00 lp...
BROCK audio level = 101(24/22) __||||___
[0.3] BROCK>N1LKS-14:(I cmd, n(s)=1, n(r)=1, p=0, pid=0xf0)ABORT STOP A CONNECTION IN PROGRESS<0x0d>B(ye) NODE WILL DISCONNECT<0x0d>C(onnect) call CONNECT TO callsign<0x0d>C call S(tay) STAY CONNECTED TO NODE WHEN END DISCONNECTS<0x0d>J(heard) CALLSIGNS WITH DAYSTAMP<0x0d>J S(hort) HEARD CALLSIGNS ONLY
>>> **INVALID** to AGWPE client application 1, total length = 357
portx = 0, datakind = 'I', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 321, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 2d 31 34 20 3c 49 20 53 31 20 52 31 1LKS-14 <I S1 R1
020: 20 70 69 64 3d 46 30 20 4c 65 6e 3d 32 35 35 20 pid=F0 Len=255
030: 50 3d 30 20 3e 5b 32 30 3a 35 37 3a 35 33 5d 0d P=0 >[20:57:53].
040: 41 42 4f 52 54 20 20 20 20 20 20 20 20 20 20 20 ABORT
050: 53 54 4f 50 20 41 20 43 4f 4e 4e 45 43 54 49 4f STOP A CONNECTIO
060: 4e 20 49 4e 20 50 52 4f 47 52 45 53 53 0d 42 28 N IN PROGRESS.B(
070: 79 65 29 20 20 20 20 20 20 20 20 20 20 20 4e 4f ye) NO
080: 44 45 20 57 49 4c 4c 20 44 49 53 43 4f 4e 4e 45 DE WILL DISCONNE
090: 43 54 0d 43 28 6f 6e 6e 65 63 74 29 20 63 61 6c CT.C(onnect) cal
0a0: 6c 20 20 43 4f 4e 4e 45 43 54 20 54 4f 20 63 61 l CONNECT TO ca
0b0: 6c 6c 73 69 67 6e 0d 43 20 63 61 6c 6c 20 53 28 llsign.C call S(
0c0: 74 61 79 29 20 20 20 53 54 41 59 20 43 4f 4e 4e tay) STAY CONN
0d0: 45 43 54 45 44 20 54 4f 20 4e 4f 44 45 20 57 48 ECTED TO NODE WH
0e0: 45 4e 20 45 4e 44 20 44 49 53 43 4f 4e 4e 45 43 EN END DISCONNEC
0f0: 54 53 0d 4a 28 68 65 61 72 64 29 20 20 20 20 20 TS.J(heard)
100: 20 20 20 43 41 4c 4c 53 49 47 4e 53 20 57 49 54 CALLSIGNS WIT
110: 48 20 44 41 59 53 54 41 4d 50 0d 4a 20 53 28 68 H DAYSTAMP.J S(h
120: 6f 72 74 29 20 20 20 20 20 20 20 48 45 41 52 44 ort) HEARD
130: 20 43 41 4c 4c 53 49 47 4e 53 20 4f 4e 4c 59 0d CALLSIGNS ONLY.
140: 00 .
>>> Connected AX.25 Data to AGWPE client application 1, total length = 291
portx = 0, datakind = 'D', pid = 0xf0
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 255, user_reserved = 0, data =
000: 41 42 4f 52 54 20 20 20 20 20 20 20 20 20 20 20 ABORT
010: 53 54 4f 50 20 41 20 43 4f 4e 4e 45 43 54 49 4f STOP A CONNECTIO
020: 4e 20 49 4e 20 50 52 4f 47 52 45 53 53 0d 42 28 N IN PROGRESS.B(
030: 79 65 29 20 20 20 20 20 20 20 20 20 20 20 4e 4f ye) NO
040: 44 45 20 57 49 4c 4c 20 44 49 53 43 4f 4e 4e 45 DE WILL DISCONNE
050: 43 54 0d 43 28 6f 6e 6e 65 63 74 29 20 63 61 6c CT.C(onnect) cal
060: 6c 20 20 43 4f 4e 4e 45 43 54 20 54 4f 20 63 61 l CONNECT TO ca
070: 6c 6c 73 69 67 6e 0d 43 20 63 61 6c 6c 20 53 28 llsign.C call S(
080: 74 61 79 29 20 20 20 53 54 41 59 20 43 4f 4e 4e tay) STAY CONN
090: 45 43 54 45 44 20 54 4f 20 4e 4f 44 45 20 57 48 ECTED TO NODE WH
0a0: 45 4e 20 45 4e 44 20 44 49 53 43 4f 4e 4e 45 43 EN END DISCONNEC
0b0: 54 53 0d 4a 28 68 65 61 72 64 29 20 20 20 20 20 TS.J(heard)
0c0: 20 20 20 43 41 4c 4c 53 49 47 4e 53 20 57 49 54 CALLSIGNS WIT
0d0: 48 20 44 41 59 53 54 41 4d 50 0d 4a 20 53 28 68 H DAYSTAMP.J S(h
0e0: 6f 72 74 29 20 20 20 20 20 20 20 48 45 41 52 44 ort) HEARD
0f0: 20 43 41 4c 4c 53 49 47 4e 53 20 4f 4e 4c 59 CALLSIGNS ONLY
BROCK audio level = 103(24/22) _||||||__
[0.3] BROCK>N1LKS-14:(I cmd, n(s)=2, n(r)=1, p=0, pid=0xf0)<0x0d>J L(ong) CALLSIGNS WITH DAYSTAMP AND VIAS<0x0d>N(odes) HEARD NODE CALLSIGNS WITH DAYSTAMP<0x0d>N S(hort) NODE CALLSIGNS ONLY<0x0d>N L(ong) NODE CALLSIGNS WITH DAYSTAMP AND VIAS<0x0d>ENTER COMMAND: B,C,J,N, or Help ?<0x0d>
>>> **INVALID** to AGWPE client application 1, total length = 327
portx = 0, datakind = 'I', pid = 0x00
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 291, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 42 52 4f 43 4b 20 54 6f 20 4e 1:Fm BROCK To N
010: 31 4c 4b 53 2d 31 34 20 3c 49 20 53 32 20 52 31 1LKS-14 <I S2 R1
020: 20 70 69 64 3d 46 30 20 4c 65 6e 3d 32 32 35 20 pid=F0 Len=225
030: 50 3d 30 20 3e 5b 32 30 3a 35 37 3a 35 35 5d 0d P=0 >[20:57:55].
040: 0d 4a 20 4c 28 6f 6e 67 29 20 20 20 20 20 20 20 .J L(ong)
050: 20 43 41 4c 4c 53 49 47 4e 53 20 57 49 54 48 20 CALLSIGNS WITH
060: 44 41 59 53 54 41 4d 50 20 41 4e 44 20 56 49 41 DAYSTAMP AND VIA
070: 53 0d 4e 28 6f 64 65 73 29 20 20 20 20 20 20 20 S.N(odes)
080: 20 20 48 45 41 52 44 20 4e 4f 44 45 20 43 41 4c HEARD NODE CAL
090: 4c 53 49 47 4e 53 20 57 49 54 48 20 44 41 59 53 LSIGNS WITH DAYS
0a0: 54 41 4d 50 0d 4e 20 53 28 68 6f 72 74 29 20 20 TAMP.N S(hort)
0b0: 20 20 20 20 20 4e 4f 44 45 20 43 41 4c 4c 53 49 NODE CALLSI
0c0: 47 4e 53 20 4f 4e 4c 59 0d 4e 20 4c 28 6f 6e 67 GNS ONLY.N L(ong
0d0: 29 20 20 20 20 20 20 20 20 4e 4f 44 45 20 43 41 ) NODE CA
0e0: 4c 4c 53 49 47 4e 53 20 57 49 54 48 20 44 41 59 LLSIGNS WITH DAY
0f0: 53 54 41 4d 50 20 41 4e 44 20 56 49 41 53 0d 45 STAMP AND VIAS.E
100: 4e 54 45 52 20 43 4f 4d 4d 41 4e 44 3a 20 42 2c NTER COMMAND: B,
110: 43 2c 4a 2c 4e 2c 20 6f 72 20 48 65 6c 70 20 3f C,J,N, or Help ?
120: 0d 0d 00 ...
>>> Connected AX.25 Data to AGWPE client application 1, total length = 261
portx = 0, datakind = 'D', pid = 0xf0
call_from = "BROCK", call_to = "N1LKS-14"
data_len = 225, user_reserved = 0, data =
000: 0d 4a 20 4c 28 6f 6e 67 29 20 20 20 20 20 20 20 .J L(ong)
010: 20 43 41 4c 4c 53 49 47 4e 53 20 57 49 54 48 20 CALLSIGNS WITH
020: 44 41 59 53 54 41 4d 50 20 41 4e 44 20 56 49 41 DAYSTAMP AND VIA
030: 53 0d 4e 28 6f 64 65 73 29 20 20 20 20 20 20 20 S.N(odes)
040: 20 20 48 45 41 52 44 20 4e 4f 44 45 20 43 41 4c HEARD NODE CAL
050: 4c 53 49 47 4e 53 20 57 49 54 48 20 44 41 59 53 LSIGNS WITH DAYS
060: 54 41 4d 50 0d 4e 20 53 28 68 6f 72 74 29 20 20 TAMP.N S(hort)
070: 20 20 20 20 20 4e 4f 44 45 20 43 41 4c 4c 53 49 NODE CALLSI
080: 47 4e 53 20 4f 4e 4c 59 0d 4e 20 4c 28 6f 6e 67 GNS ONLY.N L(ong
090: 29 20 20 20 20 20 20 20 20 4e 4f 44 45 20 43 41 ) NODE CA
0a0: 4c 4c 53 49 47 4e 53 20 57 49 54 48 20 44 41 59 LLSIGNS WITH DAY
0b0: 53 54 41 4d 50 20 41 4e 44 20 56 49 41 53 0d 45 STAMP AND VIAS.E
0c0: 4e 54 45 52 20 43 4f 4d 4d 41 4e 44 3a 20 42 2c NTER COMMAND: B,
0d0: 43 2c 4a 2c 4e 2c 20 6f 72 20 48 65 6c 70 20 3f C,J,N, or Help ?
0e0: 0d .
[0L] N1LKS-14>BROCK:(RR res, n(r)=3, f=0)
>>> Monitoring Own Information to AGWPE client application 1, total length = 84
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 48, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 52 52 20 52 33 20 46 o BROCK <RR R3 F
020: 3d 30 20 3e 5b 32 30 3a 35 37 3a 35 35 5d 0d 00 =0 >[20:57:55]..
<<< Send Connected Data from AGWPE client application 1, total length = 38
portx = 0, datakind = 'D', pid = 0xf0
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 2, user_reserved = 0, data =
000: 62 0d b.
[0L] N1LKS-14>BROCK:(I cmd, n(s)=1, n(r)=3, p=0, pid=0xf0)b<0x0d>
>>> Monitoring Own Information to AGWPE client application 1, total length = 102
portx = 0, datakind = 'T', pid = 0x00
call_from = "N1LKS-14", call_to = "BROCK"
data_len = 66, user_reserved = 0, data =
000: 20 31 3a 46 6d 20 4e 31 4c 4b 53 2d 31 34 20 54 1:Fm N1LKS-14 T
010: 6f 20 42 52 4f 43 4b 20 3c 49 20 53 31 20 52 33 o BROCK <I S1 R3
020: 20 70 69 64 3d 46 30 20 4c 65 6e 3d 32 20 50 3d pid=F0 Len=2 P=
030: 30 20 3e 5b 32 30 3a 35 37 3a 35 39 5d 0d 62 0d 0 >[20:57:59].b.
040: 0d 00 ..
I'm seeing some odd behavior trying to connect to remote systems via Direwolf's AGW support.
Originally I was writing my own code using the
wl2k-go
package, and I thought maybe the problem was either with that package or with my code...but I'm able to reproduce the same behavior usingagwterm
.The issue is that while connections are established successfully, Direwolf shuts down the connection as soon as the remote host sends an RR frame. That is:
I've been testing things against a local packet BBS and a local digipeater. For example, here's the log from attempting to contact a local packet BBS using
agwterm
:A connection using the kernel AX.25 support (
axcall radio KZ2X-1
) works just fine:If I configure the remote system as AX.25 V2.0 only by setting:
Then I see a similar problem. There's no XID response, but we immediately start replying with DM frames after receiving data from the remote host: