I want to test Xavier’s canbus interface. I made the following adjustments for canbus.
sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
sudo modprobe can
sudo modprobe can-raw
sudo modprobe can-dev
sudo modprobe mttcan
sudo ip link set can0 type can bitrate 500000
sudo ip link set can1 type can bitrate 500000
sudo ip link set up can0
sudo ip link set up can1
I did loopback testing for can0 and can1, and it worked, but this only allows us to see if the controller is working. I want to test canbus interface by communicating with another device. but I have some questions and problems about it.
I connected the can0_rx line to the can1_tx line and sent the data “cansend can1 123 # abcdabcd” from the can1 bus from the terminal. I saw data from the oscilloscope on the can0_rx line. but when I sent it again, I could not see data on the canbus line. I see it once again when I restart Xavier and do the same things again. but the second time I can’t see data again. I have to restart Xavier every time to see data. so I tried “sudo ip link set can1 type can restart-ms 100” command. but that didn’t work either. So, can I test can0 and can1 line without tranciever in between?
I want to communicate with xavier another device via canbus. For this I connected the lines can1_rx and can1_tx to a tranciever. I connected the can_high and can_low lines at the exit of tranciever to the test computer with Ixxat usb-to-can converter. I tried communicating to between the test computer and xavier with the minimon program. but I am getting a “tranciever pending” error from the program. I also do not see any data when I look from the oscillator. What do you think is the reason for this? Could there be a problem with acknowledge? How can I communicate to between test computer and xavier via canbus interface using tranciever?