X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=modules%2Fadmin-mini%2Fluasrc%2Fmodel%2Fcbi%2Fmini%2Fwifi.lua;h=8b623090b781063ab818145db349eefee37935b1;hb=fe40708d8d2d8a3e58073bddc81bdc30ee38e6dd;hp=5f2e014f3c4a0f75d3c3ad4b5ebc8a5280735987;hpb=5ff3750b37a0f4b0fffe225c4c1ea25485b8ab27;p=oweals%2Fluci.git diff --git a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua index 5f2e014f3..8b623090b 100644 --- a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua +++ b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua @@ -89,6 +89,7 @@ end t2 = m:section(Table, {}, translate("iwscan"), translate("iwscan1")) function scan.write(self, section) + m.autoapply = false t2.render = t2._render local ifname = self.map:get(section, "ifname") luci.util.update(t2.data, luci.sys.wifi.iwscan(ifname)) @@ -127,6 +128,7 @@ end -- Config Section -- s = m:section(NamedSection, wifidevs[1], "wifi-device", translate("devices")) +s.addremove = false en = s:option(Flag, "disabled", translate("enable")) en.enabled = "0" @@ -140,7 +142,8 @@ end local hwtype = m:get(wifidevs[1], "type") if hwtype == "atheros" then - mode = s:option(ListValue, "mode", translate("mode")) + mode = s:option(ListValue, "hwmode", translate("mode")) + mode.override_values = true mode:value("", "auto") mode:value("11b", "802.11b") mode:value("11g", "802.11g") @@ -158,6 +161,7 @@ end s = m:section(TypedSection, "wifi-iface", translate("m_n_local")) s.anonymous = true +s.addremove = false s:option(Value, "ssid", translate("a_w_netid")) @@ -176,6 +180,7 @@ else end mode = s:option(ListValue, "mode", translate("mode")) +mode.override_values = true mode:value("ap", translate("m_w_ap")) mode:value("adhoc", translate("m_w_adhoc")) mode:value("sta", translate("m_w_client")) @@ -206,29 +211,53 @@ function mode.write(self, section, value) end encr = s:option(ListValue, "encryption", translate("encryption")) -encr:value("none", "keine") +encr.override_values = true +encr:value("none", "No Encryption") encr:value("wep", "WEP") -encr:value("psk", "WPA-PSK") -encr:value("wpa", "WPA-Radius", {mode="ap"}) -encr:value("psk2", "WPA2-PSK") -encr:value("wpa2", "WPA2-Radius", {mode="ap"}) + +if hwtype == "atheros" or hwtype == "mac80211" then + local supplicant = luci.fs.mtime("/usr/sbin/wpa_supplicant") + local hostapd = luci.fs.mtime("/usr/sbin/hostapd") + + if hostapd and supplicant then + encr:value("psk", "WPA-PSK") + encr:value("psk2", "WPA2-PSK") + encr:value("wpa", "WPA-Radius", {mode="ap"}) + encr:value("wpa2i", "WPA2-Radius", {mode="ap"}) + elseif hostapd and not supplicant then + encr:value("psk", "WPA-PSK", {mode="ap"}, {mode="adhoc"}) + encr:value("psk2", "WPA2-PSK", {mode="ap"}, {mode="adhoc"}) + encr:value("wpa", "WPA-Radius", {mode="ap"}) + encr:value("wpa2i", "WPA2-Radius", {mode="ap"}) + encr.description = translate("wifi_wpareq") + elseif not hostapd and supplicant then + encr:value("psk", "WPA-PSK", {mode="sta"}) + encr:value("psk2", "WPA2-PSK", {mode="sta"}) + encr.description = translate("wifi_wpareq") + else + encr.description = translate("wifi_wpareq") + end +elseif hwtype == "broadcom" then + encr:value("psk", "WPA-PSK") + encr:value("psk2", "WPA2-PSK") +end key = s:option(Value, "key", translate("key")) key:depends("encryption", "wep") key:depends("encryption", "psk") key:depends("encryption", "wpa") key:depends("encryption", "psk2") -key:depends("encryption", "wpa2") +key:depends("encryption", "wpa2i") key.rmempty = true server = s:option(Value, "server", translate("a_w_radiussrv")) server:depends("encryption", "wpa") -server:depends("encryption", "wpa2") +server:depends("encryption", "wpa2i") server.rmempty = true port = s:option(Value, "port", translate("a_w_radiusport")) port:depends("encryption", "wpa") -port:depends("encryption", "wpa2") +port:depends("encryption", "wpa2i") port.rmempty = true @@ -251,4 +280,4 @@ if hwtype == "broadcom" then end -return m \ No newline at end of file +return m