|
@@ -2,18 +2,16 @@
|
|
|
#########################################################################
|
|
#########################################################################
|
|
|
# Script for check RPI hardware issues #
|
|
# Script for check RPI hardware issues #
|
|
|
# Created by Pavol Macko - DoIT #
|
|
# Created by Pavol Macko - DoIT #
|
|
|
-# ver 0.2 #
|
|
|
|
|
|
|
+# ver 0.3 #
|
|
|
#########################################################################
|
|
#########################################################################
|
|
|
|
|
|
|
|
#---------------------------- CHECK-TOOL -------------------------------#
|
|
#---------------------------- CHECK-TOOL -------------------------------#
|
|
|
checktool(){
|
|
checktool(){
|
|
|
if [ ! -f /usr/bin/vcgencmd ];
|
|
if [ ! -f /usr/bin/vcgencmd ];
|
|
|
then
|
|
then
|
|
|
- echo "------------------------------------"
|
|
|
|
|
- echo -e "! \e[1;31mNOT DETECETD\e[0m [\e[1;34mvcgencmd\e[0m] tool or \e[1;31mHW\e[0m"
|
|
|
|
|
- echo "------------------------------------"
|
|
|
|
|
- rm -rf /home/rpi_check.sh
|
|
|
|
|
- exit 1
|
|
|
|
|
|
|
+ echo -e "! \e[1;31mNOT DETECETD\e[0m [\e[1;34mvcgencmd\e[0m] tool or \e[1;31mHW\e[0m"
|
|
|
|
|
+ rm -rf /home/rpi_check.sh
|
|
|
|
|
+ exit 1
|
|
|
fi
|
|
fi
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -57,9 +55,7 @@ MOD=$(cat /proc/device-tree/model | awk '{print $1,$2,$3,$4,$5}' | sed 's/ /-/g'
|
|
|
else
|
|
else
|
|
|
MOD=$(cat /sys/devices/virtual/dmi/id/product_name | sed 's/ /-/g' | sed 's/--//g' | tr '[:lower:]' '[:upper:]')
|
|
MOD=$(cat /sys/devices/virtual/dmi/id/product_name | sed 's/ /-/g' | sed 's/--//g' | tr '[:lower:]' '[:upper:]')
|
|
|
fi
|
|
fi
|
|
|
-echo "------------------------------------"
|
|
|
|
|
-echo -e "\e[1;36mMODEL: $MOD\e[0m"
|
|
|
|
|
-echo -e "\e[1;36mHOSTNAME: $HOSTNAME\e[0m"
|
|
|
|
|
|
|
+echo -e "\e[1;36m$HOSTNAME ($MOD)\e[0m"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#------------------------------ EXTRACT --------------------------------#
|
|
#------------------------------ EXTRACT --------------------------------#
|
|
@@ -72,21 +68,18 @@ THROTTLED_CODE_HEX=${strarr[1]}
|
|
|
|
|
|
|
|
#--------------------------- CHECK-CURRENT -----------------------------#
|
|
#--------------------------- CHECK-CURRENT -----------------------------#
|
|
|
checkcur(){
|
|
checkcur(){
|
|
|
-echo "------------------------------------"
|
|
|
|
|
-echo -e "\e[1;31m[CURRENT] HARDWARE DETECTED ISSUES:\e[0m"
|
|
|
|
|
-echo "------------------------------------"
|
|
|
|
|
CURRENT_HEX=${THROTTLED_CODE_HEX:4:1}
|
|
CURRENT_HEX=${THROTTLED_CODE_HEX:4:1}
|
|
|
CURRENT_BIN=${HEX_BIN_MAP[$CURRENT_HEX]}
|
|
CURRENT_BIN=${HEX_BIN_MAP[$CURRENT_HEX]}
|
|
|
if [ "$CURRENT_HEX" == "0" ] || [ -z $CURRENT_HEX ];
|
|
if [ "$CURRENT_HEX" == "0" ] || [ -z $CURRENT_HEX ];
|
|
|
then
|
|
then
|
|
|
- echo -e "- \e[1;32mNo issues detected\e[0m"
|
|
|
|
|
|
|
+ echo -e "\e[1;32m- [current] no issues detected\e[0m"
|
|
|
else
|
|
else
|
|
|
bit_n=0
|
|
bit_n=0
|
|
|
for (( i=${#CURRENT_BIN}-1; i>=0; i--));
|
|
for (( i=${#CURRENT_BIN}-1; i>=0; i--));
|
|
|
do
|
|
do
|
|
|
if [ "${CURRENT_BIN:$i:1}" = "1" ];
|
|
if [ "${CURRENT_BIN:$i:1}" = "1" ];
|
|
|
then
|
|
then
|
|
|
- echo -e "- \e[1;31m${ISSUES_MAP[$bit_n]}\e[0m"
|
|
|
|
|
|
|
+ echo -e "\e[1;31m- [current] ${ISSUES_MAP[$bit_n]}\e[0m"
|
|
|
bit_n=$((bit_n+1))
|
|
bit_n=$((bit_n+1))
|
|
|
fi
|
|
fi
|
|
|
done
|
|
done
|
|
@@ -95,30 +88,25 @@ fi
|
|
|
|
|
|
|
|
#--------------------------- CHECK-HISTORY -----------------------------#
|
|
#--------------------------- CHECK-HISTORY -----------------------------#
|
|
|
checkhis(){
|
|
checkhis(){
|
|
|
-echo "------------------------------------"
|
|
|
|
|
-echo -e "\e[1;33m[HISTORY] HARDWARE DETECTED ISSUES:\e[0m"
|
|
|
|
|
-echo "------------------------------------"
|
|
|
|
|
PAST_HEX=${THROTTLED_CODE_HEX:0:1}
|
|
PAST_HEX=${THROTTLED_CODE_HEX:0:1}
|
|
|
PAST_BIN=${HEX_BIN_MAP[$PAST_HEX]}
|
|
PAST_BIN=${HEX_BIN_MAP[$PAST_HEX]}
|
|
|
if [ $PAST_HEX = "0" ];
|
|
if [ $PAST_HEX = "0" ];
|
|
|
then
|
|
then
|
|
|
- echo -e "- \e[1;32mNo issues detected\e[0m"
|
|
|
|
|
|
|
+ echo -e "\e[1;32m- [history] no issues detected\e[0m"
|
|
|
else
|
|
else
|
|
|
bit_n=16
|
|
bit_n=16
|
|
|
for (( i=${#PAST_BIN}-1; i>=0; i--));
|
|
for (( i=${#PAST_BIN}-1; i>=0; i--));
|
|
|
do
|
|
do
|
|
|
if [ "${PAST_BIN:$i:1}" = "1" ];
|
|
if [ "${PAST_BIN:$i:1}" = "1" ];
|
|
|
then
|
|
then
|
|
|
- echo -e "- \e[1;33m${ISSUES_MAP[$bit_n]}\e[0m"
|
|
|
|
|
|
|
+ echo -e "\e[1;33m- [history] ${ISSUES_MAP[$bit_n]}\e[0m"
|
|
|
bit_n=$((bit_n+1))
|
|
bit_n=$((bit_n+1))
|
|
|
fi
|
|
fi
|
|
|
done
|
|
done
|
|
|
fi
|
|
fi
|
|
|
-echo "------------------------------------"
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#------------------------------- CORE ----------------------------------#
|
|
#------------------------------- CORE ----------------------------------#
|
|
|
-clear
|
|
|
|
|
hardware
|
|
hardware
|
|
|
checktool
|
|
checktool
|
|
|
mapping
|
|
mapping
|