# cannot install my dongle ( Huawei E 3531 )

**URL:** <https://forums.suse.com/t/cannot-install-my-dongle-huawei-e-3531/27180>\
**Category:** SLED Hardware\
**Created:** [June 22, 2015, 8:26pm UTC](https://forums.suse.com/t/cannot-install-my-dongle-huawei-e-3531/27180 "2015-06-22T20:26:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sashikatharindu](https://avatars.discourse-cdn.com/v4/letter/s/e19b73/32.png) [@sashikatharindu](https://forums.suse.com/u/sashikatharindu)\
**Post date:** [June 22, 2015, 8:26pm UTC](https://forums.suse.com/t/cannot-install-my-dongle-huawei-e-3531/27180/1 "2015-06-22T20:26:36Z")

</div>

i dont know how to install it. tried to run the content of install file through terminal as superuser. but it said ‘ArConfig.dat file is not exist’

here is the content. Can someone help me with it ? 🙂

#!/bin/bash  
VERSION=“22.001.03.01.03”  
install\_exit()  
{  
echo "Press any key to exit. " | tee -a ${LOG\_PATH}  
read COMMAND  
exit  
}

if [`id | awk '{print $1}'` != “uid=0(root)”]  
then  
echo “You must run the install process by root.” | tee -a ${LOG\_PATH}  
install\_exit  
fi

#CURRENTPATH=“`pwd`”  
CURRENTPATH=“$(dirname “$0”)”  
TEMPWORKPATH=“”  
INSTALL\_PATH=“”  
LOG\_PATH=“/tmp/MobileBrServ\_autoinstall\_log”  
PROCESS\_NAME=“mbbservice”  
SYS\_KERN\_VER=`uname -r`

#if [“$(pidof mbbservice)” != “”]  
#then

# kill -9 “$(pidof mbbservice)”

#fi

#echo “$CURRENTPATH”

if [“$1” != “”]  
then  
#echo “$1”  
INSTALL\_PATH=“/usr/local/MobileBrServ”  
else  
INSTALL\_PATH=“/usr/local/MobileBrServ”  
fi

ZIP\_FILE=“/7zr”  
TMP\_FILE\_PATH=“/tmp/MobileBrServ\_AutoRun”  
INSTALL\_FILE=“/linux\_mbb\_install”  
SYSCONFIG\_PATH=“/ArConfig.dat”  
INSTALL\_SHELL=“/install”  
DATACARD\_VERIFY=“/DataCard\_Verify”  
MBB\_BIN\_FILE=“/mbbservice.bin”  
MBB\_FILE=“/mbbservice”  
READ\_ME\_FILE=“/readme.txt”  
SYSCONFIG\_VALUE=“value”  
SKELETON\_NAME=“runmbbservice”  
START\_SKELETON=S99$SKELETON\_NAME  
STOP\_SKELETON=K10$SKELETON\_NAME  
udevVer=“”

LOG\_PATH=“/tmp/MobileBrServ\_autoinstall\_log”

#define the install variable  
FIRST\_INSTALL=“NO”  
INSTALL\_OR\_NOT=“NO”

#define the common language  
REINSTALL\_CONFIRM=“do you want to re-install it?”  
DIFFERENT\_VERSION\_CONFIRM=“Do you want ot install a different version of the application?”  
NEW\_VERSION\_CONFIRM=“DO you want to install a new version of the application?”

copy\_local()  
{  
echo "begin to copy file… " | tee -a ${LOG\_PATH}  
if [“${CURRENTPATH}” != “${TMP\_FILE\_PATH}${INSTALL\_FILE}”]  
then  
if [-d “${TMP\_FILE\_PATH}${INSTALL\_FILE}”]  
then  
rm -f -R “${TMP\_FILE\_PATH}” | tee -a ${LOG\_PATH}  
fi  
mkdir -p “${TMP\_FILE\_PATH}${INSTALL\_FILE}” | tee -a ${LOG\_PATH}  
chmod a+wr -R “${TMP\_FILE\_PATH}${INSTALL\_FILE}”

```
if ["${CURRENTPATH}" = "."] #if current path is . the .bin will copy failed
then 
cp -f -R "${CURRENTPATH}" "${TMP_FILE_PATH}${INSTALL_FILE}" | tee -a ${LOG_PATH}
else
cp -f -R "${CURRENTPATH}" "${TMP_FILE_PATH}" | tee -a ${LOG_PATH}
fi
fi

chmod a+wrx -R "${TMP_FILE_PATH}${INSTALL_FILE}"

if [! -f "${TMP_FILE_PATH}${INSTALL_FILE}${MBB_BIN_FILE}"]
then
{
    echo "copy .bin file failed ..." | tee -a ${LOG_PATH}
    install_exit
}
fi

mkdir -p "${TMP_FILE_PATH}${INSTALL_FILE}${MBB_FILE}" | tee -a ${LOG_PATH}
chmod a+wrx "${TMP_FILE_PATH}${INSTALL_FILE}${MBB_FILE}"
cd "${TMP_FILE_PATH}${INSTALL_FILE}${MBB_FILE}"
"${TMP_FILE_PATH}${INSTALL_FILE}${ZIP_FILE}" x -y "${TMP_FILE_PATH}${INSTALL_FILE}${MBB_BIN_FILE}" | tee -a ${LOG_PATH} > /dev/null 2>&1
echo "copy end ..." | tee -a ${LOG_PATH}

```

}

check\_file()  
{  
echo “” | tee -a ${LOG\_PATH}  
echo "install begin… " | tee -a ${LOG\_PATH}

```
if [! -f "${CURRENTPATH}${SYSCONFIG_PATH}"]
then   
echo "the ArConfig.dat file is not exist! " | tee -a ${LOG_PATH}
install_exit     
fi

if [! -f "${CURRENTPATH}${ZIP_FILE}"]
then   
echo "the 7zr file is not exist! " | tee -a ${LOG_PATH}
install_exit
fi

if [! -f "${CURRENTPATH}${MBB_BIN_FILE}"]
then   
echo "the .bin file is not exist! " | tee -a ${LOG_PATH}
install_exit
fi

```

}

check\_first\_install()  
{  
if [! -d “${INSTALL\_PATH}”]  
then  
echo "${INSTALL\_PATH} is not exist " | tee -a ${LOG\_PATH}  
FIRST\_INSTALL=“YES”  
return  
fi

```
if [! -f "${INSTALL_PATH}${MBB_FILE}" -o ! -f "${INSTALL_PATH}${SYSCONFIG_PATH}"]
then
echo "${INSTALL_PATH}${MBB_FILE} '&' ${INSTALL_PATH}${SYSCONFIG_PATH} is not exist " | tee -a ${LOG_PATH}
FIRST_INSTALL="YES"
return
fi

```

}

yes\_or\_no()  
{  
DEFVAL=“Y”  
DEFPMPT=“([Y]/N):\c "  
echo -e “${DEFPMPT}”  
read ANS  
while [ “${ANS}” != “Y” -a “${ANS}” != “y” -a “${ANS}” != “N” -a “${ANS}” != “n” -a ! -z “${ANS}” -a “${ANS}” != "  
" ]  
do  
echo -e “${DEFPMPT}”  
read ANS  
done  
: ${ANS:=”${DEFVAL}"}  
if [“${ANS}” != “Y” -a “${ANS}” != “y”]  
then  
unset ANS  
return 1  
fi  
unset ASN  
return 0  
}

verify\_version()  
{  
echo "the Mobile Broad HL Service has been installed before. " | tee -a ${LOG\_PATH}  
echo "now begin to verify version … " | tee -a ${LOG\_PATH}  
INSTALLING\_VERSION=$(grep “${SYSCONFIG\_VALUE}” “${CURRENTPATH}${SYSCONFIG\_PATH}” | head -n1 | cut -d = -f2 | tr -d “\015”)  
INSTALLED\_VERSION=$(grep “${SYSCONFIG\_VALUE}” “${INSTALL\_PATH}${SYSCONFIG\_PATH}” | head -n1 | cut -d = -f2 | tr -d “\015”)  
echo “the INSTALLED version is : ${INSTALLED\_VERSION}” | tee -a ${LOG\_PATH}  
echo “the INSTALLING version is : ${INSTALLING\_VERSION}” | tee -a ${LOG\_PATH}

```
VRVERSIONINSTALLED=`echo $INSTALLED_VERSION | cut -d '.' -f1`
BUILDVERSIONINSTALLED=`echo $INSTALLED_VERSION | cut -d '.' -f2`
DEVELOPVERSIONINSTALLED=`echo $INSTALLED_VERSION | cut -d '.' -f3`
SPVERSIONINSTALLED=`echo $INSTALLED_VERSION | cut -d '.' -f4`
CUSTOMIZEVERSIONINSTALLED=`echo $INSTALLED_VERSION | cut -d '.' -f5`
    
VRVERSIONINSTALLING=`echo $INSTALLING_VERSION | cut -d '.' -f1`
BUILDVERSIONINSTALLING=`echo $INSTALLING_VERSION | cut -d '.' -f2`
DEVELOPVERSIONINSTALLING=`echo $INSTALLING_VERSION | cut -d '.' -f3`
SPVERSIONINSTALLING=`echo $INSTALLING_VERSION | cut -d '.' -f4`
CUSTOMIZEVERSIONINSTALLING=`echo $INSTALLING_VERSION | cut -d '.' -f5`

    while [1]
    do
        if [$CUSTOMIZEVERSIONINSTALLED -ne $CUSTOMIZEVERSIONINSTALLING]
        then
        echo -e "${DIFFERENT_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
       fi

        if [$VRVERSIONINSTALLED -gt $VRVERSIONINSTALLING]
        then
        echo -e "${DIFFERENT_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi

        break
        elif [$VRVERSIONINSTALLED -lt $VRVERSIONINSTALLING]
        then
        echo -e "${NEW_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
        
        break
        fi
                   
        if [$BUILDVERSIONINSTALLED -gt $BUILDVERSIONINSTALLING]
        then
        echo -e "${DIFFERENT_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi

        break
        elif [$BUILDVERSIONINSTALLED -lt $BUILDVERSIONINSTALLING]
        then
        echo -e "${NEW_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
        
        break
        fi 
        
        if [$DEVELOPVERSIONINSTALLED -gt $DEVELOPVERSIONINSTALLING]
        then
        echo -e "${DIFFERENT_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
        
        break
        elif [$DEVELOPVERSIONINSTALLED -lt $DEVELOPVERSIONINSTALLING]
        then
        echo -e "${NEW_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
        
        break
        fi
        
        if [$SPVERSIONINSTALLED -gt $SPVERSIONINSTALLING]
        then
        echo -e "${DIFFERENT_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
        
        break
        elif [$SPVERSIONINSTALLED -lt $SPVERSIONINSTALLING]
        then
        echo -e "${NEW_VERSION_CONFIRM}\\c" | tee -a ${LOG_PATH}

        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi

        break
        fi

        echo -e "${REINSTALL_CONFIRM}\\c" | tee -a ${LOG_PATH}            
        yes_or_no
        
          if [! ${?} -ne 0]
          then
          INSTALL_OR_NOT="YES"
          echo "yes/install..." | tee -a ${LOG_PATH}
          #backup_ISO
          #install_mbbservice
          break
          else
          echo "no/exit..." | tee -a ${LOG_PATH}
          break
          fi
    done

```

}

install\_mbbservice()  
{  
echo “begin to install …” | tee -a ${LOG\_PATH}  
if [“$(pidof mbbservice)” != “”]  
then  
kill -9 $(pidof mbbservice)  
fi

```
if [-d "${INSTALL_PATH}"]
then
rm -f -R "${INSTALL_PATH}"
mkdir "${INSTALL_PATH}" | tee -a ${LOG_PATH}
else
mkdir "${INSTALL_PATH}" | tee -a ${LOG_PATH}
fi

if [-d "${INSTALL_PATH}"]
then
cp ./* "${INSTALL_PATH}" | tee -a ${LOG_PATH}
chmod a+x -R "${INSTALL_PATH}"
else
echo "mkdir in install path failed " | tee -a ${LOG_PATH}
fi

if ["$(which udevadm)" != ""]
then
udevVer=`udevadm version`
else
udevVer=`udevinfo -V | awk '{print $3}'`    
fi

if [$udevVer -ge 098]    
then
echo "udevVer=$udevVer" | tee -a ${LOG_PATH} > /dev/null 2>&1
cp "${INSTALL_PATH}/10-Huawei-FlashCard.rules" "/etc/udev/rules.d" | tee -a ${LOG_PATH}
udevVerrule="10-Huawei-FlashCard.rules"
chmod a+x /etc/udev/rules.d/10-Huawei-FlashCard.rules
else
echo "udevVer=$udevVer" | tee -a ${LOG_PATH}
cp "${INSTALL_PATH}/10-Huawei-FlashCard-old.rules" "/etc/udev/rules.d" | tee -a ${LOG_PATH}
udevVerrule="10-Huawei-FlashCard-old.rules"   
chmod a+x /etc/udev/rules.d/10-Huawei-FlashCard-old.rules
fi

if [-d "/lib/udev/rules.d"]
then
cp /etc/udev/rules.d/"${udevVerrule}" /lib/udev/rules.d/ | tee -a ${LOG_PATH}
fi

```

#add by hejinyang on 2011-12-9 如果系统内核在这两个版本之间的,修改rules文件  
if [“$SYS\_KERN\_VER” \\> “2.6.37” -a “$SYS\_KERN\_VER” \\< “3.0.0”]  
then  
if [“$(cat /lib/udev/rules.d/60-cdrom\_id.rules |grep usb:v12D1)” = “”]  
then  
echo "this OS need to repace rules file " | tee -a ${LOG\_PATH}  
mv -f /lib/udev/rules.d/60-cdrom\_id.rules /lib/udev/rules.d/60-cdrom\_id.rules.bak  
cp -f “${INSTALL\_PATH}/60-cdrom\_id.rules” /lib/udev/rules.d/.  
fi  
echo "this OS already has rules file " | tee -a ${LOG\_PATH}  
fi

```
if ["$(cat /etc/issue |grep Flag)" != ""]
then
start_udev
fi

#install the configuration file for auto run in boot
sed "s#CURPATH#${INSTALL_PATH}#g" "$INSTALL_PATH"/skeleton > "$INSTALL_PATH"/skeleton.bak | tee -a ${LOG_PATH}     

sed "s#parameter##g" "$INSTALL_PATH"/skeleton.bak > "$INSTALL_PATH"/"$SKELETON_NAME" | tee -a ${LOG_PATH}

rm -f "$INSTALL_PATH"/skeleton.bak | tee -a ${LOG_PATH}

if [-d /etc/init.d]
then
cp -f "$INSTALL_PATH"/"$SKELETON_NAME" /etc/init.d/ | tee -a ${LOG_PATH}
chmod a+x /etc/init.d/"$SKELETON_NAME"
CONFPATH=/etc/init.d
elif [-d /etc/rc.d]
then
cp -f "$INSTALL_PATH"/"$SKELETON_NAME" /etc/rc.d/ | tee -a ${LOG_PATH}
chmod a+x /etc/rc.d/"$SKELETON_NAME"
CONFPATH=/etc/rc.d

```

fi

#echo “rm -f $CONFPATH/$CONFNAME” \>\> “$INSTALL\_PATH”/driver/Uninstall

#use command  
for ADDRUNLEVEL in `find /etc/ -name "rc[2345].d" -type d`;  
do  
echo “ADDRUNLEVEL=$ADDRUNLEVEL” | tee -a ${LOG\_PATH} \> /dev/null 2\>&1  
if [-d $ADDRUNLEVEL] ;  
then  
if [-L “$ADDRUNLEVEL/$START\_SKELETON”] ;  
then  
rm -f $ADDRUNLEVEL/$START\_SKELETON | tee -a ${LOG\_PATH}  
rm -f $ADDRUNLEVEL/$STOP\_SKELETON | tee -a ${LOG\_PATH}  
fi  
ln -sv $CONFPATH/$SKELETON\_NAME $ADDRUNLEVEL/$START\_SKELETON | tee -a ${LOG\_PATH} \> /dev/null 2\>&1  
chmod a+x $ADDRUNLEVEL/$START\_SKELETON  
ln -sv $CONFPATH/$SKELETON\_NAME $ADDRUNLEVEL/$STOP\_SKELETON | tee -a ${LOG\_PATH} \> /dev/null 2\>&1  
chmod a+x $ADDRUNLEVEL/$STOP\_SKELETON

```
    #echo "rm -f $ADDRUNLEVEL/$START_CONFNAME" >> "$INSTALL_PATH"/driver/Uninstall                     
    #echo "rm -f $ADDRUNLEVEL/$STOP_CONFNAME" >> "$INSTALL_PATH"/driver/Uninstall
fi

```

done

if [-f /etc/init.d/.depend.start]  
then  
rm -f /etc/init.d/.depend.start | tee -a ${LOG\_PATH}  
rm -f /etc/init.d/.depend.stop | tee -a ${LOG\_PATH}  
chkconfig -a runmbbservice | tee -a ${LOG\_PATH}  
fi

```
rm -rf "${TMP_FILE_PATH}" | tee -a ${LOG_PATH}
echo "install success..." 

```

}

run\_process()  
{  
if [“$(pidof mbbservice)” != “”]  
then  
echo "the mbbservice is running " | tee -a ${LOG\_PATH}  
else  
echo “${INSTALL\_PATH}${MBB\_FILE}” | tee -a ${LOG\_PATH}  
#may be there is some question without quote  
${INSTALL\_PATH}${MBB\_FILE} &  
#add by hejinyang on 2011-12-9 begin

```
if ["$SYS_KERN_VER" \\> "2.6.37" -a "$SYS_KERN_VER" \\< "3.0.0"]
then
    if [-f /sbin/start_udev] ##&#20351;rules&#21450;&#26102;&#29983;&#25928;
    then
   	 /sbin/start_udev
    else
      if ["$(cat /etc/lsb-release |grep Ubuntu)" != "" -a "$(cat /etc/lsb-release |grep 11.10)" != ""] # ubuntu 11.10 may catch a bug we do nothing
      then
      echo "this is unbunto 11.10 we don't udevadm trigger" | tee -a ${LOG_PATH}
  
      else
      echo "udevadm trigger" | tee -a ${LOG_PATH}
         udevadm trigger
      fi
   fi
    
fi

#add by hejinyang on 2011-12-9 end
sleep 2
fi    

```

}

check\_file  
check\_first\_install

if [“${FIRST\_INSTALL}” = “YES”]  
then  
copy\_local  
else  
verify\_version  
if [“${INSTALL\_OR\_NOT}” = “YES”]  
then  
copy\_local  
fi  
fi

if [“${INSTALL\_OR\_NOT}” = “YES” -o “${FIRST\_INSTALL}” = “YES”]  
then  
#echo “begin to install…”  
install\_mbbservice  
fi  
cd /  
#TESTPATH=`pwd`  
#echo “${TESTPATH}”  
echo "run the process… " | tee -a ${LOG\_PATH}  
run\_process  
echo "install end… "  
install\_exit

#read com

---

<div class="post-metadata">

**Author:** ![kwk](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/kwk/32/11997_2.png) [@kwk](https://forums.suse.com/u/kwk)\
**Post date:** [June 23, 2015, 9:26am UTC](https://forums.suse.com/t/cannot-install-my-dongle-huawei-e-3531/27180/2 "2015-06-23T09:26:05Z")

</div>

Hi,  
this file is not related to SUSE registration, please contact your vendor for further help. Sorry.

Klaus
