Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Kissutil packet documentation
Hello. I'm trying to use kissutil to send APRS message packets. I'm creating a file, and it gets consumed and deleted, but my message does not seem to go through. I'm sure my packet format is wrong, but I can't seem to find any documentation as to what the exact format should be. Is this documented somewhere?
Thanks! |
Section 14.6 of the Direwolf User Guide documents kissutil and the format it uses. The APRS content would be defined elsewhere, depending on exactly what kind of APRS data you're trying to construct. Martin. KD6YAM On Fri, Dec 24, 2021 at 12:59 PM charlie gale <charles@...> wrote: Hello. I'm trying to use kissutil to send APRS message packets. I'm creating a file, and it gets consumed and deleted, but my message does not seem to go through. I'm sure my packet format is wrong, but I can't seem to find any documentation as to what the exact format should be. Is this documented somewhere? |
Hi Martin - thanks for your reply. That section tells you how to launch the program and various options. It says nothing about the format of the line of text you put in the file. Since Direwolf does some interpretation, crafting the packet directly from the APRS spec does not seem to work. It particular, what syntax does the program expect? Is there any data that must be there before it can be sent? For example, what should I put in the file to send? a simple message acknowledge packet? You say it is defined "elsewhere" - I'm just asking where "elsewhere" actually is.
|
From the Direwolf User Guide: ¡ª¡ª All received frames are displayed in the usual monitor format, preceded with the channel number inside of [ ]. [0] K1NRO-1>APDW14,WIDE2-2:!4238.80NS07105.63W#PHG5630 ? Simply enter a frame, in the same format, to transmit. Any line starting with an upper case letter or digit is considered to be an APRS frame. It is converted to KISS format, and sent to the TNC for transmission. ¡ª¡ª As is stated a little farther down, the file option uses the same, but taken from a file instead of stdin. As for APRS, there is this: along with quite a few other "specs". One problem, though, is that there are too many APRS "standards", so it really depends on exactly what you want to send. Martin. KD6YAM On Sat, Dec 25, 2021 at 4:58 AM charlie gale <charles@...> wrote: Hi Martin - thanks for your reply. That section tells you how to launch the program and various options. It says nothing about the format of the line of text you put in the file. Since Direwolf does some interpretation, crafting the packet directly from the APRS spec does not seem to work. It particular, what syntax does the program expect? Is there any data that must be there before it can be sent? For example, what should I put in the file to send? a simple message acknowledge packet? You say it is defined "elsewhere" - I'm just asking where "elsewhere" actually is. |
Thanks again, Martin.
Yes sir, I read that in the user guide, and can parse the result and decode received message packets just fine.? So now I want to TRANSMIT an ACK. What do I put in the file? Do I include a time stamp, because I get one on receive?. Comma separators? I have actually done a cut and paste of a received message, changed the from/to addresses, and still no joy. Maybe I need a CR at the end that I can't see?? APRS 101 does not help, because I am not directly creating a packet - if I was doing that, I'd use the KISS interface, not the Kissutil application. I honestly have RTFM'd everything I can find over the last few weeks, but there is no joy in Mudville.? Direwolf is an awesome application. It does more than any others I have found, and certainly more than my old hardware TNCs. And this application will seriously reduce the code I'd have to write to talk directly to the KISS interface. I'm almost there! Surely there is a Kissutil user guide somewhere??? Thanks for trying to help me, and all the best of the season to you! Charlie (VY1CC) |
I know you want to transmit, which is why I highlighted the transmit line from the user guide in bold. You use the same format. I just did a quick test. I created a 'kiss_packets' directory, and ran: $ kissutil -v -f kiss_packets Then I created a text file with this one line of content: KD6YAM>ID:Merry Christmas When I copied that file into the kiss_packets directory, I was rewarded with this on the console: From KISS TNC: ? 000: ?c0 00 92 88 40 40 40 40 e0 96 88 6c b2 82 9a e1 ?....@@@@...l.... ? 010: ?03 f0 4d 65 72 72 79 20 43 68 72 69 73 74 6d 61 ?..Merry Christma ? 020: ?73 c0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s. [0] KD6YAM>ID:Merry Christmas as the packet was transmitted by my radio. At the same time, in my Direwolf console, I saw this: [0L] KD6YAM>ID:Merry Christmas My radio did key up and send out the packet, as 'listen' running in another terminal confirmed. As I understand it, this is exactly what you're trying to do, no? You no doubt want to put different data into the packet than "Merry Christmas", but what you put there is not related to either kissutil or Direwolf. If you want to send an APRS packet, you'll need to figure out the actual APRS content, but when you have that, you just put it after the colon in the file you give to kissutil. If you're still having trouble, maybe try running kissutil in interactive mode (i.e. without -f, but I'd suggest with -v) and try things out until you get it working. You can just type a packet to it and you should see it sent out. If there's a problem, you'll see an error message. Martin. KD6YAM On Sat, Dec 25, 2021 at 11:14 AM charlie gale <charles@...> wrote:
|
Just an update. After a few days of trial and error, I have this "sort of" working, although I have yet to send an "ACK" that another application recognizes.
Martin, you wrote: "but what you put there is not related to either kissutil or Direwolf." That might be true if what you put in there conformed EXACTLY to the APRS spec, but I'm not sure it does - hence my original request for documentation.? Thanks for your efforts! Charlie |
What you put in the file after the colon is the data that kissutil?/ Direwolf will send. If you want to send APRS, make sure that what you put in the file is APRS compliant - that part is completely up to you. If you're trying to send an APRS acknowledgement, the format of the data, per the APRS spec, is, for example, ":KD6YAM-7 :ack001". So, if you wanted to send an ack from you to me, the content of your file for kissutil might look like this: VY1CC>KD6YAM-7::KD6YAM-7 :ack005 A few things to notice: 1) There are 2 colons after the destination - the first is the separator between the from>to and the data, and the second is because the APRS?ack starts with a colon. 2) There is a space after the KD6YAM-7?that is part of the ack, because the addressee must be exactly 9 characters. 3) The message number (005 in this example) must match whatever you are ack-ing. When I tried this just now, from me to KI6ZHD-7, Direwolf sent it out, and then told me, in its log: ACK message 005 for "KI6ZHD-7" confirming that it?successfully?sent my ack. Martin. KD6YAM On Sun, Jan 2, 2022 at 7:03 AM charlie gale <charles@...> wrote: Just an update. After a few days of trial and error, I have this "sort of" working, although I have yet to send an "ACK" that another application recognizes. |
Thanks, Martin.
I'm aware of those restrictions and I'm sure I have crafted the message as per the APRS spec (and your example). I'm using a Raspberry Pi running Direwolf as a TNC for Xastir to send the message to my test system. I did discover a silly error (mixed up my "message_from" and "message_to" variables ) which your example helped me identify. With that corrected, Direwolf is logging that it sees an ack message, but Xastir is not marking the message acknowledged. At this point it no longer seems like a kissutil question so I'll dig into Xastir to make the next bit of progress. One last question - the remote station (VY1EMO-9) instance of Direwolf? log reports: ACK message 0m for "VY1EMO-9", BUS What is the "BUS" part of the message about? |
One last question - the remote station (VY1EMO-9) instance of Direwolf? log reports: It appears to mean that Direwolf found the symbol for a bus (the vehicle) in the ack message. At least, that's the only reference I can find to that sequence of characters in the Direwolf code. Seems odd to have that in an ack, though. A message number of 0m also seems odd. It seems like it's probably legal, but I would expect most message numbers to be numeric. If you can see these ack messages with 'listen', maybe that will help figure out what's really in there. Or you could ask Direwolf (via the command line) to show you the raw packet content. Martin. KD6YAM |
to navigate to use esc to dismiss