aboutsummaryrefslogtreecommitdiffstats
path: root/conf/files/usr/bin/candev.sh
diff options
context:
space:
mode:
Diffstat (limited to 'conf/files/usr/bin/candev.sh')
-rwxr-xr-xconf/files/usr/bin/candev.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/conf/files/usr/bin/candev.sh b/conf/files/usr/bin/candev.sh
new file mode 100755
index 0000000..fc47cb6
--- /dev/null
+++ b/conf/files/usr/bin/candev.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+function execProc(){
+ dev=$1
+
+ if [ "canCK" == ${dev:0:3}"CK" ]; then
+ modprobe can
+ ip link set $dev up type can bitrate 500000
+ elif [ "vcanCK" == ${dev:0:4}"CK" ]; then
+ modprobe vcan
+ ip link add $dev type vcan
+ ip link set $dev up
+ elif [ "slcanCK" == ${dev:0:5}"CK" ]; then
+ modprobe slcan
+ systemctl start usbcan${dev:5:1}
+ ip link set $dev up
+ ip link
+ ifconfig $dev txqueuelen 1000
+ fi
+}
+
+if [ -e /etc/dev-mapping.conf ]; then
+ hs=`cat /etc/dev-mapping.conf | grep hs | cut -d '"' -f 2`
+ ls=`cat /etc/dev-mapping.conf | grep ls | cut -d '"' -f 2`
+else
+ echo -e "[CANbus-mapping]\nhs=\"vcan0\"\nls=\"vcan1\"\n" > /etc/dev-mapping.conf
+ hs=vcan0
+ ls=vcan1
+fi
+
+echo "candev "$hs
+execProc $hs
+if [ $hs != $ls ]; then
+ echo "candev "$ls
+ execProc $ls
+fi