This article explains the main differences between the Ixxat ECI and Socket CAN drivers available for the Ixxat CAN interfaces.
Ixxat CAN interfaces
What is the difference between the Ixxat ECI and the SocketCAN driver?
The proprietary driver for Ixxat CAN interfaces is called ECI (Embedded Card Interface). It is available for different operating systems like GNU/Linux, VxWorks, RTX, INtime and QNX. ECI supports the LIN bus found on some Ixxat CAN interfaces as well.
The ECI driver supports the complete set of functions that come with the Ixxat CAN hardware. You'll need to compile a kernel module which accesses the binary ECI driver.
The SocketCAN concept, on the other hand, is a vendor-independant API including a network layer which is part of the GNU/Linux kernel. The open source Ixxat SocketCAN drivers make Ixxat CAN interfaces compatible to that API.
You may compile the Ixxat SocketCAN drivers towards different target architectures like x86, x64, ARM, ARM64 etc. The result are kernel modules that may be loaded dynamically into memory.
Another advantage is that your SocketCAN based application will run on all CAN interfaces supporting SocketCAN.
Additionally, several applications may access the CAN hardware concurrently, similar how network applications use sockets to exchange data via the Ethernet interface.
However, the LIN functionality of some Ixxat CAN interfaces is not supported since SocketCAN has not been designed for the LIN bus.
ADDITIONAL INFOECI / SocketCAN compatibility matrix for Ixxat CAN interfaces
Wikipedia article on SocketCAN