Jump to content

[SCRIPT] Battery Tester/CPU Stress


InfoSecREDD

Recommended Posts

Posted

Battery Tester/CPU Stress
For the SharkJack

 

I keep seeing people talk about how the battery lasts less then 10 minutes, etc etc etc.. I made a script to test and prove the Battery Drains incredibly fast under load. Further more... The Script..


(NOTE: This Script should be ran on the SharkJack itself!)
battery-tester.sh

#!/bin/bash
# Title        :  Battery Tester/CPU Stress
# Author       :  REDD of Private-Locker
# Version      :  1.1
# Description  :  The script uses a simple log system to pull the
#                 batteries status, date, and time into a log file for Hak5
#                 to help diagnose the issues. Also uses "sha256sum" to verify
#                 a null file leaving it to stress the CPU.
#
# Log File     :  /root/battery.log

# Set to YES to stress the CPU during Battery Test.
MAX_LOAD=YES
STRESS="sha256sum"
# Time in seconds to report in log. (20 mins = 1200)
TIME=600


# Initial Script Variables - DO NOT CHANGE
UNDER_LOAD=0
DATE_NOW=$(date +'%r')
START_TIME=$(date)
CPU_USAGE=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}')
BATTERY_STATUS=$(BATTERY)
LOG_FILE="/root/battery.log"
function DISPLAY_TIME () {
	MINS=$((TIME / 60))
	SECS=$((TIME % 60))
	if [ "$TIME" -ge "60" ]; then
		printf "$MINS minutes and $SECS seconds"
	else
		printf "$SECS seconds"
	fi
}
TOTAL_TIME=$(DISPLAY_TIME "$TIME")
if [ ! -f "$LOG_FILE" ]; then
	touch "$LOG_FILE"
fi
if [ -f "$LOG_FILE" ]; then
	echo -e "" >> "$LOG_FILE"
	echo -e "  Battery Test Date: $START_TIME" >> "$LOG_FILE"
	echo -e "==================================================" >> "$LOG_FILE"
	echo -e "" >> "$LOG_FILE"
	echo -e ""
	echo -e "  Battery Test Date: $START_TIME"
	echo -e "\n  Battery Test running for $TOTAL_TIME."
	echo -e "  Battery Test running for $TOTAL_TIME." >> "$LOG_FILE"
	echo -e "        Battery Status: $BATTERY_STATUS"
	echo -e "        Battery Status: $BATTERY_STATUS" >> "$LOG_FILE"
	echo -e ""
	if [ "$MAX_LOAD" == "YES" ]; then
		echo -e "\n\n   -> LOAD created by $STRESS."
		echo -e "   -> LOAD created by $STRESS." >> "$LOG_FILE"
		echo -e "" >> "$LOG_FILE"
		echo -e "==================================================" >> "$LOG_FILE"
		echo -e "" >> "$LOG_FILE"
	fi
	echo -e "" >> "$LOG_FILE"
fi
echo -e "[${DATE_NOW}] -> LOAD: $MAX_LOAD - CPU Load: ${CPU_USAGE} [Battery Status: ${BATTERY_STATUS}]" >> "$LOG_FILE" 
for  ((i=0; i<=TIME; i++)); do
		if [ "$MAX_LOAD" == "YES" ]; then
			if [ "$UNDER_LOAD" == "0" ]; then
				UNDER_LOAD=1
				$STRESS /dev/zero &
			fi
		fi
		DATE_NOW=$(date +'%r')
		CPU_USAGE=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}')
		BATTERY_STATUS=$(BATTERY)
        printf "[%s%s] -> LOAD: %s - CPU Load: %s [Battery Status: %s]\r" $DATE_NOW $MAX_LOAD $CPU_USAGE $BATTERY_STATUS
		echo -e "[${DATE_NOW}] -> LOAD: $MAX_LOAD - CPU Load: ${CPU_USAGE} [Battery Status: ${BATTERY_STATUS}]" >> "$LOG_FILE"
        sleep 1;
done
if [ "$UNDER_LOAD" == "1" ]; then
	killall -9 $STRESS
fi
echo -e "" >> "$LOG_FILE"
echo -e "==================================================" >> "$LOG_FILE"
echo -e "" >> "$LOG_FILE"
# Blank line for running in Terminal.
printf "                                                                             \n"
printf "Finished.\n"

 

 

Output Example:
 


  Battery Test Date: Tue Jan 28 13:47:30 UTC 2020
==================================================

  Battery Test running for 10 seconds.
        Battery Status: full

[01:47:30 PM] -> LOAD: NO - CPU Load: 18.0325% [Battery Status: full]
[01:47:30 PM] -> LOAD: NO - CPU Load: 18.0437% [Battery Status: full]
[01:47:31 PM] -> LOAD: NO - CPU Load: 18.0428% [Battery Status: full]
[01:47:32 PM] -> LOAD: NO - CPU Load: 18.0432% [Battery Status: full]
[01:47:33 PM] -> LOAD: NO - CPU Load: 18.0469% [Battery Status: full]
[01:47:34 PM] -> LOAD: NO - CPU Load: 18.0515% [Battery Status: full]
[01:47:35 PM] -> LOAD: NO - CPU Load: 18.0556% [Battery Status: full]
[01:47:37 PM] -> LOAD: NO - CPU Load: 18.0596% [Battery Status: full]
[01:47:38 PM] -> LOAD: NO - CPU Load: 18.0641% [Battery Status: full]
[01:47:39 PM] -> LOAD: NO - CPU Load: 18.0678% [Battery Status: full]
[01:47:40 PM] -> LOAD: NO - CPU Load: 18.0718% [Battery Status: full]
[01:47:41 PM] -> LOAD: NO - CPU Load: 18.0759% [Battery Status: full]

==================================================



I really hope this helps everyone else in their troubles in finding out if their Battery is just defective or it's just "Under Load" that makes it so short.

Posted

@Darren Kitchen Currently mine only gets like 2 mins "Under Load".. Not sure if that's good thing..

  Battery Test Date: Tue Jan 28 13:48:57 UTC 2020
==================================================

  Battery Test running for 20 minutes and 0 seconds.
        Battery Status: full
   -> LOAD created by sha256sum.

==================================================


[01:48:57 PM] -> LOAD: YES - CPU Load: 18.0481% [Battery Status: full]
[01:48:57 PM] -> LOAD: YES - CPU Load: 18.0588% [Battery Status: full]
[01:48:59 PM] -> LOAD: YES - CPU Load: 18.1068% [Battery Status: full]
[01:49:00 PM] -> LOAD: YES - CPU Load: 18.1528% [Battery Status: discharging]
[01:49:01 PM] -> LOAD: YES - CPU Load: 18.1969% [Battery Status: discharging]
[01:49:02 PM] -> LOAD: YES - CPU Load: 18.2414% [Battery Status: discharging]
[01:49:03 PM] -> LOAD: YES - CPU Load: 18.2865% [Battery Status: discharging]
[01:49:05 PM] -> LOAD: YES - CPU Load: 18.3312% [Battery Status: discharging]
[01:49:06 PM] -> LOAD: YES - CPU Load: 18.3785% [Battery Status: discharging]
[01:49:07 PM] -> LOAD: YES - CPU Load: 18.4227% [Battery Status: discharging]
[01:49:08 PM] -> LOAD: YES - CPU Load: 18.4666% [Battery Status: discharging]
[01:49:09 PM] -> LOAD: YES - CPU Load: 18.5114% [Battery Status: discharging]
[01:49:11 PM] -> LOAD: YES - CPU Load: 18.5555% [Battery Status: discharging]
[01:49:12 PM] -> LOAD: YES - CPU Load: 18.6026% [Battery Status: discharging]
[01:49:13 PM] -> LOAD: YES - CPU Load: 18.6469% [Battery Status: discharging]
[01:49:14 PM] -> LOAD: YES - CPU Load: 18.6905% [Battery Status: discharging]
[01:49:15 PM] -> LOAD: YES - CPU Load: 18.734% [Battery Status: discharging]
[01:49:17 PM] -> LOAD: YES - CPU Load: 18.7782% [Battery Status: discharging]
[01:49:18 PM] -> LOAD: YES - CPU Load: 18.8258% [Battery Status: discharging]
[01:49:19 PM] -> LOAD: YES - CPU Load: 18.8703% [Battery Status: discharging]
[01:49:20 PM] -> LOAD: YES - CPU Load: 18.9136% [Battery Status: discharging]
[01:49:21 PM] -> LOAD: YES - CPU Load: 18.9569% [Battery Status: discharging]
[01:49:22 PM] -> LOAD: YES - CPU Load: 19.0009% [Battery Status: discharging]
[01:49:24 PM] -> LOAD: YES - CPU Load: 19.0474% [Battery Status: discharging]
[01:49:25 PM] -> LOAD: YES - CPU Load: 19.0917% [Battery Status: discharging]
[01:49:26 PM] -> LOAD: YES - CPU Load: 19.1344% [Battery Status: discharging]
[01:49:27 PM] -> LOAD: YES - CPU Load: 19.1778% [Battery Status: discharging]
[01:49:28 PM] -> LOAD: YES - CPU Load: 19.2215% [Battery Status: discharging]
[01:49:30 PM] -> LOAD: YES - CPU Load: 19.2674% [Battery Status: discharging]
[01:49:31 PM] -> LOAD: YES - CPU Load: 19.3126% [Battery Status: discharging]
[01:49:32 PM] -> LOAD: YES - CPU Load: 19.3558% [Battery Status: discharging]
[01:49:33 PM] -> LOAD: YES - CPU Load: 19.399% [Battery Status: discharging]
[01:49:34 PM] -> LOAD: YES - CPU Load: 19.4421% [Battery Status: discharging]
[01:49:36 PM] -> LOAD: YES - CPU Load: 19.4889% [Battery Status: discharging]
[01:49:37 PM] -> LOAD: YES - CPU Load: 19.5334% [Battery Status: discharging]
[01:49:38 PM] -> LOAD: YES - CPU Load: 19.5764% [Battery Status: discharging]
[01:49:39 PM] -> LOAD: YES - CPU Load: 19.6208% [Battery Status: discharging]
[01:49:40 PM] -> LOAD: YES - CPU Load: 19.6644% [Battery Status: discharging]
[01:49:42 PM] -> LOAD: YES - CPU Load: 19.7087% [Battery Status: discharging]
[01:49:43 PM] -> LOAD: YES - CPU Load: 19.7544% [Battery Status: discharging]
[01:49:44 PM] -> LOAD: YES - CPU Load: 19.7972% [Battery Status: discharging]
[01:49:45 PM] -> LOAD: YES - CPU Load: 19.8395% [Battery Status: discharging]
[01:49:46 PM] -> LOAD: YES - CPU Load: 19.8826% [Battery Status: discharging]
[01:49:48 PM] -> LOAD: YES - CPU Load: 19.9259% [Battery Status: discharging]
[01:49:49 PM] -> LOAD: YES - CPU Load: 19.9717% [Battery Status: discharging]
[01:49:50 PM] -> LOAD: YES - CPU Load: 20.015% [Battery Status: discharging]
[01:49:51 PM] -> LOAD: YES - CPU Load: 20.0571% [Battery Status: discharging]
[01:49:52 PM] -> LOAD: YES - CPU Load: 20.0995% [Battery Status: discharging]
[01:49:54 PM] -> LOAD: YES - CPU Load: 20.1419% [Battery Status: discharging]
[01:49:55 PM] -> LOAD: YES - CPU Load: 20.1879% [Battery Status: discharging]
[01:49:56 PM] -> LOAD: YES - CPU Load: 20.2309% [Battery Status: discharging]
[01:49:57 PM] -> LOAD: YES - CPU Load: 20.2728% [Battery Status: discharging]
[01:49:58 PM] -> LOAD: YES - CPU Load: 20.315% [Battery Status: discharging]
[01:50:00 PM] -> LOAD: YES - CPU Load: 20.3575% [Battery Status: discharging]
[01:50:01 PM] -> LOAD: YES - CPU Load: 20.4021% [Battery Status: discharging]
[01:50:02 PM] -> LOAD: YES - CPU Load: 20.4453% [Battery Status: discharging]
[01:50:03 PM] -> LOAD: YES - CPU Load: 20.4869% [Battery Status: discharging]
[01:50:04 PM] -> LOAD: YES - CPU Load: 20.5289% [Battery Status: discharging]
[01:50:06 PM] -> LOAD: YES - CPU Load: 20.5712% [Battery Status: discharging]
[01:50:07 PM] -> LOAD: YES - CPU Load: 20.6152% [Battery Status: discharging]
[01:50:08 PM] -> LOAD: YES - CPU Load: 20.6585% [Battery Status: discharging]
[01:50:09 PM] -> LOAD: YES - CPU Load: 20.6996% [Battery Status: discharging]
[01:50:10 PM] -> LOAD: YES - CPU Load: 20.7406% [Battery Status: discharging]

--- END OF FILE ---

 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...