I'm using Digi Embedded Yocto 1.4 for Connect Core i.MX53 and I'm trying to recover a bus off in the can0 interface using the following command:
ip link set can0 type can restart-ms 100
but when I execute it I receive an error message:
root@ccimx53js:~# ip link set can0 type can restart-ms 100
RTNETLINK answers: Operation not supported
I can't found another alternative for that.
I'm developing an application which every second sent a configuration frame to the bus which doesn't have a connected node. So that a bus off occurs.
I want to configure the CAN interface in a way it be auto-recovered immediately after a bus off is detected.
I tried ifconfig can0 down/up. It seems to work because I starts to receive frames from the network but the frames sent by my application aren't seen in the network (although they are seen in the loopback).
I suspect the problem is in FlexCAN driver but I'm not sure. I read some people solved a similar problem updating the kernel version but in my case it is a bit complicated since we are using a specific distribution provided by Digi which only supports kernel version 22.214.171.124.
So my questions are:
is this problem generated by FlexCAN driver? If yes, can I update FlexCAN driver version in my kernel 126.96.36.199?
is there another way to restart the CAN interface?
If the final solution is to update the kernel version I think I should ask in Yocto community.
Thanks for you help!