Testing command: cansend and candump
Reference website:
http://www.imxdev.org/wiki/index.php?title=All_Boards_FlexCAN
cmd line
Type command in terminal:
# ip link set can0 type can bitrate 500000
# ip link set can1 type can bitrate 500000
# ifconfig can0 up
# ifconfig can1 up
# candump can1 & (To Enable can1 receive)
# cansend can0 -i0x123 0xaa 0xbb 0xcc 0xdd (can0 send 0xaabbccdd with ID 0x123)
# fg
-> <0x123> [4] aa bb cc dd (received by can1)
# Other Tests
Note: Before all test, you should set up bitrate at first.
(Set bitrate when can module is down. 5000 < BRT_value < 1000000)
# ip link set can0 type can bitrate BRT_value
# ip link set can1 type can bitrate BRT_value
Simple Tx/Rx Test, All receive
# ifconfig can0 up
# ifconfig can1 up
# candump can1 &
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
-> <0x123> [8] 11 22 33 44 55 66 77 88
Add Filter to candump, kill the older candump at first
# candump can1 --filter=0x123:0x7ff &
# cansend can0 -i0x111 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
-> not received(filter not hit)
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
-> <0x123> [8] 11 22 33 44 55 66 77 88
Change Bitrate and send message
# ifconfig can0 down
# ip link set can0 type can 250000
# ifconfig can0 up
# candump can1 &
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
-> not received(different bitrate)
# ifconfig can1 down
# ip link set can1 type can 250000
# ifconfig can1 up
# candump can1 &
# cansend can0 -i0x123 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
<0x123> [8] 11 22 33 44 55 66 77 88
RTR message test
# ifconfig can0 up
# ifconfig can1 up
# candump can1 &
# cansend can0 –i0x123 –r
-> <0x123> [0] remote request