can bus test cmd on linux

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

版权声明:本文为w8u原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。