Add shell script for adding wlan headlessly
This commit is contained in:
51
addwlan.sh
Normal file
51
addwlan.sh
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# ---- configure connection - change as appropriate
|
||||||
|
NAME=<connectionName>
|
||||||
|
SSID=<SSID>
|
||||||
|
PRIORITY=0
|
||||||
|
HIDDEN=[true|false]
|
||||||
|
PASS=<password>
|
||||||
|
PLAIN=1
|
||||||
|
# ---- end configure connection
|
||||||
|
|
||||||
|
CONNFILE=/etc/NetworkManager/system-connections/${NAME}.nmconnection
|
||||||
|
UUID=$(uuid -v4)
|
||||||
|
|
||||||
|
if [ ! -z "${PASS}"]; then
|
||||||
|
if [ $PLAIN -eq 1 ]; then
|
||||||
|
PSK="$(wpa_passphrase ${SSID} ${PASS} | grep -T "psk" | grep -v '"' | cut -d= -f 2)"
|
||||||
|
else
|
||||||
|
PSK="${PASS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<- EOF >${CONNFILE}
|
||||||
|
[connection]
|
||||||
|
id=${NAME}
|
||||||
|
uuid=${UUID}
|
||||||
|
type=wifi
|
||||||
|
autoconnect-priority=${PRIORITY}
|
||||||
|
[wifi]
|
||||||
|
mode=infrastructure
|
||||||
|
ssid=${SSID}
|
||||||
|
hidden=${HIDDEN}
|
||||||
|
[ipv4]
|
||||||
|
dns-priority=100
|
||||||
|
method=auto
|
||||||
|
[ipv6]
|
||||||
|
dns-priority=50
|
||||||
|
addr-gen-mode=default
|
||||||
|
method=auto
|
||||||
|
[proxy]
|
||||||
|
EOF
|
||||||
|
if [ ! -z "${PASS}" ]; then
|
||||||
|
cat <<- EOF >>${CONNFILE}
|
||||||
|
[wifi-security]
|
||||||
|
key-mgmt=wpa-psk
|
||||||
|
psk=${PSK}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
chmod 600 ${CONNFILE}
|
||||||
|
sed -i 's| systemd.run=/boot/firmware/addwlan.sh.*||g' /boot/firmware/cmdline.txt
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user