From: Jo-Philipp Wich Date: Sat, 27 Mar 2010 14:56:35 +0000 (+0000) Subject: luci-0.9: merge r5948 X-Git-Tag: 0.9.0~27 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=db8dab8cdfd970439c3011cfa6af0766ebaf642a;p=project%2Fluci.git luci-0.9: merge r5948 --- diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua index d645f0f0bb..255f684674 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua @@ -91,14 +91,17 @@ end hwaddr = s:option(DummyValue, "_hwaddr") function hwaddr.cfgvalue(self, section) local ix = utl.trim(self.map:get(section, "ifname") or "") - if #ix > 0 then - local mac = fs.readfile("/sys/class/net/" .. ix .. "/address") - or luci.util.exec("ifconfig " .. ix):match(" ([A-F0-9:]+)%s*\n") + local mac = fs.readfile("/sys/class/net/" .. ix .. "/address") + + if not mac then + mac = luci.util.exec("ifconfig " .. ix) + mac = mac and mac:match(" ([A-F0-9:]+)%s*\n") + end - if mac and #mac > 0 then - return mac:upper() - end + if mac and #mac > 0 then + return mac:upper() end + return "?" end diff --git a/modules/admin-mini/luasrc/model/cbi/mini/network.lua b/modules/admin-mini/luasrc/model/cbi/mini/network.lua index 14414e999e..57db2a6fde 100644 --- a/modules/admin-mini/luasrc/model/cbi/mini/network.lua +++ b/modules/admin-mini/luasrc/model/cbi/mini/network.lua @@ -41,9 +41,18 @@ hwaddr = s:option(DummyValue, "_hwaddr", translate("network_interface_hwaddr"), translate("network_interface_hwaddr_desc")) function hwaddr.cfgvalue(self, section) local ix = self.map:get(section, "ifname") or "" - return fs.readfile("/sys/class/net/" .. ix .. "/address") - or luci.util.exec("ifconfig " .. ix):match(" ([A-F0-9:]+)%s*\n") - or "n/a" + local mac = fs.readfile("/sys/class/net/" .. ix .. "/address") + + if not mac then + mac = luci.util.exec("ifconfig " .. ix) + mac = mac and mac:match(" ([A-F0-9:]+)%s*\n") + end + + if mac and #mac > 0 then + return mac:upper() + end + + return "?" end