I am observing an issue on the default image for Colibri-iMX6.
Whenever I try binding to any interface-name via SocketCAN (on Colibri-iMX6), it is always successful.
Even binding to a vague interface-name like “can0-ajay is successful”
Same SocketCAN application-code when compiled and run on Ubuntu-16.04 on x86_64, works fine (binding is successful only for proper CAN-interfaces as listed via ifconfig).
Why these false-positives on Colibri-iMX6?
One important point I noticed.
When I do a dmesg |grep can on Ubuntu-16.04 on x86_64, following is
[ 6659.988375] can: controller area network core (rev 20170425 abi 9) [ 6660.009573] can: raw protocol (rev 20170425) [ 6660.034786] vcan: Virtual CAN interface driver
Upon doing the same on Colibri board, following is seen ::
root@colibri-imx6:~# dmesg | grep can [ 0.140425] i2c i2c-1: can't use DMA [ 0.141107] i2c i2c-2: can't use DMA [ 1.246205] vcan: Virtual CAN interface driver [ 2.057051] snvs-secvio 20cc000.caam-snvs: can't get snvs clock [ 2.215509] can: controller area network core (rev 20120528 abi 9) [ 2.229952] can: raw protocol (rev 20120528) [ 2.236099] can: broadcast manager protocol (rev 20120528 t) [ 2.243668] can: netlink gateway (rev 20130117) max_hops=1
As is seen, CAN-drivers on Colibri are wayyy too older (difference of 5 years).
Could this be the cause?
Looking forward to experts’ opinions
Thanks and Regards,