<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>I spent quite a bit of time on this. With my standard test packet of 11 CAN frames expected, and the standard driver, I get perhaps 4 or 5 of them (about half are lost, and some are out of order).<div class=""><br class=""></div><div class="">I made the suggested change to move the MyCan.IncomingFrame() call out of the ‘can’ object (when frameReceived is true) to within the mcp2515 AsynchronousInterruptHandler itself. That allows the handler to receive more than one frame per call and is a very simple change. Once that is done, we can at least now try to tune it.</div><div class=""><br class=""></div><div class="">So I then modified the code of mcp2515 AsynchronousInterruptHandler to loop so long as the interrupt flag says either buffer #0 or #1 has a frame. The result looks something like this:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler instat=01 errflag=00 txb0ctrl=00</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler rx frame from buffer #0 (ID 0x110 B1=54)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler instat=23 errflag=40 txb0ctrl=00</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler rx frame from buffer #0 (ID 0x110 B1=40)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler rx frame from buffer #1 (ID 0x110 B1=45)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler Clear RX buffer #0 overflow flag</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler instat=23 errflag=00 txb0ctrl=00</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler rx frame from buffer #0 (ID 0x110 B1=24)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler rx frame from buffer #1 (ID 0x110 B1=34)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal; font-size: 14px;" class="">D (63192) mcp2515: AsynchronousInterruptHandler instat=20 errflag=00 txb0ctrl=00</span></font></div></div></blockquote><div class=""><div><br class=""></div><div>The actual frames on the bus are (B1 values) 54, 45, 40, 0a, 7a, d5, 0c, 14, 1c, 24, 2c, and 34. Looking at the above debug output, we get:</div><div><br class=""></div><div><ul class="MailOutline"><li class="">Interrupt flags show buffer #0 has a frame. It is B1=54. Good.</li><li class="">Interrupt flags show buffers #0 and #1 both have frames. Buffer #0 has B1=40 and buffer #1 has B1=45.</li><li class="">Etc etc</li></ul></div><div><br class=""></div><div>That is not good. What must have happened is that the first B1=54 frame arrived, got put in buffer #0, and interrupt was raised. We checked the interrupt flags, found buffer #0 had something, and read the frame ok. All is good. But what is happening now is that between the time we checked the interrupt flags and the time we finished reading the 13 bytes from buffer #0, a second frame arrived and was put in buffer #1. Then a third frame arrives and is put in buffer #0. We loop back to check the interrupt flags and find both buffers have frames ready. So we ready buffer #0 to get the third frame, then buffer #1 to get the second frame. We are out of sequence.</div><div><br class=""></div><div>By removing the ESP_LOGD statements, I can improve performance enough to get 10 out of the 11 frames, but still sometimes frames are swapped in order.</div><div><br class=""></div><div>By over-clocking the MCP2515 SPI bus (supposed to be 10MHz, but I push it to 15MHz), I can get all 11 frames, but two are out of order.</div><div><br class=""></div><div>I suppose I can minimise the chance of the out-of-order issue by repeating the call to read interrupt flags after processing buffer #0 but before checking for buffer #1. That would at least reduce the time window to as small as possible, but would be another SPI call and is too slow. Doing that brings us back to losing frames.</div><div><br class=""></div><div>Another approach may relate to our current use of the READ command to read 5 status registers (interrupt flags, error flags, two skipped, then transmit buffer #0 flags). There are two specific commands ‘read status’ (which gets the rx and tx buffer status flags in one byte), and ‘rx status’ (which gets just the receive buffer status and some info on the frames received, again in one byte). I think those are more designed for what we are trying to do. I can try to optimise the read loop at the start of the AsynchronousInterruptHandler to use one of those - they are 2 SPI bytes vs 7 for what we are doing at the moment (so more than three times as fast).</div><div><br class=""></div><div>I think it will also be worthwhile having a look at some other open source mcp2515 drivers to see how other people are doing it.</div><div><br class=""></div><div>Regards, Mark.</div><div><br class=""><blockquote type="cite" class=""><div class="">On 4 Jun 2021, at 3:02 PM, Mark Webb-Johnson <<a href="mailto:mark@webb-johnson.net" class="">mark@webb-johnson.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="content-isolator__container"><div class="protected-part"><div class="protected-title">Signed PGP part</div><div class="protected-content"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>The handler can only return one frame. As it is, if both buffers #0 and #1 have a frame, it returns #0. I am not sure if it gets called again (seems to depend on the interrupt gpio status).<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">// Read the interrupt pin status and if it's still active (low), require another interrupt handling iteration</div><div class="">  return !gpio_get_level((gpio_num_t)m_intpin);</div></div></blockquote><div class=""><br class=""></div><div class="">Maybe a quick solution is to just return true, immediately after *frameReceived=true, if intflag=0x01 and (intstat & CANINTF_RX1IF)? That would dispatch the incoming frame, then call back for more (from the loop in the can object).</div><div class=""><br class=""></div><div class="">I am not sure in general why AsynchronousInterruptHandler uses a bool frameReceived flag, and doesn’t just simply dispatch the frame immediately to the can object? That would simplify things and allow the AsynchronousInterruptHandler to handle receiving both frames in the same call. Given that MCP2515 is the only driver using AsynchronousInterruptHandler, that would be an easy fix.</div><div class=""><br class=""></div><div class="">Regards, Mark.</div><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On 4 Jun 2021, at 2:29 PM, Michael Balzer <<a href="mailto:dexter@expeedo.de" class="">dexter@expeedo.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="content-isolator__container"><div class="protected-part"><div class="protected-title">Signed PGP part</div><div class="protected-content">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div class="">
    Mark,<br class="">
    <br class="">
    the handler is meant to read both buffers sequentially, and on a
    quick glance I don't see why it wouldn't. But it can't hurt if you
    do an audit of the code.<br class="">
    <br class="">
    I remember having had that out-of-order discussion when handling
    both RX buffers before here, but don't remember the outcome. Too bad
    the list archives cannot be searched.<br class="">
    <br class="">
    I think it was the MCP not doing overflows from RX buffer 1 to 0.
    I.e. if buffer 1 still has a frame on arrival, the new frame will be
    lost. That means losing a frame if the handler cannot react fast
    enough, but receiving out of order would be worse.<br class="">
    <br class="">
    Regards,<br class="">
    Michael<br class="">
    <br class="">
    <br class="">
    <div class="moz-cite-prefix">Am 04.06.21 um 04:16 schrieb Mark
      Webb-Johnson:<br class="">
    </div>
    <blockquote type="cite" cite="mid:D8550468-CA1D-4552-93D6-CAB4DC5B364F@webb-johnson.net" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      Michael,
      <div class=""><br class="">
      </div>
      <div class="">Good suggestion on the timing. I think it best to
        use the same timings as the Arduino library, and have committed
        that change. No vehicle modules currently use 1Mbps on MCP2515
        anyway. Unfortunately, it didn’t resolve my problem.</div>
      <div class=""><br class="">
      </div>
      <div class="">Looking at the error flags I see:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class="">Error
                flag:  0x23401c01</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""><br class="">
              </span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class="">intstat
                0x23</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      ERRIF Error Interrupt pending</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      RX0IF Rx buffer 0 full interrupt</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      RX1IF Rx buffer 1 full interrupt</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""><br class="">
              </span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class="">errflag
                0x40</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      RX0OVR Rx buffer 0 overflow</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""><br class="">
              </span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class="">intflag
                0x1c01</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      0x01 Implied from Rx buffer 0 full</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""><br class="">
              </span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      0x1c = 0001 1100</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      Means RXB0 overflow. No data lost in 
this case (it
                went into RXB1)</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      Means (errflag & EFLG_RX01OVR), clear RX
                buffer overflow flags</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size: 12px;" class=""> 
                      Means (intstat & (CANINTF_MERRF |
                CANINTF_WAKIF | CANINTF_ERRIF)), clear error &
                wakeup interrupts</span></font></div>
        </div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">So we have CAN frames in BOTH rx buffers #0 and #1.
        Looking at our driver code
        (mcp2515::AsynchronousInterruptHandler), it seems in that case
        we only read from buffer #0. From the flow I can see, we are
        going to lose that second frame. We’re not really handling the
        issue of two frames being in the buffers when the interrupt
        handler is called.</div>
      <div class=""><br class="">
      </div>
      <div class="">As the architecture of <span style="caret-color: rgb(0, 0, 0);" class="">mcp2515::AsynchronousInterruptHandler
          can only receive one frame, it is not so simple to fix. We
          could simply read and return the frame in buffer #0,
          requesting to be called again (return true), but another frame
          may arrive (into buffer #0) before we get called again, and
          that is going to result in out-of-order frames.</span></div>
      <div class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class="">
        </span></div>
      <div class="">I’ll work on improving the handling of this 
case.</div>
      <div class=""><br class="">
      </div>
      <div class="">Regards, Mark.</div>
      <div class="">
        <div class=""><br class="">
          <blockquote type="cite" class="">
            <div class="">On 3 Jun 2021, at 3:07 PM, Michael Balzer <<a href="mailto:dexter@expeedo.de" class="" moz-do-not-send="true">dexter@expeedo.de</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <div class="content-isolator__container">
                <div class="protected-part">
                  <div class="protected-title">Signed PGP part</div>
                  <div class="protected-content">
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=UTF-8" class="">
                    <div class=""> Mark,<br class="">
                      <br class="">
                      I'd give the bit timing a try first, the MCP2515
                      seems to be very sensitive for this. I've even had
                      some trouble finding a working configuration for
                      the 50 kbit timing I've added a couple weeks ago.<br class="">
                      <br class="">
                      We currently use 00 / D0 / 82 which is also the
                      result of the old Intrepid timing calculator.
                      That's a propagation segment of 1 Tq and 3 Tq per
                      phase, resulting in samling between 50% - 62.5%.<br class="">
                      <br class="">
                      The Arduino MCP CAN lib by Cory Fowler also had
                      this previously, but then changed in…<br class="">
                      <br class="">
                      <a class="moz-txt-link-freetext" href="https://github.com/coryjfowler/MCP_CAN_lib/commit/ece730cf697fef1cbe8a90111694868168d41000" moz-do-not-send="true">https://github.com/coryjfowler/MCP_CAN_lib/commit/ece730cf697fef1cbe8a90111694868168d41000</a><br class="">
                      <br class="">
                      …to 00 / CA / 81, which is a propagation segment
                      of 3 Tq and 2 Tq per phase, shifting the sampling
                      window to 62.5 - 75%.<br class="">
                      <br class="">
                      Our current configuration scheme for the internal
                      SJA1000 compatible CAN seems to sample at 62.5 -
                      75% as well, so that would also match.<br class="">
                      <br class="">
                      Regards,<br class="">
                      Michael<br class="">
                      <br class="">
                      <br class="">
                      <div class="moz-cite-prefix">Am 03.06.21 um 07:36
                        schrieb Mark Webb-Johnson:<br class="">
                      </div>
                      <blockquote type="cite" cite="mid:B95AD300-ED38-4826-8581-607C4170461E@webb-johnson.net" class="">
                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
                        <div class=""><br class="">
                        </div>
                        <div class="">I’m working on an implementation
                          of IP stack over CAN for the Tesla Roadster.
                          IP frames are encoded as a length followed by
                          a sequence of CAN frames, all on the same ID.
                          This runs over a 1MHz bus, so presumably the
                          traffic volume could be high at times.</div>
                        <div class=""><br class="">
                        </div>
                        <div class="">I was having problems with this
                          running on CAN2, so tried CAN1 and it worked
                          perfectly. Here are some simple dumps of a
                          single PING packet (and single PING response
                          packet):</div>
                        <div class=""><br class="">
                        </div>
                        <div class="">ID #111 is used to transmit an IP
                          packet, and ID #110 is used to receive an IP
                          packet. The special empty data frame is an
                          acknowledgment.</div>
                        <div class=""><br class="">
                        </div>
                        <div class="">Using latest master branch code
                          (3.2.016-196-g0aad1a9f/ota_1/edge (build idf
                          v3.3.4-848-g1ff5e24b1 Jun  2 2021 09:28:58)).</div>
                        <div class=""><br class="">
                        </div>
                        <div class="">So, first let’s test with 
traffic
                          on CAN1 (active, 1Mbps), and listening on CAN2
                          (listen, 1Mbps):</div>
                        <div class=""><br class="">
                        </div>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class="">TCPDUMP:</span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><br class="">
                              </span></font></blockquote>
                        </blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><span style="font-family: "Andale
                                Mono";" class="">05:57:55.980291 IP
                                (tos 0x0, ttl 64, id 43101, offset 0,
                                flags [DF], proto ICMP (1), length 84)</span></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""> 
                                    10.10.99.3 > 10.10.99.2: ICMP
                                  echo request, id 23372, seq 1, length
                                  64</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0000:
                                   4500 0054 a85d 4000 4001 b832 0a0a
                                  6303  <a class="moz-txt-link-abbreviated" href="mailto:E..T.]@.@..2..c" moz-do-not-send="true">E..T.]@.@..2..c</a>.</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0010:
                                   0a0a 6302 0800 7df8 5b4c 0001 5361
                                  b860  ..c...}.[L..Sa.`</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0020:
                                   19f5 0e00 0809 0a0b 0c0d 0e0f 1011
                                  1213  ................</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0030:
                                   1415 1617 1819 1a1b 1c1d 1e1f 2021
                                  2223  .............!"#</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0040:
                                   2425 2627 2829 2a2b 2c2d 2e2f 3031
                                  3233  $%&'()*+,-./0123</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0050:
                                   3435 3637                            
                                     4567</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><br class="">
                                </span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class="">05:57:56.436190
                                  IP (tos 0x0, ttl 64, id 14937, offset
                                  0, flags [none], proto ICMP (1),
                                  length 84)</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""> 
                                    10.10.99.2 > 10.10.99.3: ICMP
                                  echo reply, id 23372, seq 1, length 64</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0000:
                                   4500 0054 3a59 0000 4001 6637 0a0a
                                  6302  <a class="moz-txt-link-abbreviated" href="mailto:E..T:Y..@.f7..c" moz-do-not-send="true">E..T:Y..@.f7..c</a>.</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0010:
                                   0a0a 6303 0000 85f8 5b4c 0001 5361
                                  b860  ..c.....[L..Sa.`</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0020:
                                   19f5 0e00 0809 0a0b 0c0d 0e0f 1011
                                  1213  ................</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0030:
                                   1415 1617 1819 1a1b 1c1d 1e1f 2021
                                  2223  .............!"#</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0040:
                                   2425 2627 2829 2a2b 2c2d 2e2f 3031
                                  3233  $%&'()*+,-./0123</span></font></blockquote>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">  </span>0x0050:
                                   3435 3637                            
                                     4567</span></font></blockquote>
                            <font class="" face="Andale Mono"><span style="font-style: normal;" class=""><br class="">
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class="">Traffic
                                (as shown on PC the other end of the can
                                log tcp connection):</span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="font-style: normal;" class=""><br class="">
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 54 00</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 45 00 00 54 a8 5d 40
                                00</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 40 01 b8 32 0a 0a 63
                                03</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 0a 0a 63 02 08 00 7d
                                f8</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 5b 4c 00 01 53 61 b8
                                60</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 19 f5 0e 00 08 09 0a
                                0b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 0c 0d 0e 0f 10 11 12
                                13</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 14 15 16 17 18 19 1a
                                1b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 1c 1d 1e 1f 20 21 22
                                23</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 24 25 26 27 28 29 2a
                                2b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 2c 2d 2e 2f 30 31 32
                                33</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">tx: #111 34 35 36 37</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 54 00</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 45 00 00 54 3a 59 00
                                00</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 40 01 66 37 0a 0a 63
                                02</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 0a 0a 63 03 00 00 85
                                f8</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 5b 4c 00 01 53 61 b8
                                60</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 19 f5 0e 00 08 09 0a
                                0b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 0c 0d 0e 0f 10 11 12
                                13</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 14 15 16 17 18 19 1a
                                1b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 1c 1d 1e 1f 20 21 22
                                23</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 24 25 26 27 28 29 2a
                                2b</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 2c 2d 2e 2f 30 31 32
                                33</blockquote>
                              <blockquote style="margin: 0px 0px 0px
                                40px; border: none; padding: 0px;" class="">rx: #110 34 35 36 37</blockquote>
                              <br class="">
                            </font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">CAN1 active:</font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                            </font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1CER
                                TX_Queue T11 111 40 01 b8 32 0a 0a 63 03</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 45 00 00 54 a8 5d 40 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 40 01 b8 32 0a 0a 63 03</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1CER
                                TX_Queue T11 111 5b 4c 00 01 53 61 b8 60</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 0a 0a 63 02 08 00 7d f8</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 5b 4c 00 01 53 61 b8 60</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1CER
                                TX_Queue T11 111 0c 0d 0e 0f 10 11 12 13</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 19 f5 0e 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 0c 0d 0e 0f 10 11 12 13</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1CER
                                TX_Queue T11 111 1c 1d 1e 1f 20 21 22 23</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 14 15 16 17 18 19 1a 1b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 1c 1d 1e 1f 20 21 22 23</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1CER
                                TX_Queue T11 111 2c 2d 2e 2f 30 31 32 33</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 24 25 26 27 28 29 2a 2b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 2c 2d 2e 2f 30 31 32 33</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1T11
                                111 34 35 36 37</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 45 00 00 54 3a 59 00 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 40 01 66 37 0a 0a 63 02</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 0a 0a 63 03 00 00 85 f8</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 5b 4c 00 01 53 61 b8 60</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 19 f5 0e 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 0c 0d 0e 0f 10 11 12 13</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 14 15 16 17 18 19 1a 1b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 1c 1d 1e 1f 20 21 22 23</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 24 25 26 27 28 29 2a 2b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 2c 2d 2e 2f 30 31 32 33</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">1R11
                                110 34 35 36 37</blockquote>
                              <br class="">
                            </font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">CAN2 listen:</font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                            </font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 45 00 00 54 a8 5d 40 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 40 01 b8 32 0a 0a 63 03</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 0a 0a 63 02 08 00 7d f8</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 5b 4c 00 01 53 61 b8 60</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 19 f5 0e 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 0c 0d 0e 0f 10 11 12 13</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 14 15 16 17 18 19 1a 1b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 1c 1d 1e 1f 20 21 22 23</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 24 25 26 27 28 29 2a 2b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 2c 2d 2e 2f 30 31 32 33</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                111 34 35 36 37</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2CER
                                Error intr=10 rxpkt=14 txpkt=0
                                errflags=0x23401c01 rxerr=0 txerr=0
                                rxinval=0 rxovr=0 txovr=0 txdelay=0
                                txfail=0 wdgreset=0 errreset=0</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110 40 01 66 37 0a 0a 63 02</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110 19 f5 0e 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110 34 35 36 37</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">2R11
                                110 45 00 00 54 3a 59 00 00</blockquote>
                            </font></blockquote>
                        </blockquote>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">Conclusion
                          is that the CAN1 traffic looks fine, and the
                          PING packet gets a good reply. All successful.
                          But the CAN2 listen is missing a few packets
                          and the last packet is out of order.</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">Now,
                          let’s test with traffic on CAN2 (active,
                          1Mbps), and listening on CAN1 (listen, 1Mbps):</div>
                        <div class=""><br class="">
                        </div>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <div style="caret-color: rgb(0, 0, 0);" class=""><font class="" face="Andale Mono">TCPDUMP:</font></div>
                          <div style="caret-color: rgb(0, 0, 0);" class=""><font class="" face="Andale Mono"><br class="">
                            </font></div>
                        </blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class="">
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0);" class="">
                                  <div class="">06:00:33.004060 IP (tos
                                    0x0, ttl 64, id 58240, offset 0,
                                    flags [DF], proto ICMP (1), length
                                    84)</div>
                                </span></font></div>
                          </blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class="">    10.10.99.3 >
                                  10.10.99.2: ICMP echo request, id
                                  23393, seq 1, length 64</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space:pre">   </span>0x0000:
                                   4500 0054 e380 4000 4001 7d0f 0a0a
                                  6303  <a class="moz-txt-link-abbreviated" href="mailto:E..T..@.@" moz-do-not-send="true">E..T..@.@</a>.}...c.</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space:pre">   </span>0x0010:
                                   0a0a 6302 0800 7cc8 5b61 0001 f161
                                  b860  ..c...|.[a...a.`</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space:pre">   </span>0x0020:
                                   8b0f 0000 0809 0a0b 0c0d 0e0f 1011
                                  1213  ................</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space:pre">   </span>0x0030:
                                   1415 1617 1819 1a1b 1c1d 1e1f 2021
                                  2223  .............!"#</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space:pre">   </span>0x0040:
                                   2425 2627 2829 2a2b 2c2d 2e2f 3031
                                  3233  $%&'()*+,-./0123</div>
                              </span></font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class="">
                                <div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>0x0050:
                                   3435 3637                            
                                     4567</div>
                              </span></font></blockquote>
                          <font class="" face="Andale Mono"><span style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                            </span></font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono">Traffic (as shown on PC
                            the other end of the can log tcp
                            connection):</font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                          </font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 45 00 00 54 e3 80 40 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 40 01 7d 0f 0a 0a 63 03</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 0a 0a 63 02 08 00 7c c8</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 5b 61 00 01 f1 61 b8 60</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 8b 0f 00 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 0c 0d 0e 0f 10 11 12 13</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 14 15 16 17 18 19 1a 1b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 1c 1d 1e 1f 20 21 22 23</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 24 25 26 27 28 29 2a 2b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 2c 2d 2e 2f 30 31 32 33</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">tx:
                                #111 34 35 36 37</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class=""><br class="">
                              </blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 54 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 45 00 00 54 3a 5a 00 00</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 0a 0a 63 03 00 00 84 c8</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 8b 0f 00 00 08 09 0a 0b</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 34 35 36 37</blockquote>
                              <blockquote style="margin: 0 0 0 40px;
                                border: none; padding: 0px;" class="">rx:
                                #110 40 01 66 36 0a 0a 63 02</blockquote>
                            </font></blockquote>
                        </blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                          </font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono">CAN2 active:</font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                          </font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono">
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 54 00</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><br class="">
                            </blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              TX_Queue T11 111 40 01 7d 0f 0a 0a 63 03</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 45 00 00 54 e3 80 40 00</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 40 01 7d 0f 0a 0a 63 03</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              TX_Queue T11 111 5b 61 00 01 f1 61 b8 60</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 0a 0a 63 02 08 00 7c c8</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 5b 61 00 01 f1 61 b8 60</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              TX_Queue T11 111 0c 0d 0e 0f 10 11 12 13</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 8b 0f 00 00 08 09 0a 0b</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 0c 0d 0e 0f 10 11 12 13</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              TX_Queue T11 111 1c 1d 1e 1f 20 21 22 23</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 14 15 16 17 18 19 1a 1b</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 1c 1d 1e 1f 20 21 22 23</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              TX_Queue T11 111 2c 2d 2e 2f 30 31 32 33</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 24 25 26 27 28 29 2a 2b</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 2c 2d 2e 2f 30 31 32 33</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2T11
                              111 34 35 36 37</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class=""><br class="">
                            </blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 54 00</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 45 00 00 54 3a 5a 00 00</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2CER
                              Error intr=15 rxpkt=3 txpkt=12
                              errflags=0x23401c01 rxerr=0 txerr=0
                              rxinval=0 rxovr=0 txovr=0 txdelay=5
                              txfail=0 wdgreset=0 errreset=0</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 0a 0a 63 03 00 00 84 c8</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 8b 0f 00 00 08 09 0a 0b</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 34 35 36 37</blockquote>
                            <blockquote style="margin: 0 0 0 40px;
                              border: none; padding: 0px;" class="">2R11
                              110 40 01 66 36 0a 0a 63 02</blockquote>
                            <br class="">
                          </font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono">CAN1 listen:</font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                          </font></blockquote>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono">1R11 111 54 00<br class="">
                              1R11 110</font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                              1R11 111 45 00 00 54 e3 80 40 00<br class="">
                              1R11 111 40 01 7d 0f 0a 0a 63 03<br class="">
                              1R11 111 0a 0a 63 02 08 00 7c c8<br class="">
                              1R11 111 5b 61 00 01 f1 61 b8 60<br class="">
                              1R11 111 8b 0f 00 00 08 09 0a 0b<br class="">
                              1R11 111 0c 0d 0e 0f 10 11 12 13<br class="">
                              1R11 111 14 15 16 17 18 19 1a 1b<br class="">
                              1R11 111 1c 1d 1e 1f 20 21 22 23<br class="">
                              1R11 111 24 25 26 27 28 29 2a 2b<br class="">
                              1R11 111 2c 2d 2e 2f 30 31 32 33<br class="">
                              1R11 111 34 35 36 37</font></blockquote>
                          <blockquote style="margin: 0 0 0 40px; border:
                            none; padding: 0px;" class=""><font class="" face="Andale Mono"><br class="">
                              1R11 110 54 00<br class="">
                              1R11 110 45 00 00 54 3a 5a 00 00<br class="">
                              1R11 110 40 01 66 36 0a 0a 63 02<br class="">
                              1R11 110 0a 0a 63 03 00 00 84 c8<br class="">
                              1R11 110 5b 61 00 01 f1 61 b8 60<br class="">
                              1R11 110 8b 0f 00 00 08 09 0a 0b<br class="">
                              1R11 110 0c 0d 0e 0f 10 11 12 13<br class="">
                              1R11 110 14 15 16 17 18 19 1a 1b<br class="">
                              1R11 110 1c 1d 1e 1f 20 21 22 23<br class="">
                              1R11 110 24 25 26 27 28 29 2a 2b<br class="">
                              1R11 110 2c 2d 2e 2f 30 31 32 33<br class="">
                              1R11 110 34 35 36 37</font></blockquote>
                        </blockquote>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">Conclusion
                          is that the CAN2 transmit traffic looks fine,
                          but no PING reply received via CAN. The CAN1
                          listen shows the reply just fine.</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">Here
                          is that last CAN1 listen, with timestamps:</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <blockquote style="margin: 0 0 0 40px; border:
                          none; padding: 0px;" class="">
                          <div class="">
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.080107
                                  1R11 111 54 00</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.081657
                                  1R11 110</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class=""><br class="">
                                </span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.227479
                                  1R11 111 45 00 00 54 e3 80 40 00</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.228318
                                  1R11 111 40 01 7d 0f 0a 0a 63 03</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.245727
                                  1R11 111 0a 0a 63 02 08 00 7c c8</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.246214
                                  1R11 111 5b 61 00 01 f1 61 b8 60</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.248219
                                  1R11 111 8b 0f 00 00 08 09 0a 0b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.248772
                                  1R11 111 0c 0d 0e 0f 10 11 12 13</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.250774
                                  1R11 111 14 15 16 17 18 19 1a 1b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.251338
                                  1R11 111 1c 1d 1e 1f 20 21 22 23</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.253380
                                  1R11 111 24 25 26 27 28 29 2a 2b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.253944
                                  1R11 111 2c 2d 2e 2f 30 31 32 33</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.265937
                                  1R11 111 34 35 36 37</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class=""><br class="">
                                </span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.269221
                                  1R11 110 54 00</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272095
                                  1R11 110 45 00 00 54 3a 5a 00 00</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272125
                                  1R11 110 40 01 66 36 0a 0a 63 02</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272156
                                  1R11 110 0a 0a 63 03 00 00 84 c8</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272193
                                  1R11 110 5b 61 00 01 f1 61 b8 60</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272245
                                  1R11 110 8b 0f 00 00 08 09 0a 0b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272277
                                  1R11 110 0c 0d 0e 0f 10 11 12 13</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272314
                                  1R11 110 14 15 16 17 18 19 1a 1b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272354
                                  1R11 110 1c 1d 1e 1f 20 21 22 23</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272387
                                  1R11 110 24 25 26 27 28 29 2a 2b</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272420
                                  1R11 110 2c 2d 2e 2f 30 31 32 33</span></font></div>
                            <div class=""><font class="" face="Andale
                                Mono"><span style="caret-color: rgb(0,
                                  0, 0); font-style: normal;" class="">1622696433.272452
                                  1R11 110 34 35 36 37</span></font></div>
                          </div>
                        </blockquote>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">It
                          is 1Mbps, with 30us or so between each packet.
                          This is the <b class="">only</b> traffic on
                          the bus. Everything else is turned off.
                          Roughly 12 packets each way. Surely even if we
                          were hitting a performance limit, our buffers
                          can handle 12 packets?</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">The
                          good news is that I have a good environment to
                          replicate this issue now, so any fix should be
                          easy to test.</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">I
                          haven’t worked on the MCP2515 driver in 
our
                          code in a long time, but it certainly seems
                          something is messed up and that could be badly
                          affecting vehicle modules using anything other
                          than CAN1.</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">I
                          will start to look at this over the weekend,
                          but has anyone got any ideas/suggestions?
                          Perhaps the bit timing registers are off by a
                          small amount (so it works on CAN1 but not on
                          CAN2)? Or something more serious in our
                          driver?</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <div style="caret-color: rgb(0, 0, 0);" class="">Regards,
                          Mark.</div>
                        <div style="caret-color: rgb(0, 0, 0);" class=""><br class="">
                        </div>
                        <br class="">
                        <fieldset class="mimeAttachmentHeader"></fieldset>
                        <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                      </blockquote>
                      <br class="">
                      <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                    </div>
                    <span id="cid:4729234A-8C3A-401F-9A97-EA6C8CE8B462" class=""><MCP2515Calc-1000kbit.ods></span></div>
                </div>
                <br class="">
                <iframe class="content-isolator__isolated-content" sandbox="allow-scripts" scrolling="auto" style="border:none;display:block;overflow:auto;" data-src="data:text/html;charset=UTF-8;base64,PGlmcmFtZS1jb250ZW50IGRhdGEtaWZyYW1lLWhlaWdodD0idHJ1ZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188QlI+T3Ztc0RldiBtYWlsaW5nIGxpc3Q8QlI+T3Ztc0RldkBsaXN0cy5vcGVudmVoaWNsZXMuY29tPEJSPmh0dHA6Ly9saXN0cy5vcGVudmVoaWNsZXMuY29tL21haWxtYW4vbGlzdGluZm8vb3Ztc2RldjxCUj48L2lmcmFtZS1jb250ZW50Pg==" width="200" height="10"></iframe></div>
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br class="">
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br class="">
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </div>

</div></div><br class=""><iframe class="content-isolator__isolated-content" sandbox="allow-scripts" scrolling="auto" width="200" height="10" style="border:none;display:block;overflow:auto;" data-src="data:text/html;charset=UTF-8;base64,PGlmcmFtZS1jb250ZW50IGRhdGEtaWZyYW1lLWhlaWdodD0idHJ1ZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188QlI+T3Ztc0RldiBtYWlsaW5nIGxpc3Q8QlI+T3Ztc0RldkBsaXN0cy5vcGVudmVoaWNsZXMuY29tPEJSPmh0dHA6Ly9saXN0cy5vcGVudmVoaWNsZXMuY29tL21haWxtYW4vbGlzdGluZm8vb3Ztc2RldjxCUj48L2lmcmFtZS1jb250ZW50Pg=="></iframe></div></div></blockquote></div><br class=""></div></div></div></div><br class=""><iframe class="content-isolator__isolated-content" sandbox="allow-scripts" scrolling="auto" width="200" height="10" style="border:none;display:block;overflow:auto;" data-src="data:text/html;charset=UTF-8;base64,PGlmcmFtZS1jb250ZW50IGRhdGEtaWZyYW1lLWhlaWdodD0idHJ1ZSI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188QlI+T3Ztc0RldiBtYWlsaW5nIGxpc3Q8QlI+T3Ztc0RldkBsaXN0cy5vcGVudmVoaWNsZXMuY29tPEJSPmh0dHA6Ly9saXN0cy5vcGVudmVoaWNsZXMuY29tL21haWxtYW4vbGlzdGluZm8vb3Ztc2RldjxCUj48L2lmcmFtZS1jb250ZW50Pg=="></iframe></div></div></blockquote></div><br class=""></div></body></html>