diff --git a/scripts/add_manufacturer_to_group_udev.sh b/scripts/add_manufacturer_to_group_udev.sh index aa672485fd54eded3a8aa83a701c8a530a363267..e4a17735cd03a7f457e21862400543a581531cef 100755 --- a/scripts/add_manufacturer_to_group_udev.sh +++ b/scripts/add_manufacturer_to_group_udev.sh @@ -2,34 +2,57 @@ echo "--- add_manufacturer_to_group_udev.sh ---" -MANUFACTURER="Segway" -GROUP="dialout" -FILE="99-manufacturer-${MANUFACTURER}-to-group-${GROUP}.rules" +MANUFACTURER= +GROUP= +FILE= UDEV_PATH="/etc/udev/rules.d" usage() { echo "Usage: $0 [-m <manufacturer>] [-g <group>] [-f <file> ]" - echo " -m specify manufacturer id. Default Segway" - echo " -g specify group id. Default dialout" - echo " -f specify udev file. Default 99-segway-to-dialout-group.rules" + echo " -m specify manufacturer id. For example, Segway" + echo " -g specify group id. For example, dialout" + echo " -f specify udev file. Default 99-manufacturer-<manufacturer>-to-group-<group>.rules" exit 1 } while getopts ":hm:g:f:" arg; do case $arg in m) MANUFACTURER=$OPTARG - FILE="99-manufacturer-${MANUFACTURER}-to-group-${GROUP}.rules" ;; g) GROUP=$OPTARG - FILE="99-manufacturer-${MANUFACTURER}-to-group-${GROUP}.rules" ;; - f) FILE=$OPTARG;; + f) MANUAL_FILE=$OPTARG;; h) usage;; *) usage;; esac done shift $((OPTIND-1)) +if [ -z "$MANUAL_FILE" ] +then + FILE="99-manufacturer-${MANUFACTURER}-to-group-${GROUP}.rules" +else + FILE=$MANUAL_FILE +fi + +if [ -z "$MANUFACTURER" ] +then + echo "Error: no manufacturer specified" + usage +fi + +if [ -z "$GROUP" ] +then + echo "Error: no group specified" + usage +fi + +if [ -z "$FILE" ] +then + echo "Error: empty file specified" + usage +fi + FILE="$UDEV_PATH/$FILE" echo " Add udev rule so MANUFACTURER=${MANUFACTURER} devices are added to GROUP=${GROUP}." @@ -41,4 +64,4 @@ sudo touch $FILE grep -qF -- "$LINE0" "$FILE" || echo "$LINE0" | sudo tee -a "$FILE" > /dev/null sudo service udev restart -echo " Need to unplug-plug devices for changes to take effect" +echo " Need to unplug-plug devices for changes to take effect" \ No newline at end of file diff --git a/scripts/can.sh b/scripts/can.sh index 93fed3acba28091940cd5510a99955f558bfbd52..9243c9564f586a7cecb62b890c408e38d5508f5b 100755 --- a/scripts/can.sh +++ b/scripts/can.sh @@ -24,7 +24,7 @@ shift $((OPTIND-1)) #check if device parameter is filled up if [ ! "${DEVICE}" ] then - echo "No device provided, aborting ..." + echo "Error: no device provided, aborting ..." usage exit 1 fi @@ -32,7 +32,7 @@ fi #check if name parameter is filled up if [ ! "${NAME}" ] then - echo "No name provided, aborting ..." + echo "Error: no name provided, aborting ..." usage exit 1 fi @@ -41,4 +41,4 @@ fi sudo slcand -o -s6 -S3000000 $DEVICE $NAME sudo ifconfig $NAME up -exit 0 +exit 0 \ No newline at end of file diff --git a/scripts/unbind_ftdi_udev.sh b/scripts/unbind_ftdi_udev.sh index 9a3a12bf09886c6744d900091f06d2a38e7ca51c..ba0528735c90fc4fa4dcbe114e4166daec93a757 100755 --- a/scripts/unbind_ftdi_udev.sh +++ b/scripts/unbind_ftdi_udev.sh @@ -2,26 +2,18 @@ echo "--- unbind_ftdi_udev.sh ---" -# VENDOR=${1:-0403} -# PRODUCT=${2:-6001} -# SERIAL=${3:-A600eB1Y} -# FILE=${4:-99-ftdi.rules} - -VENDOR="0403" -PRODUCT="6001" -SERIAL="A600eB1Y" +VENDOR= +PRODUCT= +SERIAL= FILE="99-ftdi-unbind-by-serial.rules" - - # SERIAL DABO: A600eB1Y - # SERIAL TIBI: A600eByq - # SERIAL TEO: A900WSG1 +UDEV_PATH="/etc/udev/rules.d" usage() { echo "Usage: $0 [-v <vendor>] [-p <product>] [-s <serial>] [-f <file> ]" - echo " -v specify vendor id. Default 0403" - echo " -p specify product id. Default 6001" - echo " -s specify serial number. Default A600eB1Y" - echo " -f specify udev file. Default 99-ftdi-unbind-by-serial.rules" + echo " -v specify vendor id." + echo " -p specify product id." + echo " -s specify serial number." + echo " -f specify udev file. Default 99-ftdi-unbind-by-serial.rules" exit 1 } @@ -37,8 +29,31 @@ while getopts ":hv:p:s:f:" arg; do done shift $((OPTIND-1)) +if [ -z "$VENDOR" ] +then + echo "Error: no vendor specified" + usage +fi + +if [ -z "$PRODUCT" ] +then + echo "Error: no product specified" + usage +fi + +if [ -z "$SERIAL" ] +then + echo "Error: no serial specified" + usage +fi + +if [ -z "$FILE" ] +then + echo "Error: empty file specified" + usage +fi -FILE=/etc/udev/rules.d/$FILE +FILE="$UDEV_PATH/$FILE" echo " Add udev rule so VENDOR:PRODUCT:SERIAL=${VENDOR}:${PRODUCT}:${SERIAL} devices do not load ftdi_sio driver." echo " Adding new lines to udev rule file: ${FILE}" diff --git a/scripts/undo_unbind_ftdi_udev.sh b/scripts/undo_unbind_ftdi_udev.sh index 6d25f0b0eb9f776af2cb7ce3b36f961d9797686a..7205c6e1a573cfce5ed36ef7afb90d649e5ea103 100755 --- a/scripts/undo_unbind_ftdi_udev.sh +++ b/scripts/undo_unbind_ftdi_udev.sh @@ -1,19 +1,15 @@ #!/bin/sh -# SERIAL=${3:-A600eB1Y} -# FILE=${4:-99-ftdi.rules} +echo "--- undo_unbind_ftdi_udev.sh ---" -SERIAL="A600eB1Y" -FILE="99-ftdi.rules" - - # SERIAL DABO: A600eB1Y - # SERIAL TIBI: A600eByq - # SERIAL TEO: A900WSG1 +SERIAL= +FILE="99-ftdi-unbind-by-serial.rules" +UDEV_PATH="/etc/udev/rules.d" usage() { echo "Usage: $0 [-v <vendor>] [-p <product>] [-s <serial>] [-f <file> ]" - echo " -s specify serial number. Default A600eB1Y" - echo " -f specify udev file. Default 99-ftdi.rules" + echo " -s specify serial number." + echo " -f specify udev file. Default 99-ftdi-unbind-by-serial.rules" exit 1 } @@ -27,8 +23,19 @@ while getopts ":hv:p:s:f:" arg; do done shift $((OPTIND-1)) +if [ -z "$SERIAL" ] +then + echo "Error: no serial specified" + usage +fi + +if [ -z "$FILE" ] +then + echo "Error: empty file specified" + usage +fi -FILE=/etc/udev/rules.d/$FILE +FILE="$UDEV_PATH/$FILE" echo "Undo addition of udev rule so VENDOR:PRODUCT:SERIAL=${VENDOR}:${PRODUCT}:${SERIAL} devices do not load ftdi_sio driver." echo "Removing all lines containing SERIAL=${SERIAL} from file: ${FILE}"