I'm trying to get CAN functioning on the P1010RDB. I've got the SDK patched to 1.0.3 (I hope), configured the kernel according to the FlexCAN User's Manual (with the exception of the stuff about device tree binding...couldn't figure out what to do with that information), have CANTEST included in the build. set hwconfig in the u-boot environment.
When I loop the two together using a straight M-M DB9 cable, and run
cantest can0 &
cantest can1 12345678#1234123412341234
as suggested, I get...nothing. I've also tried hooking it up to a CAN monitor, and sending/receiving to one of the two ports. Still nothing.
this 'ip -s -d link show can1'
gives the following results:
3: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN qlen 10 link/can
can state ERROR-ACTIVE (berr-counter tx 0 rx 135) restart-ms 0
bitrate 125000 sample-point 0.875
tq 500 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
flexcan: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 1..256 brp-inc 1
clock 200000000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 0 0 0
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
16 0 0 0 0 0
The interrupt numbers never increase (cat /proc/interrupts).
Help?
John
已解决! 转到解答。
For those coming after...
1) The original user's manual and a table on the schematic showed an incorrect pinout for the DB9 female CAN connectors. You might want to consider using an AT-EVEREX wired ribbon-to-DB9 in place of the one supplied inside the kit. YMMV
2) There are no termination resistors on the board. Your external CAN wiring should supply termination.
JPA
For those coming after...
1) The original user's manual and a table on the schematic showed an incorrect pinout for the DB9 female CAN connectors. You might want to consider using an AT-EVEREX wired ribbon-to-DB9 in place of the one supplied inside the kit. YMMV
2) There are no termination resistors on the board. Your external CAN wiring should supply termination.
JPA