diff options
Diffstat (limited to 'conf/files/usr')
-rwxr-xr-x | conf/files/usr/bin/candev.sh | 36 |
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 |