Loading ...
Sorry, an error occurred while loading the content.

Speaking KISS

Expand Messages
  • Christopher Snell
    Hi, My question relates to the constructing of KISS packets. I m building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably
    Message 1 of 12 , May 23 12:05 AM
    • 0 Attachment
      Hi,

      My question relates to the constructing of KISS packets.

      I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

      I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

      0xC0
      0x00
      [ standard AX.25 packet, starting and ending with 0x7E ... ]
      0xC0

      Does that look correct?

      I think I'm just supposed to write that raw binary data to the serial port, right?

      How does the TNC send received packets back to my software?  Same format?

      I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

      thanks,

      Chris
      NW5W
    • Scott Miller
      You ll also need to escape the frame end and frame escape codes. And yes, the TNC uses the same framing format for incoming packets. The T3 s KISS send code
      Message 2 of 12 , Jun 12, 2014
      • 0 Attachment
        You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

        // Sending byte to host
        unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
        {
            switch (kiss_tx_state)
            {

            case STATE_FRAME_WAIT:                            // Start of a new frame
                kiss_outc(FEND);                                // Frame end marker
                kiss_outc(port);                                // Data frame on port 0
                kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
           
            case STATE_DATA:
                if (c == FEND)
                {
                    kiss_outc(FESC);
                    c = TFEND;
                }
                if (c == FESC)
                {
                    kiss_outc(FESC);
                    c = TFESC;
                }
                kiss_outc(c);
                break;
           
            default:
                kiss_tx_state = STATE_FRAME_WAIT;
                break;
            }
           
            return 0;
        }

        // Done sending data to host
        void kiss_tx_done(void)
        {
            kiss_outc(FEND);
            kiss_tx_state = STATE_FRAME_WAIT;
        }

        Scott

        On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:
         
        Hi,

        My question relates to the constructing of KISS packets.

        I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

        I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

        0xC0
        0x00
        [ standard AX.25 packet, starting and ending with 0x7E ... ]
        0xC0

        Does that look correct?

        I think I'm just supposed to write that raw binary data to the serial port, right?

        How does the TNC send received packets back to my software?  Same format?

        I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

        thanks,

        Chris
        NW5W

      • Kenneth Finnegan
        Correct me if I m wrong, but I understood that KISS frames don t include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination
        Message 3 of 12 , Jun 12, 2014
        • 0 Attachment
          Correct me if I'm wrong, but I understood that KISS frames don't include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination address and end with the end of the information field.

          I assume you've found: http://ax25.net/kiss.aspx



          On Thu, Jun 12, 2014 at 10:07 PM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:
           

          You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

          // Sending byte to host
          unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
          {
              switch (kiss_tx_state)
              {

              case STATE_FRAME_WAIT:                            // Start of a new frame
                  kiss_outc(FEND);                                // Frame end marker
                  kiss_outc(port);                                // Data frame on port 0
                  kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
             
              case STATE_DATA:
                  if (c == FEND)
                  {
                      kiss_outc(FESC);
                      c = TFEND;
                  }
                  if (c == FESC)
                  {
                      kiss_outc(FESC);
                      c = TFESC;
                  }
                  kiss_outc(c);
                  break;
             
              default:
                  kiss_tx_state = STATE_FRAME_WAIT;
                  break;
              }
             
              return 0;
          }

          // Done sending data to host
          void kiss_tx_done(void)
          {
              kiss_outc(FEND);
              kiss_tx_state = STATE_FRAME_WAIT;
          }

          Scott


          On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:
           
          Hi,

          My question relates to the constructing of KISS packets.

          I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

          I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

          0xC0
          0x00
          [ standard AX.25 packet, starting and ending with 0x7E ... ]
          0xC0

          Does that look correct?

          I think I'm just supposed to write that raw binary data to the serial port, right?

          How does the TNC send received packets back to my software?  Same format?

          I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

          thanks,

          Chris
          NW5W


        • Scott Miller
          That s correct, the TNC handles the HDLC framing and checksum. Scott On 6/12/2014 10:52 PM, Kenneth Finnegan KennethFinnegan2007@gmail.com
          Message 4 of 12 , Jun 13, 2014
          • 0 Attachment
            That's correct, the TNC handles the HDLC framing and checksum.

            Scott

            On 6/12/2014 10:52 PM, Kenneth Finnegan KennethFinnegan2007@... [tracker2] wrote:
             
            Correct me if I'm wrong, but I understood that KISS frames don't include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination address and end with the end of the information field.

            I assume you've found: http://ax25.net/kiss.aspx



            On Thu, Jun 12, 2014 at 10:07 PM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:
             

            You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

            // Sending byte to host
            unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
            {
                switch (kiss_tx_state)
                {

                case STATE_FRAME_WAIT:                            // Start of a new frame
                    kiss_outc(FEND);                                // Frame end marker
                    kiss_outc(port);                                // Data frame on port 0
                    kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
               
                case STATE_DATA:
                    if (c == FEND)
                    {
                        kiss_outc(FESC);
                        c = TFEND;
                    }
                    if (c == FESC)
                    {
                        kiss_outc(FESC);
                        c = TFESC;
                    }
                    kiss_outc(c);
                    break;
               
                default:
                    kiss_tx_state = STATE_FRAME_WAIT;
                    break;
                }
               
                return 0;
            }

            // Done sending data to host
            void kiss_tx_done(void)
            {
                kiss_outc(FEND);
                kiss_tx_state = STATE_FRAME_WAIT;
            }

            Scott


            On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:
             
            Hi,

            My question relates to the constructing of KISS packets.

            I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

            I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

            0xC0
            0x00
            [ standard AX.25 packet, starting and ending with 0x7E ... ]
            0xC0

            Does that look correct?

            I think I'm just supposed to write that raw binary data to the serial port, right?

            How does the TNC send received packets back to my software?  Same format?

            I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

            thanks,

            Chris
            NW5W



          • Christopher Snell
            OK, so no FENDs or escape codes needed? I must be doing something else wrong. I tried sending w/o the FEND and the 0x00 command field, starting the packet
            Message 5 of 12 , Jun 14, 2014
            • 0 Attachment
              OK, so no FENDs or escape codes needed?   I must be doing something else wrong.   I tried sending w/o the FEND and the 0x00 command field, starting the packet with the destination address, but it still doesn't seem to make it to APRS-IS.   See my other message for a packet dump.

              Thanks for the help.

              Chris
              NW5W


              On Fri, Jun 13, 2014 at 8:32 AM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:


              That's correct, the TNC handles the HDLC framing and checksum.

              Scott


              On 6/12/2014 10:52 PM, Kenneth Finnegan KennethFinnegan2007@... [tracker2] wrote:
               
              Correct me if I'm wrong, but I understood that KISS frames don't include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination address and end with the end of the information field.

              I assume you've found: http://ax25.net/kiss.aspx



              On Thu, Jun 12, 2014 at 10:07 PM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:
               

              You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

              // Sending byte to host
              unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
              {
                  switch (kiss_tx_state)
                  {

                  case STATE_FRAME_WAIT:                            // Start of a new frame
                      kiss_outc(FEND);                                // Frame end marker
                      kiss_outc(port);                                // Data frame on port 0
                      kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
                 
                  case STATE_DATA:
                      if (c == FEND)
                      {
                          kiss_outc(FESC);
                          c = TFEND;
                      }
                      if (c == FESC)
                      {
                          kiss_outc(FESC);
                          c = TFESC;
                      }
                      kiss_outc(c);
                      break;
                 
                  default:
                      kiss_tx_state = STATE_FRAME_WAIT;
                      break;
                  }
                 
                  return 0;
              }

              // Done sending data to host
              void kiss_tx_done(void)
              {
                  kiss_outc(FEND);
                  kiss_tx_state = STATE_FRAME_WAIT;
              }

              Scott


              On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:
               
              Hi,

              My question relates to the constructing of KISS packets.

              I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

              I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

              0xC0
              0x00
              [ standard AX.25 packet, starting and ending with 0x7E ... ]
              0xC0

              Does that look correct?

              I think I'm just supposed to write that raw binary data to the serial port, right?

              How does the TNC send received packets back to my software?  Same format?

              I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

              thanks,

              Chris
              NW5W






            • Lynn W. Deffenbaugh (Mr)
              Have you verified that your T3 actually makes it to aprs.fi ? Put the port in Text mode and use a terminal emulator to craft a packet, the easiest being a
              Message 6 of 12 , Jun 14, 2014
              • 0 Attachment
                Have you verified that your T3 actually "makes it to aprs.fi"?  Put the port in Text mode and use a terminal emulator to craft a packet, the easiest being a status report starting with >.  If that doesn't show up, then it's an RF issue between the T3, the radio, local digis (if needed), and the closest IGate that would deliver the packet to the APRS-IS.

                Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32


                On 6/14/2014 3:45 AM, Christopher Snell chris.snell@... [tracker2] wrote:
                OK, so no FENDs or escape codes needed?   I must be doing something else wrong.   I tried sending w/o the FEND and the 0x00 command field, starting the packet with the destination address, but it still doesn't seem to make it to APRS-IS.   See my other message for a packet dump.

                Thanks for the help.

                Chris
                NW5W


                On Fri, Jun 13, 2014 at 8:32 AM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:


                That's correct, the TNC handles the HDLC framing and checksum.

                Scott


                On 6/12/2014 10:52 PM, Kenneth Finnegan KennethFinnegan2007@... [tracker2] wrote:
                 
                Correct me if I'm wrong, but I understood that KISS frames don't include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination address and end with the end of the information field.

                I assume you've found: http://ax25.net/kiss.aspx



                On Thu, Jun 12, 2014 at 10:07 PM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:
                 

                You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

                // Sending byte to host
                unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
                {
                    switch (kiss_tx_state)
                    {

                    case STATE_FRAME_WAIT:                            // Start of a new frame
                        kiss_outc(FEND);                                // Frame end marker
                        kiss_outc(port);                                // Data frame on port 0
                        kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
                   
                    case STATE_DATA:
                        if (c == FEND)
                        {
                            kiss_outc(FESC);
                            c = TFEND;
                        }
                        if (c == FESC)
                        {
                            kiss_outc(FESC);
                            c = TFESC;
                        }
                        kiss_outc(c);
                        break;
                   
                    default:
                        kiss_tx_state = STATE_FRAME_WAIT;
                        break;
                    }
                   
                    return 0;
                }

                // Done sending data to host
                void kiss_tx_done(void)
                {
                    kiss_outc(FEND);
                    kiss_tx_state = STATE_FRAME_WAIT;
                }

                Scott


                On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:
                 
                Hi,

                My question relates to the constructing of KISS packets.

                I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

                I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

                0xC0
                0x00
                [ standard AX.25 packet, starting and ending with 0x7E ... ]
                0xC0

                Does that look correct?

                I think I'm just supposed to write that raw binary data to the serial port, right?

                How does the TNC send received packets back to my software?  Same format?

                I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

                thanks,

                Chris
                NW5W







              • Jason KG4WSV
                ... Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug. Try
                Message 7 of 12 , Jun 14, 2014
                • 0 Attachment
                  > On Jun 14, 2014, at 7:15 AM, "'Lynn W. Deffenbaugh (Mr)' ldeffenb@... [tracker2]" <tracker2@yahoogroups.com> wrote:
                  >
                  > Have you verified that your T3 actually "makes it to aprs.fi"?

                  Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug. Try to shorten that chain.

                  If you don't have your own rf receive station, try feeding the kiss packets from your device directly into an APRS application (null modem cable into another serial port that is monitored by xastir, etc).

                  -j
                • Fred Hillhouse Jr
                  I have written something that mimics a TNC. It creates a KISS packet. For testing, I sent it to a port in APRSIS32. With only your software and a client, you
                  Message 8 of 12 , Jun 14, 2014
                  • 0 Attachment

                    I have written something that mimics a TNC. It creates a KISS packet. For testing, I sent it to a port in APRSIS32. With only your software and a client, you may be able to test successfully.

                     

                    Best regards,

                    Fred N7FMH

                     


                    From: tracker2@yahoogroups.com [mailto: tracker2@yahoogroups.com ]
                    Sent: Saturday, June 14, 2014 8:15 AM
                    To: tracker2@yahoogroups.com
                    Subject: *** SPAM ***Re: [tracker2] Speaking KISS

                     

                     

                    Have you verified that your T3 actually "makes it to aprs.fi"?  Put the port in Text mode and use a terminal emulator to craft a packet, the easiest being a status report starting with >.  If that doesn't show up, then it's an RF issue between the T3, the radio, local digis (if needed), and the closest IGate that would deliver the packet to the APRS-IS.

                    Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32

                    On 6/14/2014 3:45 AM, Christopher Snell chris.snell@... [tracker2] wrote:

                    OK, so no FENDs or escape codes needed?   I must be doing something else wrong.   I tried sending w/o the FEND and the 0x00 command field, starting the packet with the destination address, but it still doesn't seem to make it to APRS-IS.   See my other message for a packet dump.

                     

                    Thanks for the help.

                     

                    Chris

                    NW5W

                     

                    On Fri, Jun 13, 2014 at 8:32 AM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:

                     

                    That's correct, the TNC handles the HDLC framing and checksum.

                    Scott



                    On 6/12/2014 10:52 PM, Kenneth Finnegan KennethFinnegan2007@... [tracker2] wrote:

                     

                    Correct me if I'm wrong, but I understood that KISS frames don't include the 0x7E or the frame check sum. Packets over the KISS link begin with the destination address and end with the end of the information field.

                     

                    I assume you've found: http://ax25.net/kiss.aspx


                     

                    On Thu, Jun 12, 2014 at 10:07 PM, Scott Miller scott@... [tracker2] <tracker2@yahoogroups.com> wrote:

                     

                    You'll also need to escape the frame end and frame escape codes.  And yes, the TNC uses the same framing format for incoming packets.  The T3's KISS send code looks like this:

                    // Sending byte to host
                    unsigned char kiss_tx_byte(unsigned char c, unsigned char port)
                    {
                        switch (kiss_tx_state)
                        {

                        case STATE_FRAME_WAIT:                            // Start of a new frame
                            kiss_outc(FEND);                                // Frame end marker
                            kiss_outc(port);                                // Data frame on port 0
                            kiss_tx_state = STATE_DATA;                // Now in data mode - fall through
                       
                        case STATE_DATA:
                            if (c == FEND)
                            {
                                kiss_outc(FESC);
                                c = TFEND;
                            }
                            if (c == FESC)
                            {
                                kiss_outc(FESC);
                                c = TFESC;
                            }
                            kiss_outc(c);
                            break;
                       
                        default:
                            kiss_tx_state = STATE_FRAME_WAIT;
                            break;
                        }
                       
                        return 0;
                    }

                    // Done sending data to host
                    void kiss_tx_done(void)
                    {
                        kiss_outc(FEND);
                        kiss_tx_state = STATE_FRAME_WAIT;
                    }

                    Scott



                    On 5/23/2014 12:05 AM, Christopher Snell chris.snell@... [tracker2] wrote:

                     

                    Hi,

                     

                    My question relates to the constructing of KISS packets.

                     

                    I'm building a balloon payload using a BeagleBone Black and a OT1+ SMT (though I will probably upgrade that to a T3-Mini).  I'm doing this exercise to learn about AX.25 and the nuts and bolts of APRS. I'm reading from the GPS with my software on the BBB and hoping to talk KISS to the Argent tracker to send the APRS out.

                     

                    I've been reading the APRS Protocol Reference and I think I understand how a basic packet is constructed.   I think this is how I send the packet over kiss:

                     

                    0xC0

                    0x00

                    [ standard AX.25 packet, starting and ending with 0x7E ... ]

                    0xC0

                     

                    Does that look correct?

                     

                    I think I'm just supposed to write that raw binary data to the serial port, right?

                     

                    How does the TNC send received packets back to my software?  Same format?

                     

                    I wonder sometimes if I'm better off using the Linux kernel AX.25 implementation but what fun is that? :)

                     

                    thanks,

                     

                    Chris

                    NW5W

                     

                     



                     

                     

                  • Christopher Snell
                    Yep, my T2 works just fine. It s been operating as an iGate using aprx over KISS for some time. I can also read and decode packets off the serial line with
                    Message 9 of 12 , Jun 14, 2014
                    • 0 Attachment
                      Yep, my T2 works just fine.   It's been operating as an iGate using aprx over KISS for some time.   I can also read and decode packets off the serial line with no problem.   I think it's a packet format issue.

                      Chris
                      NW5W


                      On Sat, Jun 14, 2014 at 6:12 AM, Jason KG4WSV kg4wsv@... [tracker2] <tracker2@yahoogroups.com> wrote:

                      > On Jun 14, 2014, at 7:15 AM, "'Lynn W. Deffenbaugh (Mr)' ldeffenb@... [tracker2]" <tracker2@yahoogroups.com> wrote:
                      >
                      > Have you verified that your T3 actually "makes it to aprs.fi"?

                      Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug.  Try to shorten that chain.

                      If you don't have your own rf receive station, try feeding the kiss packets from your device directly into an APRS application (null modem cable into another serial port that is monitored by xastir, etc).

                      -j



                      ------------------------------------
                      Posted by: Jason KG4WSV <kg4wsv@...>
                      ------------------------------------

                      Yahoo Groups Links

                      <*> To visit your group on the web, go to:
                          http://groups.yahoo.com/group/tracker2/

                      <*> Your email settings:
                          Individual Email | Traditional

                      <*> To change settings online go to:
                          http://groups.yahoo.com/group/tracker2/join
                          (Yahoo! ID required)

                      <*> To change settings via email:
                          tracker2-digest@yahoogroups.com
                          tracker2-fullfeatured@yahoogroups.com

                      <*> To unsubscribe from this group, send an email to:
                          tracker2-unsubscribe@yahoogroups.com

                      <*> Your use of Yahoo Groups is subject to:
                          https://info.yahoo.com/legal/us/yahoo/utos/terms/


                    • Christopher Snell
                      Jason, that s a good idea: using a null modem cable to talk to back to Xastir. Do you know offhand if most applications and TNCs pay attention to the
                      Message 10 of 12 , Jun 14, 2014
                      • 0 Attachment
                        Jason, that's a good idea: using a null modem cable to talk to back to Xastir.   Do you know offhand if most applications and TNCs pay attention to the "command bit" (per https://www.tapr.org/pub_ax25.html)?  I'm still not entirely straight on which side sends command packets and which side sends response packets.

                        I'm also going to modify my decoder app to do a raw dump of a known-good packet so I can compare them bit-by-bit.

                        thanks,

                        Chris
                        NW5W


                        On Sat, Jun 14, 2014 at 6:12 AM, Jason KG4WSV kg4wsv@... [tracker2] <tracker2@yahoogroups.com> wrote:

                        > On Jun 14, 2014, at 7:15 AM, "'Lynn W. Deffenbaugh (Mr)' ldeffenb@... [tracker2]" <tracker2@yahoogroups.com> wrote:
                        >
                        > Have you verified that your T3 actually "makes it to aprs.fi"?

                        Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug.  Try to shorten that chain.

                        If you don't have your own rf receive station, try feeding the kiss packets from your device directly into an APRS application (null modem cable into another serial port that is monitored by xastir, etc).

                        -j



                        ------------------------------------
                        Posted by: Jason KG4WSV <kg4wsv@...>
                        ------------------------------------

                        Yahoo Groups Links

                        <*> To visit your group on the web, go to:
                            http://groups.yahoo.com/group/tracker2/

                        <*> Your email settings:
                            Individual Email | Traditional

                        <*> To change settings online go to:
                            http://groups.yahoo.com/group/tracker2/join
                            (Yahoo! ID required)

                        <*> To change settings via email:
                            tracker2-digest@yahoogroups.com
                            tracker2-fullfeatured@yahoogroups.com

                        <*> To unsubscribe from this group, send an email to:
                            tracker2-unsubscribe@yahoogroups.com

                        <*> Your use of Yahoo Groups is subject to:
                            https://info.yahoo.com/legal/us/yahoo/utos/terms/


                      • Christopher Snell
                        So I got it working! http://aprs.fi/?c=raw&call=NW5W-7 What I did was pull a known-good packet off the air with my decoder and simulate creating the exact same
                        Message 11 of 12 , Jun 14, 2014
                        • 0 Attachment
                          So I got it working!  

                          http://aprs.fi/?c=raw&call=NW5W-7

                          What I did was pull a known-good packet off the air with my decoder and simulate creating the exact same packet with my encoder.   Bit by bit, I made changes to the encoder to make them match.  

                          To fix things, I had to stop sending the initial FEND and change the mask on the last path SSID:

                          I'm still not sure if I'm encoding the SSID on the last path address correctly.   If you look at the raw packets above, the first packet was sent at 14:43:13 and was supposed to have a path of WIDE2-2.  The second packet at 14:57:53 was supposed to have WIDE1-1,WIDE2-1.   
                          I'm still not groking APRS paths and how digis modify them so I'm not sure that I'm getting it correct here.

                          Chris


                          On Sat, Jun 14, 2014 at 12:46 PM, Christopher Snell <chris.snell@...> wrote:
                          Jason, that's a good idea: using a null modem cable to talk to back to Xastir.   Do you know offhand if most applications and TNCs pay attention to the "command bit" (per https://www.tapr.org/pub_ax25.html)?  I'm still not entirely straight on which side sends command packets and which side sends response packets.

                          I'm also going to modify my decoder app to do a raw dump of a known-good packet so I can compare them bit-by-bit.

                          thanks,

                          Chris
                          NW5W


                          On Sat, Jun 14, 2014 at 6:12 AM, Jason KG4WSV kg4wsv@... [tracker2] <tracker2@yahoogroups.com> wrote:

                          > On Jun 14, 2014, at 7:15 AM, "'Lynn W. Deffenbaugh (Mr)' ldeffenb@... [tracker2]" <tracker2@yahoogroups.com> wrote:
                          >
                          > Have you verified that your T3 actually "makes it to aprs.fi"?

                          Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug.  Try to shorten that chain.

                          If you don't have your own rf receive station, try feeding the kiss packets from your device directly into an APRS application (null modem cable into another serial port that is monitored by xastir, etc).

                          -j



                          ------------------------------------
                          Posted by: Jason KG4WSV <kg4wsv@...>
                          ------------------------------------

                          Yahoo Groups Links

                          <*> To visit your group on the web, go to:
                              http://groups.yahoo.com/group/tracker2/

                          <*> Your email settings:
                              Individual Email | Traditional

                          <*> To change settings online go to:
                              http://groups.yahoo.com/group/tracker2/join
                              (Yahoo! ID required)

                          <*> To change settings via email:
                              tracker2-digest@yahoogroups.com
                              tracker2-fullfeatured@yahoogroups.com

                          <*> To unsubscribe from this group, send an email to:
                              tracker2-unsubscribe@yahoogroups.com

                          <*> Your use of Yahoo Groups is subject to:
                              https://info.yahoo.com/legal/us/yahoo/utos/terms/



                        • Christopher Snell
                          OK, I finally have everything working properly. It turns out that I did need the initial and final FENDs and that the correct mask to inclusive-OR to the SSID
                          Message 12 of 12 , Jun 14, 2014
                          • 0 Attachment
                            OK, I finally have everything working properly.  It turns out that I did need the initial and final FENDs and that the correct mask to inclusive-OR to the SSID in the final path address is 0x61.  With the wrong mask, I would get packets with ridiculous paths that were silently ignored.  Thanks to Lynn's tip, I also found that aprx makes a great AX.25 debugging tool when looped back via null modem!

                            Thanks for the help everyone, case closed.

                            Chris
                            NW5W


                            On Sat, Jun 14, 2014 at 3:03 PM, Christopher Snell <chris.snell@...> wrote:
                            So I got it working!  

                            http://aprs.fi/?c=raw&call=NW5W-7

                            What I did was pull a known-good packet off the air with my decoder and simulate creating the exact same packet with my encoder.   Bit by bit, I made changes to the encoder to make them match.  

                            To fix things, I had to stop sending the initial FEND and change the mask on the last path SSID:

                            I'm still not sure if I'm encoding the SSID on the last path address correctly.   If you look at the raw packets above, the first packet was sent at 14:43:13 and was supposed to have a path of WIDE2-2.  The second packet at 14:57:53 was supposed to have WIDE1-1,WIDE2-1.   
                            I'm still not groking APRS paths and how digis modify them so I'm not sure that I'm getting it correct here.

                            Chris



                            On Sat, Jun 14, 2014 at 12:46 PM, Christopher Snell <chris.snell@...> wrote:
                            Jason, that's a good idea: using a null modem cable to talk to back to Xastir.   Do you know offhand if most applications and TNCs pay attention to the "command bit" (per https://www.tapr.org/pub_ax25.html)?  I'm still not entirely straight on which side sends command packets and which side sends response packets.

                            I'm also going to modify my decoder app to do a raw dump of a known-good packet so I can compare them bit-by-bit.

                            thanks,

                            Chris
                            NW5W


                            On Sat, Jun 14, 2014 at 6:12 AM, Jason KG4WSV kg4wsv@... [tracker2] <tracker2@yahoogroups.com> wrote:

                            > On Jun 14, 2014, at 7:15 AM, "'Lynn W. Deffenbaugh (Mr)' ldeffenb@... [tracker2]" <tracker2@yahoogroups.com> wrote:
                            >
                            > Have you verified that your T3 actually "makes it to aprs.fi"?

                            Lynn makes an extremely good point. Your software - t3 - radio - rf - other radio - other tnc - igate - internet is an incredibly long chain to debug.  Try to shorten that chain.

                            If you don't have your own rf receive station, try feeding the kiss packets from your device directly into an APRS application (null modem cable into another serial port that is monitored by xastir, etc).

                            -j



                            ------------------------------------
                            Posted by: Jason KG4WSV <kg4wsv@...>
                            ------------------------------------

                            Yahoo Groups Links

                            <*> To visit your group on the web, go to:
                                http://groups.yahoo.com/group/tracker2/

                            <*> Your email settings:
                                Individual Email | Traditional

                            <*> To change settings online go to:
                                http://groups.yahoo.com/group/tracker2/join
                                (Yahoo! ID required)

                            <*> To change settings via email:
                                tracker2-digest@yahoogroups.com
                                tracker2-fullfeatured@yahoogroups.com

                            <*> To unsubscribe from this group, send an email to:
                                tracker2-unsubscribe@yahoogroups.com

                            <*> Your use of Yahoo Groups is subject to:
                                https://info.yahoo.com/legal/us/yahoo/utos/terms/




                          Your message has been successfully submitted and would be delivered to recipients shortly.