From 5ce2c5dd69d166d04a6e632a0b84d2981cc912b5 Mon Sep 17 00:00:00 2001 From: john Date: Fri, 12 Dec 2025 15:21:46 +1100 Subject: [PATCH] Add shell script for adding wlan headlessly --- addwlan.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 addwlan.sh diff --git a/addwlan.sh b/addwlan.sh new file mode 100644 index 0000000..730dcfe --- /dev/null +++ b/addwlan.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# ---- configure connection - change as appropriate +NAME= +SSID= +PRIORITY=0 +HIDDEN=[true|false] +PASS= +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