}
_wdev_prepare_channel() {
- json_get_vars channel hwmode
+ json_get_vars channel band hwmode
auto_channel=0
enable_ht=0
htmode=
hwmode="${hwmode##11}"
- hwmode_n="${hwmode##n}"
case "$channel" in
""|0|auto)
;;
esac
- [[ "$hwmode_n" = "$hwmode" ]] || {
- enable_ht=1
- hwmode="$hwmode_n"
-
- json_get_vars htmode
- case "$htmode" in
- HT20|HT40+|HT40-);;
- *) htmode= ;;
- esac
- }
-
case "$hwmode" in
a|b|g|ad) ;;
*)
fi
;;
esac
+
+ case "$band" in
+ 2g) hwmode=g;;
+ 5g|6g|60g) hwmode=a;;
+ *)
+ case "$hwmode" in
+ *a) band=5g;;
+ *ad) band=60g;;
+ *b|*g) band=2g;;
+ esac
+ ;;
+ esac
}
_wdev_handler() {
json_add_int pid "$1"
json_add_string exe "$exe"
[ -n "$3" ] && json_add_boolean required 1
+ [ -n "$4" ] && json_add_boolean keep 1
exe2="$(readlink -f /proc/$1/exe)"
[ "$exe" != "$exe2" ] && echo "WARNING (wireless_add_process): executable path $exe does not match process $1 path ($exe2)"
_wdev_notify
auth_mode_open=1
auth_mode_shared=0
auth_type=none
- wpa_cipher=CCMP
+
+ if [ "$hwmode" = "ad" ]; then
+ wpa_cipher="GCMP"
+ else
+ wpa_cipher="CCMP"
+ fi
+
case "$encryption" in
*tkip+aes|*tkip+ccmp|*aes+tkip|*ccmp+tkip) wpa_cipher="CCMP TKIP";;
*aes|*ccmp) wpa_cipher="CCMP";;
esac
;;
esac
+
+ case "$encryption" in
+ *osen*)
+ auth_osen=1
+ ;;
+ esac
}
_wireless_set_brsnoop_isolation() {
}
_wdev_common_device_config() {
- config_add_string channel hwmode htmode noscan
+ config_add_string channel hwmode band htmode noscan
}
_wdev_common_iface_config() {