[amsat-bb] AISAT Downlink Issues -- Defined
KE6BLR Robert
ke6blr.robert at gmail.com
Sun Apr 21 17:45:34 UTC 2019
Hello Satellite APRS Operators,
I am new to this SIG. And, this is my first post. So, I hope it arrives as
intended.
As you know, AISAT became available recently for Satellite APRS. One of the
nice things about having an APRS Digipeater mounted to the Stage 4 Rocket
platform is this equipment inherits solar panels, batteries, and antennas.
Unfortunately, the design team was given only 6 days to build and deliver
the satellite. Apparently, end to end testing of the Digipeater was not
possible. So, I believe they deserve a lot of slack.
Now, there are many (4ish) quirks in the downlink.
NOTE: the AISAT uplink appears nominal.
To explain the downlink issue we need to examine a sample packet. For this
we can thank K4KDR for transmitting the packet and KG4PID for receiving the
packet. If I remember this correctly, KG4PID is running PI-TNC and APRX
while K4KDR is running Direwolf and UISS. The main thing to note here is
that displaying packets may require more flexible software.
Sample packet from the APRX error log via KG4PID:
2019-04-11 02:06:38.961 ax25_to_tnc2(KG4PID-14,len=112) rejected the
message: 00 86 a2 40 40 40 40 60|96 68 96 88 a4 40 6c 82|92 a6 82 a8 54 60
40 40|40 40 40 40 61 03 f0 3a|43 51 2d 30 20 20 20 20|20 3a 3d 33 37 34 37
2e|36 36 4e 2f 30 37 37 33|36 2e 36 37 57 60 64 65|20 4b 34 4b 44 52 20
73|63 6f 74 74 32 33 31 39|32 40 67 6d 61 69 6c 2e|63 6f 6d 20 56 69 72
67|69 6e 69 61 20 20 46 4d|31 37 65 73 7b 31 39 35| = .CQ 0|K4KDR
6A|ISAT*0 | a..:|CQ-0 | :=3747.|66N/0773|6.67W`de| K4KDR
s|cott2319|2 at gmail.|com Virg|inia FM|17es{195|
This same packet after byte by byte parsing with a simple Python script on
my Mac laptop:
@@@
robertmachale at ucrwpa-2-1-10-25-34-138 ~/Documents/SCC/AISAT-EXPLAIN $
python explainAisat.py
Space Communcator Club
Las Flores, California 92688
http://www.spaceCommunicator.club/igates/
1: byteAsHex: 00, byteAsText: 0, byteAsAScii: 0, byteAsChar: ,
endOfDigipath: 0
1: SSID: 0, Digipeated: 0
2: byteAsHex: 86, byteAsText: 134, byteAsAScii: 67, byteAsChar: C,
endOfDigipath: 0
3: byteAsHex: a2, byteAsText: 162, byteAsAScii: 81, byteAsChar: Q,
endOfDigipath: 0
4: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
5: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
6: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
7: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
8: byteAsHex: 60, byteAsText: 96, byteAsAScii: 48, byteAsChar: 0,
endOfDigipath: 0
8: SSID: 0, Digipeated: 0
9: byteAsHex: 96, byteAsText: 150, byteAsAScii: 75, byteAsChar: K,
endOfDigipath: 0
10: byteAsHex: 68, byteAsText: 104, byteAsAScii: 52, byteAsChar: 4,
endOfDigipath: 0
11: byteAsHex: 96, byteAsText: 150, byteAsAScii: 75, byteAsChar: K,
endOfDigipath: 0
12: byteAsHex: 88, byteAsText: 136, byteAsAScii: 68, byteAsChar: D,
endOfDigipath: 0
13: byteAsHex: a4, byteAsText: 164, byteAsAScii: 82, byteAsChar: R,
endOfDigipath: 0
14: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
15: byteAsHex: 6c, byteAsText: 108, byteAsAScii: 54, byteAsChar: 6,
endOfDigipath: 0
15: SSID: 12, Digipeated: 0
16: byteAsHex: 82, byteAsText: 130, byteAsAScii: 65, byteAsChar: A,
endOfDigipath: 0
17: byteAsHex: 92, byteAsText: 146, byteAsAScii: 73, byteAsChar: I,
endOfDigipath: 0
18: byteAsHex: a6, byteAsText: 166, byteAsAScii: 83, byteAsChar: S,
endOfDigipath: 0
19: byteAsHex: 82, byteAsText: 130, byteAsAScii: 65, byteAsChar: A,
endOfDigipath: 0
20: byteAsHex: a8, byteAsText: 168, byteAsAScii: 84, byteAsChar: T,
endOfDigipath: 0
21: byteAsHex: 54, byteAsText: 84, byteAsAScii: 42, byteAsChar: *,
endOfDigipath: 0
22: byteAsHex: 60, byteAsText: 96, byteAsAScii: 48, byteAsChar: 0,
endOfDigipath: 0
22: SSID: 0, Digipeated: 0
23: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
24: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
25: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
26: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
27: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
28: byteAsHex: 40, byteAsText: 64, byteAsAScii: 32, byteAsChar: ,
endOfDigipath: 0
29: byteAsHex: 61, byteAsText: 97, byteAsAScii: 48, byteAsChar: 0,
endOfDigipath: 1
29: SSID: 0, Digipeated: 0
robertmachale at ucrwpa-2-1-10-25-34-138 ~/Documents/SCC/AISAT-EXPLAIN $
@@@
Notice 3 issues with the Digipath:
1) SSIDs arrive as ASCII rather than 4 bits in the AX.25 subfield
2) The Digipeated flag arrives as * rather than 1 bit in the AX.25 subfield
3) One extra (blank) callsign field exists at the end of the Digipath
Although the Kenwood will pickup the packet we may need to tap into the TNC
raw output to decipher the packet manually. I can only imagine the Kenwood
display will reject the packets as malformed. So, this leaves us with
APRSDroid, UISS, and custom APRS software for displaying packets received.
Feel free to follow APRS packets from AISAT on our iGate report:
http://www.spaceCommunicator.club/igates/
Also, you will find a note on this AISAT issue including helpful screen
shots here: http://www.spaceCommunicator.club
Let me know your feedback and how I can help.
Happy Easter + Passover + Holiday!
73s
Robert MacHale
KE6BLR
(949) 371-6319
robert.machale at yahoo.com
More information about the AMSAT-BB
mailing list