From a6352ef6f887f335618e5cb6bcfa3cf096e39171 Mon Sep 17 00:00:00 2001 From: ivanovborislav <81085106+ivanovborislav@users.noreply.github.com> Date: Tue, 27 Dec 2022 17:17:58 +0200 Subject: [PATCH] Update install.sh --- install.sh | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/install.sh b/install.sh index 0df6077..f51ba7b 100644 --- a/install.sh +++ b/install.sh @@ -5,6 +5,7 @@ MODNAME="8188eu" DRVNAME="rtl8188eu" DRVVER="5.13.3" +DRVSTATUS="installed" KVER="$(uname -r)" MODDESTDIR="/lib/modules/${KVER}/kernel/drivers/net/wireless/" @@ -41,7 +42,7 @@ if ! command -v dkms >/dev/null 2>&1;then echo "Module ${DRVNAME} already installed" fi else - if [[ ! "`dkms status`" =~ "${DRVNAME}" ]];then + if [[ ! "$(echo "`dkms status`" | awk '/'${DRVNAME}'/ {print}')" =~ "${DRVSTATUS}" ]];then if [ -e /usr/src/${DRVNAME}-${DRVVER} ];then if [ "$EUID" != "0" ];then echo "You need root permissions:" @@ -67,13 +68,26 @@ else rm -f ${MODDESTDIR}${MODNAME}.ko fi fi - if [ "$EUID" != "0" ];then - echo "You need root permissions:" - sudo dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? - sudo dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + if [[ ! -z "$(echo "`dkms status`" | awk '/'${DRVNAME}'/ {print}')" ]];then + if [ "$EUID" != "0" ];then + echo "You need root permissions:" + sudo dkms remove -m ${DRVNAME} -v ${DRVVER} --all; Error=$? + sudo dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? + sudo dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + else + dkms remove -m ${DRVNAME} -v ${DRVVER} --all; Error=$? + dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? + dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + fi else - dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? - dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + if [ "$EUID" != "0" ];then + echo "You need root permissions:" + sudo dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? + sudo dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + else + dkms add -m ${DRVNAME} -v ${DRVVER}; Error=$? + dkms build -m ${DRVNAME} -v ${DRVVER}; Error=$? + fi fi if [ "$Error" != "0" ];then echo "Install error: $Error" @@ -105,7 +119,7 @@ if ! command -v dkms >/dev/null 2>&1;then echo "Module ${DRVNAME} already uninstalled" fi else - if [[ "`dkms status`" =~ "${DRVNAME}" ]];then + if [[ "$(echo "`dkms status`" | awk '/'${DRVNAME}'/ {print}')" =~ "${DRVSTATUS}" ]] || [[ ! -z "$(echo "`dkms status`" | awk '/'${DRVNAME}'/ {print}')" ]];then if [ "$EUID" != "0" ];then echo "You need root permissions:" sudo dkms remove -m ${DRVNAME} -v ${DRVVER} --all; Error=$?