X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=scripts%2Fnetifd-wireless.sh;h=c5d8a96c4a52cb9479d06e830be3733f0287831c;hp=e26cea5a261656d88fc303f1956ec41de520b72d;hb=fb2f843edf44c6f12b636cd82cdd1c71e953495f;hpb=7b0bd859249ee2c8af63f159534d2944d969056d diff --git a/scripts/netifd-wireless.sh b/scripts/netifd-wireless.sh index e26cea5..c5d8a96 100644 --- a/scripts/netifd-wireless.sh +++ b/scripts/netifd-wireless.sh @@ -58,7 +58,7 @@ _wdev_prepare_channel() { ;; esac - [[ "$hwmode_n" = "$hwmode" ]] && { + [[ "$hwmode_n" = "$hwmode" ]] || { enable_ht=1 hwmode="$hwmode_n" @@ -248,14 +248,6 @@ wireless_vif_parse_encryption() { esac } -_get_vif_vars() { - # internal use - json_get_var _w_type mode - - # for drivers - json_get_var network_bridge bridge -} - for_each_interface() { local _w_types="$1"; shift local _w_ifaces _w_iface @@ -267,8 +259,9 @@ for_each_interface() { for _w_iface in $_w_ifaces; do json_select "$_w_iface" if [ -n "$_w_types" ]; then + json_get_var network_bridge bridge json_select config - _get_vif_vars + json_get_var _w_type mode json_select .. _w_types=" $_w_types " [[ "${_w_types%$_w_type*}" = "$_w_types" ]] && { @@ -283,11 +276,11 @@ for_each_interface() { } _wdev_common_device_config() { - config_add_string channel hwmode + config_add_string channel hwmode htmode } _wdev_common_iface_config() { - config_add_string mode ssid encryption key + config_add_string mode ssid encryption 'key:wpakey' } init_wireless_driver() { @@ -297,6 +290,8 @@ init_wireless_driver() { case "$cmd" in dump) add_driver() { + eval "drv_$1_cleanup" + json_init json_add_string name "$1"