From 83a6e3f45d68935796a841c220662dfef1e3d8bc Mon Sep 17 00:00:00 2001
From: Cassiano Aquino <cassianoaquino@me.com>
Date: Sun, 29 Sep 2019 01:41:49 +0100
Subject: [PATCH] services cleanup. powersave features and shellcheck fixes

---
 scripts/create_sibling.sh         | 5 ++++-
 scripts/linux_connection_share.sh | 8 ++++----
 sdcard/boot/config.txt            | 9 +++++++++
 sdcard/rootfs/etc/rc.local        | 2 ++
 4 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/scripts/create_sibling.sh b/scripts/create_sibling.sh
index 81bff79..d9f1027 100755
--- a/scripts/create_sibling.sh
+++ b/scripts/create_sibling.sh
@@ -195,6 +195,9 @@ function provision_raspbian() {
   # slows down boot
   systemctl disable apt-daily.timer apt-daily.service apt-daily-upgrade.timer apt-daily-upgrade.service
 
+  # unecessary services
+  systemctl disable triggerhappy bluetooth wpa_supplicant
+
 EOF
   sed -i'' 's/^#//g' etc/ld.so.preload
   cd "${REPO_DIR}"
@@ -213,7 +216,7 @@ usage: $0 [OPTIONS]
     -i <file>    # Provide the path of an already downloaded raspbian image
     -o <file>    # Name of the img-file (default: pwnagotchi.img)
     -s <size>    # Size which should be added to second partition (in Gigabyte) (default: 4)
-    -v <version> # Version of raspbian (Supported: $SUPPORTED_RASPBIAN_VERSIONS; default: latest)
+    -v <version> # Version of raspbian (Supported: ${SUPPORTED_RASPBIAN_VERSIONS[*]}; default: latest)
     -p           # Only run provisioning (assumes the image is already mounted)
     -d           # Only run dependencies checks
     -h           # Show this help
diff --git a/scripts/linux_connection_share.sh b/scripts/linux_connection_share.sh
index 57fe718..78df842 100755
--- a/scripts/linux_connection_share.sh
+++ b/scripts/linux_connection_share.sh
@@ -7,12 +7,12 @@ USB_IFACE_NET=10.0.0.0/24
 # host interface to use for upstream connection
 UPSTREAM_IFACE=${2:-enxe4b97aa99867}
 
-ip addr add $USB_IFACE_IP/24 dev $USB_IFACE
-ip link set $USB_IFACE up
+ip addr add "$USB_IFACE_IP/24" dev "$USB_IFACE"
+ip link set "$USB_IFACE" up
 
-iptables -A FORWARD -o $UPSTREAM_IFACE -i $USB_IFACE -s $USB_IFACE_NET -m conntrack --ctstate NEW -j ACCEPT
+iptables -A FORWARD -o "$UPSTREAM_IFACE" -i "$USB_IFACE" -s "$USB_IFACE_NET" -m conntrack --ctstate NEW -j ACCEPT
 iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 iptables -t nat -F POSTROUTING
-iptables -t nat -A POSTROUTING -o $UPSTREAM_IFACE -j MASQUERADE
+iptables -t nat -A POSTROUTING -o "$UPSTREAM_IFACE" -j MASQUERADE
 
 echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/sdcard/boot/config.txt b/sdcard/boot/config.txt
index 98231bc..9e57de0 100755
--- a/sdcard/boot/config.txt
+++ b/sdcard/boot/config.txt
@@ -1195,3 +1195,12 @@ dtoverlay=dwc2
 dtparam=spi=on
 dtoverlay=spi1-3cs
 
+# Powersave options
+# Disable power LED ~30ma
+dtparam=act_led_trigger=none
+dtparam=act_led_activelow=on
+# Disable bluetooth
+dtoverlay=pi3-disable-bt
+# Disable audio
+dtparam=audio=off
+
diff --git a/sdcard/rootfs/etc/rc.local b/sdcard/rootfs/etc/rc.local
index 15fb894..e93d2d8 100755
--- a/sdcard/rootfs/etc/rc.local
+++ b/sdcard/rootfs/etc/rc.local
@@ -10,5 +10,7 @@
 # bits.
 #
 # By default this script does nothing.
+# Powersave (Disable HDMI) ~30ma
+/opt/vc/bin/tvservice -o
 /root/pwnagotchi/scripts/startup.sh &
 exit 0