X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fniu%2Fluasrc%2Fmodel%2Fcbi%2Fniu%2Fwireless%2Fap1.lua;fp=modules%2Fniu%2Fluasrc%2Fmodel%2Fcbi%2Fniu%2Fwireless%2Fap1.lua;h=2b748ad9d57e7c4c2c51271aacb74ea6ddcf6496;hp=5ce93b400035b1b774222fd98585f3e369766457;hb=e822874a710a00ee8b6de988ece12ba76e193236;hpb=2aa4534db4c01851fa38293766f326cf4089c032 diff --git a/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua b/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua index 5ce93b400..2b748ad9d 100644 --- a/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua +++ b/modules/niu/luasrc/model/cbi/niu/wireless/ap1.lua @@ -16,13 +16,13 @@ $Id$ local iface = "ap" local ap = true - local fs = require "nixio.fs" local sys = require "luci.sys" local cursor = require "luci.model.uci".inst local state = require "luci.model.uci".inst_state cursor:unload("wireless") + local device = cursor:get("wireless", iface, "device") local hwtype = cursor:get("wireless", device, "type") @@ -175,7 +175,9 @@ s.addremove = false s:tab("general", translate("General Settings")) s:tab("expert", translate("Expert Settings")) -s:taboption("general", Value, "ssid", translate("Network Name (ESSID)")) + + +local ssid = s:taboption("general", Value, "ssid", translate("Network Name (ESSID)")) mode = s:taboption("expert", ListValue, "mode", translate("Operating Mode")) mode.override_values = true @@ -185,8 +187,12 @@ encr = s:taboption("expert", ListValue, "encryption", translate("Encryption")) if hwtype == "mac80211" then - s:taboption("expert", Flag, "wds", translate("Enable Bridging and Repeating (WDS)")) - s:taboption("expert", Flag, "powersave", translate("Enable Powersaving")) + mode:value("mesh", translate("Mesh (802.11s)")) + local meshid = s:taboption("expert", Value, "mesh_id", translate("Mesh ID")) + meshid:depends("mode", "mesh") + + s:taboption("expert", Flag, "wds", translate("Enable Bridging and Repeating (WDS)")):depends("mode", "ap") + s:taboption("expert", Flag, "powersave", translate("Enable Powersaving")):depends("mode", "ap") elseif hwtype == "atheros" then -- mode:value("wds", translate("Static WDS")) @@ -246,16 +252,26 @@ encr:value("wep", "WEP", {mode="ap"}) if hwtype == "atheros" or hwtype == "mac80211" or hwtype == "prism2" then local hostapd = fs.access("/usr/sbin/hostapd") or os.getenv("LUCI_SYSROOT") + local supplicant = fs.access("/usr/sbin/wpa_supplicant") or os.getenv("LUCI_SYSROOT") - if hostapd then - --s:taboption("expert", Flag, "_alloweap", "Allow EAP / 802.11i authentication") - + if hostapd and not supplicant then encr:value("psk", "WPA", {mode="ap"}) encr:value("wpa", "WPA-EAP", {mode="ap"}) encr:value("psk-mixed", "WPA + WPA2", {mode="ap"}) encr:value("psk2", "WPA2", {mode="ap"}) encr:value("wpa2", "WPA2-EAP (802.11i)", {mode="ap"}) encr.default = "psk-mixed" + elseif not hostapd and supplicant then + encr:value("psk", "WPA", {mode="mesh"}) + encr:value("psk2", "WPA2", {mode="mesh"}) + encr.default = "psk2" + elseif hostapd and supplicant then + encr:value("psk", "WPA", {mode="ap"}, {mode="mesh"}) + encr:value("wpa", "WPA-EAP", {mode="ap"}) + encr:value("psk-mixed", "WPA + WPA2", {mode="ap"}) + encr:value("psk2", "WPA2", {mode="ap"}, {mode="mesh"}) + encr:value("wpa2", "WPA2-EAP (802.11i)", {mode="ap"}) + encr.default = "psk-mixed" end elseif hwtype == "broadcom" then encr:value("psk", "WPA")