even if the rights on the file are correct, you can’t write anything, when the filesystem itself is mounted ro (read only).

I have no GL.iNet router with me right now, but on a fully grown debian it looks something like:

lupus@zoe:~$ mount
[...]
/dev/mapper/zoe--vg-root on / type ext4 (rw,relatime,errors=remount-ro)

inside the () the first argument ‘rw’ means ‘read write’. but when it is ro instead, you can’t write, even if you are root.

In case of the router you also need to know what is exactly the mountpoint of the file. It could be some kind of overlay, binding, …