55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
|
#!/usr/bin/env bash
|
||
|
|
||
|
# well ... it blinks the led
|
||
|
blink_led() {
|
||
|
for i in $(seq 1 "$1"); do
|
||
|
echo 0 >/sys/class/leds/led0/brightness
|
||
|
sleep 0.3
|
||
|
echo 1 >/sys/class/leds/led0/brightness
|
||
|
sleep 0.3
|
||
|
done
|
||
|
echo 0 >/sys/class/leds/led0/brightness
|
||
|
sleep 0.3
|
||
|
}
|
||
|
|
||
|
# starts mon0
|
||
|
start_monitor_interface() {
|
||
|
iw phy phy0 interface add mon0 type monitor && ifconfig mon0 up
|
||
|
}
|
||
|
|
||
|
# stops mon0
|
||
|
stop_monitor_interface() {
|
||
|
ifconfig mon0 down && iw dev mon0 del
|
||
|
}
|
||
|
|
||
|
# returns 0 if the specificed network interface is up
|
||
|
is_interface_up() {
|
||
|
if grep -qi 'up' /sys/class/net/$1/operstate; then
|
||
|
return 0
|
||
|
fi
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
# returns 0 if conditions for AUTO mode are met
|
||
|
is_auto_mode() {
|
||
|
# check override file first
|
||
|
if [ -f /root/.pwnagotchi-auto ]; then
|
||
|
# remove the override file if found
|
||
|
rm -rf /root/.pwnagotchi-auto
|
||
|
return 0
|
||
|
fi
|
||
|
|
||
|
# if usb0 is up, we're in MANU
|
||
|
if is_interface_up usb0; then
|
||
|
return 1
|
||
|
fi
|
||
|
|
||
|
# if eth0 is up (for other boards), we're in MANU
|
||
|
if is_interface_up eth0; then
|
||
|
return 1
|
||
|
fi
|
||
|
|
||
|
# no override, but none of the interfaces is up -> AUTO
|
||
|
return 0
|
||
|
}
|