I have been trying without success to get the Libsocketcan working with the i.MX28. I'm using the 2.6.35.3 kernel and libsocketcan-0.0.8 (tried 0.0.9 also). Compile fails saying IFLA_LINK_INFO, IFLA_INFO_KIND, IFLA_INFO_DATA and IFLA_INFO_MAX are undefined, while they are indeed in the if_link.h header.
Is there another kernel version I should be using with the i.MX28, or is there another way to get socketcan support working in 2.6.35.3?
Thank you everyone.
Solved! Go to Solution.
In imx28evk_defconfig file, you can see that CONFIG_CAN_BCM, CONFIG_CAN_DEV and CONFIG_CAN_VCAN are disabled by default.
CONFIG_CAN=y
CONFIG_CAN_RAW=y
# CONFIG_CAN_BCM is not set
#
# CAN Device Drivers
#
# CONFIG_CAN_VCAN is not set
# CONFIG_CAN_DEV is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_CAN_FLEXCAN=m
You can run ./ltib -m config , then choose configure kernel.
In kernel configure menu, Networking support -> Can bus subsystem support, to enable them.
Grace
In imx28evk_defconfig file, you can see that CONFIG_CAN_BCM, CONFIG_CAN_DEV and CONFIG_CAN_VCAN are disabled by default.
CONFIG_CAN=y
CONFIG_CAN_RAW=y
# CONFIG_CAN_BCM is not set
#
# CAN Device Drivers
#
# CONFIG_CAN_VCAN is not set
# CONFIG_CAN_DEV is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_CAN_FLEXCAN=m
You can run ./ltib -m config , then choose configure kernel.
In kernel configure menu, Networking support -> Can bus subsystem support, to enable them.
Grace
With the original 10.12.01 kernel release, SocketCAN was largely not working. This was corrected in the latest 1.1.0_130130 release. SocketCAN now works. Note that when compiling, the "-f" option is often still required to get everything built correctly for it.
Rory
If your issue had been resolved please click Correct Answer.
Regards,
Yixing