neoVI-PI-installSocketCAN/installSocketCAN.sh

68 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
cd $HOME
sudo apt install -y linux-headers-generic build-essential gcc git dkms cmake libusb-1.0-0-dev libpcap-dev can-utils
rm -rf intrepid-socketcan-kernel-module
git clone https://github.com/intrepidcs/intrepid-socketcan-kernel-module.git
cd intrepid-socketcan-kernel-module
make
sudo make install
grep -F -q 'can' /etc/modules | echo 'can' | sudo tee -a /etc/modules
grep -F -q 'can-raw' /etc/modules | echo 'can-raw' | sudo tee -a /etc/modules
grep -F -q 'can-dev' /etc/modules | echo 'can-dev' | sudo tee -a /etc/modules
sudo modprobe can
sudo modprobe can-raw
sudo modprobe can-dev
sudo insmod intrepid.ko
cd ..
rm -rf icsscand
git clone --recursive https://github.com/intrepidcs/icsscand.git
cd icsscand
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo cp libicsneo-socketcan-daemon /usr/sbin/
echo << EOF > icsscand.service
[Unit]
Description=Intrepid Device Scanner
[Service]
ExecStart=/usr/sbin/libicsneo-socketcan-daemon
[Install]
WantedBy=multi-user.target
EOF
sudo cp icsscand.service /etc/systemd/system/
sudo systemctl enable icsscand.service
sudo systemctl start icsscand.service
sleep 10
cd ../..
sudo ip link set can0 up
sudo ip link set can1 up
sudo ip link set can2 up
sudo ip link set can3 up
rm -rf libicsneo
git clone https://github.com/intrepidcs/libicsneo
cd libicsneo
cmake -S . -B build
cmake --build build
sudo cp build/*.so /usr/lib/
sudo cp 99-intrepidcs.rules /etc/udev/rules.d/
sudo cp -r include/* /usr/include
sudo udevadm control --reload
sudo udevadm trigger
cd ..