# # Copyright (c) 2017-2018,2020 Qualcomm Technologies, Inc. # # All Rights Reserved. # Confidential and Proprietary - Qualcomm Technologies, Inc. # # # Copyright (c) 2015, The Linux Foundation. All rights reserved. # wps_possible= config_methods= wps_dual_band= hostapd_set_extra_cred() { local var="$1" local vif="$2" local ifname="$3" local temp local enc enc_list config_get ssid "$vif" ssid config_get enc "$vif" encryption "none" #wps_build_cred_network_idx append "$var" "1026" append "$var" "0001" append "$var" "01" temp=`expr length "$ssid"` temp=` printf "%04X" $temp` #wps_build_cred_ssid append "$var" "1045" append "$var" "$temp" temp=`echo -n "$ssid" | hexdump -v -e '/1 "%02X "'` append "$var" "$temp" #wps_build_cred_auth_type append "$var" "1003" append "$var" "0002" case "$enc" in none) append "$var" "0001" ;; # Need ccmp*|gcmp* check for SAE and OWE auth type wpa2*|*psk2*|ccmp*|gcmp*|sae*|dpp) append "$var" "0020" ;; *) # TKIP alone is now prohibited by WFA so the only # combination left must be CCMP+TKIP (wpa=3) append "$var" "0022" ;; esac #wps_build_cred_encr_type append "$var" "100f" append "$var" "0002" crypto= enc_list=`echo "$enc" | sed "s/+/ /g"` case "$enc_list" in *tkip*) append "$var" "0004" ;; *aes* | *ccmp*) append "$var" "0008" ;; *mixed*) append "$var" "000c" ;; esac #Key Index append "$var" "1028" append "$var" "0001" append "$var" "01" #wps_build_cred_network_key config_get psk "$vif" key append "$var" "1027" temp=`expr length "$psk"` temp=` printf "%04X" $temp` append "$var" "$temp" temp=`echo -n $psk | hexdump -v -e '/1 "%02X "'` append "$var" "$temp" #wps_build_mac_addr macaddr=$(cat /sys/class/net/${ifname}/address) macaddr="00:00:00:00:00:00" append "$var" "1020" append "$var" "0006" append "$var" "$macaddr" } hostapd_common_add_device_config() { config_add_array basic_rate config_add_string country config_add_boolean country_ie doth config_add_int beacon_int } hostapd_prepare_device_config() { local config="$1" local driver="$2" local base="${config%%.conf}" local base_cfg= json_get_vars country country_ie beacon_int doth hostapd_set_log_options base_cfg set_default country_ie 1 set_default doth 1 [ -n "$country" ] && { append base_cfg "country_code=$country" "$N" [ "$country_ie" -gt 0 ] && append base_cfg "ieee80211d=1" "$N" [ "$hwmode" = "a" -a "$doth" -gt 0 ] && append base_cfg "ieee80211h=1" "$N" } [ -n "$hwmode" ] && append base_cfg "hw_mode=$hwmode" "$N" local brlist= br json_get_values basic_rate_list basic_rate for br in $basic_rate_list; do hostapd_add_basic_rate brlist "$br" done [ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N" [ -n "$beacon_int" ] && append base_cfg "beacon_int=$beacon_int" "$N" cat > "$config" <