- mp = s:option(ListValue, "macpolicy", translate("wifi_macpolicy"))
- mp.optional = true
- mp:value("")
- mp:value("deny", translate("wifi_whitelist"))
- mp:value("allow", translate("wifi_blacklist"))
- ml = s:option(Value, "maclist", translate("wifi_maclist"))
- ml:depends({macpolicy="allow"})
- ml:depends({macpolicy="deny"})
-
- s:option(Value, "txant", translate("wifi_txantenna")).optional = true
- s:option(Value, "rxant", translate("wifi_rxantenna")).optional = true
-
- s:option(Flag, "frameburst", translate("wifi_bursting")).optional = true
-
- s:option(Value, "distance", translate("wifi_distance")).optional = true
- --s:option(Value, "slottime", translate("wifi_slottime")).optional = true
-
- s:option(Value, "country", translate("wifi_country")).optional = true
- s:option(Value, "maxassoc", translate("wifi_maxassoc")).optional = true
+ tp = s:taboption("general",
+ (#tx_powers > 0) and ListValue or Value,
+ "txpower", translate("Transmit Power"), "dBm")
+
+ tp.rmempty = true
+ for _, p in ipairs(iw.txpwrlist) do
+ tp:value(p.dbm, "%i dBm (%i mW)" %{ p.dbm, p.mw })
+ end
+
+ mode = s:taboption("advanced", ListValue, "hwmode", translate("Mode"))
+ mode:value("11bg", "802.11b+g")
+ mode:value("11b", "802.11b")
+ mode:value("11g", "802.11g")
+ mode:value("11gst", "802.11g + Turbo")
+
+ mp = s:taboption("macfilter", ListValue, "macfilter", translate("MAC-Address Filter"))
+ mp:value("", translate("disable"))
+ mp:value("allow", translate("Allow listed only"))
+ mp:value("deny", translate("Allow all except listed"))
+ ml = s:taboption("macfilter", DynamicList, "maclist", translate("MAC-List"))
+ ml:depends({macfilter="allow"})
+ ml:depends({macfilter="deny"})
+
+ ant1 = s:taboption("advanced", ListValue, "txantenna", translate("Transmitter Antenna"))
+ ant1.widget = "radio"
+ ant1:depends("diversity", "")
+ ant1:value("3", translate("auto"))
+ ant1:value("0", translate("Antenna 1"))
+ ant1:value("1", translate("Antenna 2"))
+
+ ant2 = s:taboption("advanced", ListValue, "rxantenna", translate("Receiver Antenna"))
+ ant2.widget = "radio"
+ ant2:depends("diversity", "")
+ ant2:value("3", translate("auto"))
+ ant2:value("0", translate("Antenna 1"))
+ ant2:value("1", translate("Antenna 2"))
+
+ s:taboption("advanced", Flag, "frameburst", translate("Frame Bursting"))
+
+ s:taboption("advanced", Value, "distance", translate("Distance Optimization"))
+ --s:option(Value, "slottime", translate("Slot time"))
+
+ s:taboption("advanced", Value, "country", translate("Country Code"))
+ s:taboption("advanced", Value, "maxassoc", translate("Connection Limit"))
+end
+
+
+--------------------- HostAP Device ---------------------
+
+if hwtype == "prism2" then
+ s:taboption("advanced", Value, "txpower", translate("Transmit Power"), "att units").rmempty = true
+
+ s:taboption("advanced", Flag, "diversity", translate("Diversity")).rmempty = false
+
+ s:taboption("advanced", Value, "txantenna", translate("Transmitter Antenna"))
+ s:taboption("advanced", Value, "rxantenna", translate("Receiver Antenna"))