luci-mod-admin-full: support configuring usbport LED triggers
authorJo-Philipp Wich <jo@mein.io>
Wed, 25 Jan 2017 23:08:43 +0000 (00:08 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 25 Jan 2017 23:39:38 +0000 (00:39 +0100)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/leds.lua

index 8d9bcb1371402815e6a1633a0f97f9ae053a442a..4b6f397e6a906a42ec187322ec3f501e485f38c4 100644 (file)
@@ -109,6 +109,13 @@ function usbdev.remove(self, section)
        end
 end
 
+
+usbport = s:option(MultiValue, "ports", translate("USB Ports"))
+usbport:depends("trigger", "usbport")
+usbport.rmempty = true
+usbport.widget = "checkbox"
+usbport.size = 1
+
 for p in nixio.fs.glob("/sys/bus/usb/devices/[0-9]*/manufacturer") do
        local id = p:match("%d+-%d+")
        local mf = nixio.fs.readfile("/sys/bus/usb/devices/" .. id .. "/manufacturer") or "?"
@@ -116,4 +123,12 @@ for p in nixio.fs.glob("/sys/bus/usb/devices/[0-9]*/manufacturer") do
        usbdev:value(id, "%s (%s - %s)" %{ id, mf, pr })
 end
 
+for p in nixio.fs.glob("/sys/bus/usb/devices/[0-9]*") do
+       local bus, port = p:match("(%d+)-(%d+)")
+       if bus and port then
+               usbport:value("usb%u-port%u" %{ tonumber(bus), tonumber(port) },
+                             "Hub %u, Port %u" %{ tonumber(bus), tonumber(port) })
+       end
+end
+
 return m