mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-07-30 02:31:47 +08:00
56 lines
1.9 KiB
Bash
56 lines
1.9 KiB
Bash
#!/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
|