Radiation-resistantCamera/Vimba_6_0/VimbaUSBTL/Install.sh
2025-04-30 09:26:04 +08:00

66 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
#==============================================================================
# Copyright (C) 2013 - 2017 Allied Vision Technologies. All Rights Reserved.
#
# Redistribution of this file, in original or modified form, without
# prior written consent of Allied Vision Technologies is prohibited.
#
#------------------------------------------------------------------------------
#
# File: Install.sh
#
# Description: Setup script for creating a startup script that exports the
# GENICAM_GENTL32_PATH and GENICAM_GENTL64_PATH variable
#
#------------------------------------------------------------------------------
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
# NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#==============================================================================
CWD=$(dirname $(readlink -f $0))
UNAME=$(uname -m)
if [ ${UNAME} = amd64 ] || [ ${UNAME} = x86_64 ]
then
ARCH=x86
elif [ ${UNAME} = aarch64 ]
then
ARCH=arm
else
echo "Error: Incompatible system architecture found." 1>&2
exit 1
fi
# Make sure our script is only being run with root privileges
if [ "$(id -u)" != "0" ];
then
echo "Error: This script must be run with root privileges." 1>&2
exit 1
fi
TL_NAME=VimbaUSBTL
PROFILE_FOLDER=/etc/profile.d
UDEV_FOLDER=/etc/udev/rules.d
TL_SCRIPT_64BIT=${PROFILE_FOLDER}/${TL_NAME}_64bit.sh
TL_PATH_64BIT=$CWD/CTI/${ARCH}_64bit
echo "Registering GENICAM_GENTL64_PATH"
printf "#!/bin/sh\n\n#Do not edit this file manually because it may be overwritten automatically.\nexport GENICAM_GENTL64_PATH=\$GENICAM_GENTL64_PATH:\"%s\"" $TL_PATH_64BIT > $TL_SCRIPT_64BIT
chmod +x $TL_SCRIPT_64BIT
UDEV_SCRIPT=${UDEV_FOLDER}/99-${TL_NAME}.rules
echo "Registering $TL_NAME device types"
printf "SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"1ab2\", ATTRS{idProduct}==\"0001\", MODE=\"0666\"\nSUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"1ab2\", ATTRS{idProduct}==\"ff01\", MODE=\"0666\"\n" > $UDEV_SCRIPT
echo "Done"
echo "Please reboot before using the USB transport layer"