Version 3.1.2
This is the usermode daemon for the Intrepid Control Systems SocketCAN support. This daemon requires that intrepid.ko is loaded on your system.
-
Build and load the kernel module follwowing the instructions in intrepid-socketcan-kernel-module.
-
Install the dependencies needed. These are CMake 3.2+, GCC 4.8+, git, libusb-1.0-0-dev, and libpcap.
On Ubuntu or other Debian-based systems, run sudo apt install git cmake gcc libusb-1.0-0-dev libpcap-dev build-essential.
-
Clone this repository recursively by running
git clone --recursive https://github.com/intrepidcs/icsscand.git -
Switch into the cloned directory,
cd icsscand -
Make a build directory and switch into it,
mkdir build && cd build -
Invoke CMake,
cmake .. -DCMAKE_BUILD_TYPE=Release -
Build the daemon,
make -
The daemon is now available as
libicsneo-socketcan-daemon -
Start the daemon up to begin connecting to devices. Use
sudo ./libicsneo-socketcan-daemon. If you're happy with the results and would like to run in the background, runsudo ./libicsneo-socketcan-daemon -dto run in daemon mode. -
CAN interfaces will have been created, but are "down" or, in other words, not enabled for transmit and receive yet. You can see them with
ip link. They will be labelledcan0,can1, and etc. They will have an alias listed which corresponds to the serial number of the device and network on that device. -
Enable the CAN interface with
sudo ip link set can0 up, replacingcan0with whichever interface you'd like to enable -
You can now use any SocketCAN application with this interface. A good package for testing is the
can-utilspackage. You can get this package withsudo apt install can-utils. A good testing tool which comes with this package iscandump. Runningcandump can0will print a line for every incoming frame.