#!/bin/sh ########################################################################### # # Copyright (c) 2021-2023 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file wifi_generate_wpa_supplicant.sh # # @author (last) Vy # @date (last) 30-Jan-2023 # @author (original) Behrouz NematiPour # @date (original) 11-May-2021 # ############################################################################ if [ $# -eq 0 ]; then currentFile=$(basename "$0") echo "Usage: ./$currentFile " exit 0 fi ssid=$1 password=$2 dest=/etc/wpa_supplicant/wpa_supplicant-"$3".conf securityType=$4 psk=$(sudo wpa_passphrase "$ssid" "$password" | grep "psk=" | grep -v "#psk" | sed -nr 's/.*psk=(.*)/\1/p') case $securityType in #-- WPA3 SAE does not support hashed password #-- wpa3 ------------------------------------ wpa3) echo "Security: $securityType"; echo "\ ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ ssid=\"$ssid\" sae_password=\"$password\" proto=RSN key_mgmt=SAE pairwise=CCMP group=CCMP ieee80211w=2 }" | sudo tee $dest > /dev/null;; #-- wpa2 ------------------------------------ wpa2) echo "Security: wpa2"; echo "\ ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ ssid=\"$ssid\" key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP scan_ssid=1 psk="$psk" }" | sudo tee $dest > /dev/null;; #-- wpa ------------------------------------ wpa) echo "Security: wpa"; echo "\ ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ ssid=\"$ssid\" psk="$psk" }" | sudo tee $dest > /dev/null;; esac sudo chmod 640 $dest