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

Dependents:   UAVCAN UAVCAN_Subscriber

libuavcan_drivers/linux/scripts/uavcan_add_vcan

Committer:
RuslanUrya
Date:
2018-04-14
Revision:
0:dfe6edabb8ec

File content as of revision 0:dfe6edabb8ec:

#!/bin/bash
#
# Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
#

HELP="Initializes and brings up a virtual CAN interface.
Usage:
    `basename $0` <iface-name>
Example:
    `basename $0` vcan0"

function die() { echo $@ >&2; exit 1; }

if [ "$1" == '--help' ] || [ "$1" == '-h' ]; then echo "$HELP"; exit; fi
[ -n "$1" ] || die "Invalid usage. Use --help to get help."
[ "$(id -u)" == "0" ] || die "Must be root"

# ---------------------------------------------------------

IFACE="$1"

if [ $(ifconfig -a | grep -c "^$IFACE") -eq "1" ]; then
    ifconfig $IFACE up
    exit
fi

modprobe can
modprobe can_raw
modprobe can_bcm
modprobe vcan

ip link add dev $IFACE type vcan
ip link set up $IFACE

ifconfig $IFACE up || exit 1

echo "New iface $IFACE added successfully. To delete: ip link delete $IFACE"