<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Mark,<br>
<br>
I've just found a spot-on post on this issue:<br>
<br>
<a class="moz-txt-link-freetext" href="https://www.microchip.com/forums/tm.aspx?m=620741">https://www.microchip.com/forums/tm.aspx?m=620741</a><br>
<br>
Tom suggests implementing a state machine to reproduce the receive
order. His analysis & solution looks sound to me.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
<div class="moz-cite-prefix">Am 06.06.21 um 14:50 schrieb Mark
Webb-Johnson:<br>
</div>
<blockquote type="cite"
cite="mid:87628F90-5C9C-4BA0-BC26-6A3C2F6941AA@webb-johnson.net">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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 class="" face="Andale Mono"><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=""
moz-do-not-send="true">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=""
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="">
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" 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>
</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>
</div>
</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>
<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>
<pre class="moz-signature" cols="72">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
</body>
</html>