$Id$
]]--
-local cursor = require "luci.model.uci".inst_state
-local nw = require "luci.model.network"
-nw.init(cursor)
+local niulib = require "luci.niulib"
m = Map("network", "Configure Internet Connection")
s = m:section(NamedSection, "wan", "interface", "Internet Connection Device")
s.anonymous = true
s.addremove = false
-l = s:option(ListValue, "_wandev", "Internet Connection via")
+s:tab("general", translate("General Settings"))
+s:tab("expert", translate("Expert Settings"))
-for _, iface in ipairs(nw.get_interfaces()) do
- if iface:name():find("eth") == 1 then
- local net = iface:get_network()
- if not net or net:name() == "wan" or os.getenv("LUCI_SYSROOT") then
- l:value("ethernet:%s" % iface:name(),
- "Cable / DSL / Ethernet Adapter (%s)" % iface:name())
- end
- end
+l = s:taboption("general", ListValue, "_wandev", "Internet Connection via")
+
+for _, ifc in ipairs(niulib.eth_get_available("wan")) do
+ l:value("ethernet:%s" % ifc, "Cable / DSL / Ethernet-Adapter (%s)" % ifc)
+end
+
+for _, wifi in ipairs(niulib.wifi_get_available("client")) do
+ l:value("wlan:%s" % wifi, "WLAN-Adapter (%s)" % wifi)
+end
+
+for _, ifc in ipairs(niulib.eth_get_bridged("lan")) do
+ l:value("ethernet:!%s" % ifc, "Used Ethernet-Adapter (%s)" % ifc, {_showused = "1"})
end
l:value("none", "No Internet Connection")
+v = s:taboption("expert", ListValue, "_showused", translate("Show ethernet adapters in use"))
+v:value("", translate("never"))
+v:value("1", translate("from LAN-bridge, unbridge on-demand"))
+
+
+
return m