#!/bin/sh board_name() { [ -e /tmp/sysinfo/board_name ] && cat /tmp/sysinfo/board_name || echo "generic" } wifi_setup_radio(){ local radio=$1 htmode="$(uci -q get wireless.${radio}.htmode)" if uci -q get wireless.${radio} >/dev/null; then uci -q del wireless.${radio}.disabled uci -q set wireless.${radio}.country='CN' if [ "$(uci -q get wireless.${radio}.band)" = "5g" ]; then uci -q set wireless.default_${radio}.ssid="${SSID}_5G" if [[ "$DISTRIB_TARGET" == *ipq60xx ]]; then uci set wireless.${radio}.htmode='HE80' fi elif [ "$(uci -q get wireless.${radio}.band)" = "2g" ]; then uci -q set wireless.default_${radio}.ssid="${SSID}_2.4G" fi uci -q set wireless.default_${radio}.device="${radio}" SSID_PASSWD="${SSID_PASSWD:-$(uci -q get wireless.default_${radio}.key)}" if [ "${SSID_PASSWD}" ]; then uci -q set wireless.default_${radio}.encryption='psk2' uci -q set wireless.default_${radio}.key="${SSID_PASSWD}" else uci -q set wireless.default_${radio}.encryption='none' fi fi } for i in $(seq 1 10); do [[ "$(uci -q get base_config.@status[0].inited)" == 1 && "$(cat /etc/config/wireless)" ]] && break [ "$(cat /etc/config/wireless)" ] || /sbin/wifi config sleep 1s done if [[ "$(cat /etc/config/wireless)" ]]; then . /etc/openwrt_release SSID="$(uci -q get wizard.default.wifi_ssid || uci -q get system.@system[0].hostname || echo Kwrt)" SSID_PASSWD="$(uci -q get wizard.default.wifi_key)" sed -i '/option disabled/d' /etc/config/wireless [ "$(uci -q get wireless.radio1.band)" == "5g" ] && uci -q set wireless.radio0.band="2g" widx=0 while uci rename wireless.@wifi-iface[$widx]=default_radio$widx >/dev/null 2>&1; do widx=$((widx+1)); done for radio in radio0 radio1 radio2 radio3; do wifi_setup_radio ${radio} done uci commit wireless uci -q set base_config.@status[0].wifi=1 uci commit base_config /sbin/wifi reload fi