Руслан Урядинский / libuavcan

Dependents:   UAVCAN UAVCAN_Subscriber

Committer:
RuslanUrya
Date:
Sat Apr 14 10:25:32 2018 +0000
Revision:
0:dfe6edabb8ec
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RuslanUrya 0:dfe6edabb8ec 1 #!/bin/bash
RuslanUrya 0:dfe6edabb8ec 2 #
RuslanUrya 0:dfe6edabb8ec 3 # Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
RuslanUrya 0:dfe6edabb8ec 4 #
RuslanUrya 0:dfe6edabb8ec 5
RuslanUrya 0:dfe6edabb8ec 6 HELP="Initializes and brings up a virtual CAN interface.
RuslanUrya 0:dfe6edabb8ec 7 Usage:
RuslanUrya 0:dfe6edabb8ec 8 `basename $0` <iface-name>
RuslanUrya 0:dfe6edabb8ec 9 Example:
RuslanUrya 0:dfe6edabb8ec 10 `basename $0` vcan0"
RuslanUrya 0:dfe6edabb8ec 11
RuslanUrya 0:dfe6edabb8ec 12 function die() { echo $@ >&2; exit 1; }
RuslanUrya 0:dfe6edabb8ec 13
RuslanUrya 0:dfe6edabb8ec 14 if [ "$1" == '--help' ] || [ "$1" == '-h' ]; then echo "$HELP"; exit; fi
RuslanUrya 0:dfe6edabb8ec 15 [ -n "$1" ] || die "Invalid usage. Use --help to get help."
RuslanUrya 0:dfe6edabb8ec 16 [ "$(id -u)" == "0" ] || die "Must be root"
RuslanUrya 0:dfe6edabb8ec 17
RuslanUrya 0:dfe6edabb8ec 18 # ---------------------------------------------------------
RuslanUrya 0:dfe6edabb8ec 19
RuslanUrya 0:dfe6edabb8ec 20 IFACE="$1"
RuslanUrya 0:dfe6edabb8ec 21
RuslanUrya 0:dfe6edabb8ec 22 if [ $(ifconfig -a | grep -c "^$IFACE") -eq "1" ]; then
RuslanUrya 0:dfe6edabb8ec 23 ifconfig $IFACE up
RuslanUrya 0:dfe6edabb8ec 24 exit
RuslanUrya 0:dfe6edabb8ec 25 fi
RuslanUrya 0:dfe6edabb8ec 26
RuslanUrya 0:dfe6edabb8ec 27 modprobe can
RuslanUrya 0:dfe6edabb8ec 28 modprobe can_raw
RuslanUrya 0:dfe6edabb8ec 29 modprobe can_bcm
RuslanUrya 0:dfe6edabb8ec 30 modprobe vcan
RuslanUrya 0:dfe6edabb8ec 31
RuslanUrya 0:dfe6edabb8ec 32 ip link add dev $IFACE type vcan
RuslanUrya 0:dfe6edabb8ec 33 ip link set up $IFACE
RuslanUrya 0:dfe6edabb8ec 34
RuslanUrya 0:dfe6edabb8ec 35 ifconfig $IFACE up || exit 1
RuslanUrya 0:dfe6edabb8ec 36
RuslanUrya 0:dfe6edabb8ec 37 echo "New iface $IFACE added successfully. To delete: ip link delete $IFACE"