WizardKit/archlive/airootfs/usr/local/bin/connect-to-network
Alan Mason f67cd37a38 2016-08: Retroactive Updates
* Added arch.conf file which is loaded from the UFD
  * Allows configuration without rebuilding the ISO
* Added connect-to-network script that uses arch.conf
  * Available for manual execution from the command line
  * Used by mount-backup-shares
* Added hardinfo with Conky hint and keyboard shortcut (Super+i)
* Avoid deleting a newly created iso right after building
* Conky
  * Settings can now be stored on the UFD
  * Transparancy fixed
* mount-all-volumes doesn't print the mountpoint for ARCH_HH
* NetworkManager should no longer hold up the boot time
* Prime95
  * Adjusted default length due to the summer heat
  * Fixed bug where hw-diags would let it run forever
* Removed extra themes to try and reduce the overall size
* Switching to nodm over lightdm
2017-12-06 17:52:21 -08:00

58 lines
1.6 KiB
Bash

#!/bin/bash
#
## Get connected to a network
# 1. Checks if already online; skips if so
# 2. If no wired devices are present then reload kernel modules
# 3. If wireless devices are present, and we're still offline, then connect to WiFi
die () {
echo "$0:" "$@" >&2
exit 1
}
# Load settings
if [[ -f "/run/archiso/bootmnt/arch/arch.conf" ]]; then
source "/run/archiso/bootmnt/arch/arch.conf" || \
die "ERROR: ARCH_WK media may be damaged. Please reboot or try another UFD"
else
source "/usr/local/bin/arch.conf" || \
die "ERROR: ARCH_WK media may be damaged. Please reboot or try another UFD"
echo -n "ERROR: Settings file on ARCH_WK media missing. Using build version for now"
sleep 1s
echo -n "."
sleep 1s
echo -n "."
sleep 1s
echo "."
fi
# Init
WIFI_SSID="${WIFI_SSID}"
WIFI_PASS="${WIFI_PASS}"
# Connect to network
if ! ip a | grep -Eq '(192.168|10.[0-9]+).[0-9]+.[0-9]+'; then
# LAN
if ! ip l | grep -Eq '[0-9]+: +en'; then
## Reload the tg3/broadcom driver (known fix for some Dell systems)
echo "No wired network adapters found; reloading drivers..."
sudo modprobe -r tg3
sudo modprobe broadcom
sudo modprobe tg3
sleep 5s
fi
# WiFi
if ip l | grep -Eq '[0-9]+: +wl'; then
## Skip if we're already connected (i.e. the code above worked)
if ! ip a | grep -Eq '(192.168|10.[0-9]+).[0-9]+.[0-9]+'; then
echo "Attempting to connect to ${WIFI_SSID}..."
nmcli dev wifi con "${WIFI_SSID}" password "${WIFI_PASS}"
sleep 5s
fi
fi
fi
# Done
exit 0