blob: d57604c07520a58f1e5906d93f6c546ba4dfaf2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/bin/bash
#
# Script to bring up CAN interface configured for the kuksa.val
# CAN feeder in /etc/kuksa-dbc-feeder/dbc_feeder.ini as vcan
# interfaces if no physical interface is present.
#
vcan_up() {
if [ -n "$1" ]; then
echo "Bringing up $1 as virtual CAN device"
ip link add dev $1 type vcan
ip link set up $1
fi
}
CONF=/etc/kuksa-dbc-feeder/config.ini
if [ $# -gt 0 ]; then
CONF=$1
fi
if [ ! -f $CONF ]; then
exit 0
fi
# Ideally the parsing would take the "[can]" section into
# account, but this should work for now.
interface=$(sed -nr '/\[can\]/,/\[/{s/^port *= *//p}' $CONF)
if [ -n "$interface" ]; then
echo "Checking $interface"
if ! ifconfig $interface >/dev/null 2>&1; then
vcan_up $interface
fi
fi
exit 0
|