[aprssig] TNC Trace mode
Andrew Rich
vk4tec at tech-software.net
Fri Sep 3 17:56:12 EDT 2004
Thanks Henk,
I did not realise about the shifted right bit.
I could not for the life of me line it up
Is that a single roll right ?'
KPC-3 V5.0
-----Original Message-----
From: Henk de Groot [mailto:henk.de.groot at hetnet.nl]
Sent: Saturday, 4 September 2004 7:50 AM
To: vk4tec at tech-software.net; TAPR APRS Mailing List;
Ozaprs at Marconi.Ics.Mq.Edu.Au; TAPR APRS Special Interest Group
Subject: Re: [aprssig] TNC Trace mode
Hello Andrew,
At 19:27 3-9-2004 +1000, Andrew Rich wrote:
>How do i break this down ?
>
> >> 82A0AA646A9C60 AC9668A88A8660 A48A9882B24060 AE92888A404061 03F00D
>VK4TEC>APU25N,RELAY,WIDE: <UI>:
Using the AX25 protocol specification?
Let me do the one above for you:
Hex string: 82A0AA646A9C60 AC9668A88A8660 A48A9882B24060 AE92888A404061
03F00D
The first 7 bytes are the destination-callsign. It's build up from 6
shifted ASCII characters and a 7th byte with the SSID and flags.
So the destination call:
82 -> shifted right -> 41 -> 'A'
A0 -> shifted right -> 50 -> 'P'
AA -> shifted right -> 55 -> 'U'
64 -> shifted right -> 32 -> '2'
6A -> shifted right -> 35 -> '5'
9C -> shifted right -> 4E -> 'N'
60 -> 01100000 binary:
|\/\--/\_ 0 = not the final call
| | \___ 0000 = SSID 0
| \_____ 11 = reserved, should be 11
\_______ 0 = Command/Response bit part 1 - looks like
a response (on next call must be 1, otherwise
it is an AX.25 version 1 frame).
Next is the source call, coded the same way:
AC -> shifted right -> 56 -> 'V'
96 -> shifted right -> 4B -> 'K'
68 -> shifted right -> 34 -> '4'
A8 -> shifted right -> 54 -> 'T'
8A -> shifted right -> 45 -> 'E'
86 -> shifted right -> 43 -> 'C'
60 -> 01100000 binary:
|\/\--/\_ 0 = not the final call
| | \___ 0000 = SSID 0
| \_____ 11 = reserved, should be 11
\_______ 0 = Command/Response bit part 2 - expected 1
(it is an old AX.25 version 1 frame).
Next is the first digipeater call, coded almost the same way:
A4 -> shifted right -> 52 -> 'R'
8A -> shifted right -> 45 -> 'E'
98 -> shifted right -> 4C -> 'L'
82 -> shifted right -> 41 -> 'A'
B2 -> shifted right -> 59 -> 'Y'
40 -> shifted right -> 20 -> ' '
60 -> 01100000 binary:
|\/\--/\_ 0 = not the final call
| | \___ 0000 = SSID 0
| \_____ 11 = reserved, should be 11
\_______ 0 = Not used in digipeating yet
Next is the second digipeater call, coded the same way:
AE -> shifted right -> 57 -> 'W'
92 -> shifted right -> 49 -> 'I'
88 -> shifted right -> 44 -> 'D'
8A -> shifted right -> 45 -> 'E'
40 -> shifted right -> 20 -> ' '
40 -> shifted right -> 20 -> ' '
61 -> 01100001 binary:
|\/\--/\_ 1 = final call
| | \___ 0000 = SSID 0
| \_____ 11 = reserved, should be 11
\_______ 0 = Not used in digipeating yet
This was the last call, so next is the protocol byte:
03 = UI-frame with reset P/F bit
Next is the protocol ID, that is if it is an UI or I type frame
F0 = Plain-text. With Opentrac you find 0x77 here, that's why APRS
and Opentrac can co-exist on the same channel (others are CC
for an IP datagram, CD for an ARP packet (for TCP/IP) and CF
for NetRom type packets).
Finaly there is the payload
0D = Only a carriage return in this case.
I hope this helped, I leave the other to you to decode... I wonder what
device produced this however, AX.25 version 1 was outdated in 1982!
Aparently the one who wrote the code did not understand how to set the
Command/Response bits.
Note: the above you find some bits marked "reserved". That is not quite
true, some of these are used for DAMA and Extended AX.25, but that never
ended up in the official protocol specification.
Kind regards,
Henk.
More information about the aprssig
mailing list