diff --git a/package/mtk/applications/luci-app-mtwifi-cfg/root/usr/share/luci-app-mtwifi-cfg/wireless-mtk.js b/package/mtk/applications/luci-app-mtwifi-cfg/root/usr/share/luci-app-mtwifi-cfg/wireless-mtk.js index a2d82b4c03..e51407b227 100644 --- a/package/mtk/applications/luci-app-mtwifi-cfg/root/usr/share/luci-app-mtwifi-cfg/wireless-mtk.js +++ b/package/mtk/applications/luci-app-mtwifi-cfg/root/usr/share/luci-app-mtwifi-cfg/wireless-mtk.js @@ -312,6 +312,20 @@ function add_dependency_permutations(o, deps) { o.depends(res[i]); } +function add_dep_vht_feature(o) { + o.depends({'_freq': 'VHT20', '!contains': true}); + o.depends({'_freq': 'VHT40', '!contains': true}); + o.depends({'_freq': 'VHT80', '!contains': true}); + o.depends({'_freq': 'VHT160', '!contains': true}); +} + +function add_dep_he_feature(o) { + o.depends({'_freq': 'HE20', '!contains': true}); + o.depends({'_freq': 'HE40', '!contains': true}); + o.depends({'_freq': 'HE80', '!contains': true}); + o.depends({'_freq': 'HE160', '!contains': true}); +} + var CBIWifiFrequencyValue = form.Value.extend({ callFrequencyList: rpc.declare({ object: 'iwinfo', @@ -1011,12 +1025,27 @@ return view.extend({ o = ss.taboption('advanced', CBIWifiCountryValue, 'country', _('Country Code')); o.wifiNetwork = radioNet; - if (band == '2g') { - o = ss.taboption('advanced', form.Flag, 'noscan', _('Force 40MHz mode'), _('Always use 40MHz channels even if the secondary channel overlaps. Using this option does not comply with IEEE 802.11n-2009!')); - o.rmempty = false; - } + if (!isDisabled) { + if (band == '2g') { + o = ss.taboption('advanced', form.Flag, 'noscan', _('Force 40MHz mode'), _('Always use 40MHz channels even if the secondary channel overlaps. Using this option does not comply with IEEE 802.11n-2009!')); + o.depends({'_freq': 'HE40', '!contains': true}); + o.depends({'_freq': 'HT40', '!contains': true}); + o.default = o.disabled; + o.rmempty = false; + } - o = ss.taboption('advanced', form.Flag, 'mu_beamformer', _('MU-MIMO')); + o = ss.taboption('advanced', form.Flag, 'mu_beamformer', _('MU-MIMO')); + add_dep_he_feature(o); + add_dep_vht_feature(o); + o.default = o.disabled; + o.rmempty = false; + + o = ss.taboption('advanced', form.ListValue, 'twt', _('Target Wake Time')); + add_dep_he_feature(o); + o.value('', _('Disable')); + o.value('1', _('Enable')); + o.value('2', _('Force')); + } var is_dbdc_main = uci.get('wireless', radioNet.getWifiDeviceName(), 'dbdc_main') == '1'; @@ -1036,11 +1065,6 @@ return view.extend({ o.placeholder = 100; } - o = ss.taboption('advanced', form.ListValue, 'twt', _('Target Wake Time')); - o.value('', _('Disable')); - o.value('1', _('Enable')); - o.value('2', _('Force')); - o = ss.taboption('advanced', form.Value, 'txpower', _('Maximum transmit power')); o.datatype = 'range(1,100)'; o.placeholder = 100;