diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
index 37cee5cc2..7ff39802a 100644
--- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
+++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
@@ -914,6 +914,21 @@ function interfaces_status()
mArray.openmptcprouter["loadavg"] = sys.exec("cat /proc/loadavg 2>/dev/null"):match("[%d%.]+ [%d%.]+ [%d%.]+")
mArray.openmptcprouter["uptime"] = sys.exec("cat /proc/uptime 2>/dev/null"):match("[%d%.]+")
+ mArray.openmptcprouter["fstype"] = sys.exec("cat /proc/mounts | awk '/\/dev\/root/ {print $3}' | tr -d '\n'")
+ if mArray.openmptcprouter["fstype"] == "ext4" then
+ if sys.exec("cat /proc/mounts | awk '/\/dev\/root/ {print $4}' | grep ro") == "" then
+ mArray.openmptcprouter["fsro"] = false
+ else
+ mArray.openmptcprouter["fsro"] = true
+ end
+ elseif mArray.openmptcprouter["fstype"] == "squashfs" then
+ if sys.exec("cat /proc/mounts | awk '/overlayfs/ {print $4}' | grep overlay") == "" then
+ mArray.openmptcprouter["fsro"] = true
+ else
+ mArray.openmptcprouter["fsro"] = false
+ end
+ end
+
-- overview status
mArray.wans = {}
mArray.tunnels = {}
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
index 1b80d9941..a0e7fb5f7 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
@@ -140,6 +140,10 @@
statusMessage += '
';
}
}
+ if (mArray.openmptcprouter.fsro == true)
+ {
+ statusMessage += 'Filesystem is readonly
';
+ }
if (mArray.openmptcprouter.tun_service == false)
{
statusMessage += 'GloryTUN is not running
';