Hi Oliver,
On 8/30/22 21:15, Oliver Hartkopp wrote:
Hi Jacob,
On 30.08.22 14:59, Jacob Kroon wrote:
On 8/29/22 15:53, Oliver Hartkopp wrote:
Regarding your problem:
"BUG! echo_skb 0 is occupied" should never show up but I wonder if
you probably have another CAN specific problem with your setup.
Did you set up a CAN network with at least two CAN nodes, identical
bitrate settings and 2x120 Ohms (== 60 Ohms) termination between
CAN_L and CAN_H?
I have double checked that both endpoints of the network are
terminated with 120Ohm resistors, and when I check CAN_H/CAN_L in an
oscilloscope they look ok, and within the spec. voltage levels.
https://www.compulab.com/wp-content/uploads/2011/08/CM-iTC-Reference-Guide.pdf
"it is necessary to add transceiver
hardware (see the SB-iTC reference schematic)"
I assume you have a transceiver, right? ;-)
Yes,, all nodes are using a TJA1050 transceiver
(https://www.nxp.com/docs/en/data-sheet/TJA1050.pdf)
What is the other endpoint? The EG20T and another (automotive) ECU?
Currently I have 4 nodes in the network, EG20T is in one end.
Do you have another CAN node which can be attached to the EG20T setup
(e.g. some ECU or an USB CAN adapter)?
Yes I do have a CAN analyser from Microchip. I guess I can record all
traffic with the analyzer, and compare it to what I see with "candump
can0" on the host. Or do you have some other suggestion ?
Yes, please add the CAN analyzer from Microchip too!
The problem with only two nodes is that you have to be very precise with
bitrate settings and sampling points so that the receiving node needs to
properly set the ACK to acknowlege the CAN frame.
I had been working with a MSCAN system some time ago and that wasn't
able to talk to a commercial CAN tool until I added another node (from
another CAN tool provider).
Maybe you can make the other node talk to the Microchip CAN analyzer and
let the EG20T receive that traffic first.
I used "candump can0 -l" on the EG20T host to capture the traffic, and
then connected an CAN USB analyzer to the network and used that to
capture the traffic. One thing sticks out. This is the log from the CAN
USB analyzer:
...
505.7052;RX;0x464;3;0x01;0x01;0x00;;;;;;
505.7052;RX;0x464;3;0x00;0x00;0x00;;;;;;
505.7063;RX;0x65;64;;;;;;;;;
505.7662;RX;0x440;3;0x32;0x20;0xFA;;;;;;
505.7912;RX;0x44C;3;0x35;0x20;0xFA;;;;;;
505.9632;RX;0x464;3;0x00;0x00;0x00;;;;;;
505.9632;RX;0x464;3;0x01;0x01;0x00;;;;;;
505.9752;RX;0x468;3;0x51;0x20;0xFA;;;;;;
506.0362;RX;0x440;3;0x32;0x20;0xFA;;;;;;
506.0622;RX;0x44C;3;0x35;0x20;0xFA;;;;;;
506.2112;RX;0x464;3;0x00;0x00;0x00;;;;;;
506.2112;RX;0x464;3;0x00;0x00;0x00;;;;;;
506.2462;RX;0x468;3;0x51;0x20;0xFA;;;;;;
506.3072;RX;0x440;3;0x32;0x20;0xFA;;;;;;
506.3322;RX;0x44C;3;0x35;0x20;0xFA;;;;;;
506.4572;RX;0x464;3;0x00;0x00;0x00;;;;;;
506.4580;RX;0x464;3;0x00;0x00;0x00;;;;;;
506.5162;RX;0x468;3;0x51;0x20;0xFA;;;;;;
522.7203;RX;0x1E;1;0xFF;;;;;;;;
...
Note the third message from the top. This is what "candump" on the host
logs:
...
(1662022485.638794) can0 464#010100
(1662022485.638940) can0 464#000000
(1662022485.699405) can0 440#3220FA
(1662022485.725166) can0 44C#3520FA
(1662022485.896858) can0 464#000000
(1662022485.897382) can0 464#010100
(1662022485.909042) can0 468#5120FA
(1662022485.970036) can0 440#3220FA
(1662022485.995596) can0 44C#3520FA
(1662022486.144685) can0 464#000000
(1662022486.144768) can0 464#000000
(1662022486.179595) can0 468#5120FA
(1662022486.240561) can0 440#3220FA
(1662022486.266274) can0 44C#3520FA
(1662022486.391248) can0 464#000000
(1662022486.391469) can0 464#000000
(1662022486.450115) can0 468#5120FA
(1662022502.662035) can0 01E#FF
...
It fails to see the 3rd message from the previous log. What would that
indicate ? The CAN analyzer sees the message, but the EG20T doesn't.
Jacob