1
0
Files
Stuff/addwlan.sh

52 lines
953 B
Bash

#!/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