Create Wi-Fi AP using NetworkManager

This commit is contained in:
Oleg Kalachev
2024-04-27 00:55:11 +03:00
parent 249800bc87
commit 00fb98c0c2

View File

@@ -16,25 +16,15 @@
set -e # Exit immidiately on non-zero result set -e # Exit immidiately on non-zero result
NEW_SSID='clover-'$(head -c 100 /dev/urandom | xxd -ps -c 100 | sed -e "s/[^0-9]//g" | cut -c 1-4) NEW_SSID='clover-'$(head -c 100 /dev/urandom | xxd -ps -c 100 | sed -e "s/[^0-9]//g" | cut -c 1-4)
echo "--- Setting SSID to ${NEW_SSID}" echo "--- Creating Wi-Fi AP with SSID=${NEW_SSID}"
# TODO: Use wpa_cli insted direct file edit nmcli con add type wifi ifname wlan0 mode ap con-name clover ssid $NEW_SSID autoconnect true
# FIXME: We rely on raspberrypi-net-mods to copy our file to /etc/wpa_supplicant. nmcli con modify TEST-AP 802-11-wireless.band bg
# This is not very reliable, but seems to fix our rfkill problem. # nmcli con modify TEST-AP 802-11-wireless.channel 6
cat << EOF >> /boot/wpa_supplicant.conf nmcli con modify TEST-AP ipv4.method shared ipv4.address 192.168.11.1/24
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev nmcli con modify TEST-AP ipv6.method disabled
update_config=1 nmcli con modify TEST-AP wifi-sec.key-mgmt wpa-psk
country=GB nmcli con modify TEST-AP wifi-sec.psk "cloverwifi"
network={ systemctl disable dnsmasq # disable dnsmasq to avoid conflicts with NetworkManager's dnsmasq
ssid="${NEW_SSID}"
psk="cloverwifi"
mode=2
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
auth_alg=OPEN
}
EOF
NEW_HOSTNAME=$(echo ${NEW_SSID} | tr '[:upper:]' '[:lower:]') NEW_HOSTNAME=$(echo ${NEW_SSID} | tr '[:upper:]' '[:lower:]')
echo "--- Setting hostname to $NEW_HOSTNAME" echo "--- Setting hostname to $NEW_HOSTNAME"