Hi all,
My device is working on OpenWRT 19.07.10.
We try to implement some Lua script to update "uci config".
At lua script, we use uci:commit() to save config and trigger related services to reload, it works well.
We have another shell script to polling check the network status, it will update config, too.
The case is, we use Lua script to set device with static ip, it works.
Then, we use shell script to set device with dhcp ip and do reload_config, it doesn't work.
We try to analysis the Lua script and reload_config, found
- Lua script to set static ip, it is okay, but /var/run/config.md5 did not updated!!!
root@xevb3916-7c19:~# cat /var/run/config.md5
ace41c42e502d69b749e29935b0a0128 /var/run/config.check/audiod
a4c3859cfb51bc5db088a2c52da4f57f /var/run/config.check/dhcp
d59a2995d28afa9bb1423d4c9e70636e /var/run/config.check/dnswitcher
c3c944c737f368b1ac57b3d106765081 /var/run/config.check/dropbear
00f79d994529ac11faf00bc1f06afbab /var/run/config.check/fstab
a4cd59ef836a8dbf1678115a6778f99f /var/run/config.check/image
2f2d82ffce61741a8c787e00ab82a32e /var/run/config.check/lrtspd
b303bc9e931c99b6f46169a898e8103f /var/run/config.check/luci
7e14b15f29c528e6a4b9a47ff11449ab /var/run/config.check/network
3a341a652cd70b7b76f22b31a5f61ffc /var/run/config.check/ntpclient
001beab10a3d5146bf1ab5b2c5e849b5 /var/run/config.check/oeventp
dc9a9914472dc2ea1120034b04186f4e /var/run/config.check/onvif
33daf6aa650b3d2a19e19ae169c5f134 /var/run/config.check/pullmsg
33d2484695d030ddd53368f55b0e4ee9 /var/run/config.check/rpcd
4732a2de123a357cc89d01550898ea9b /var/run/config.check/rules
e5469444dacc66dc1853921e5b68a29d /var/run/config.check/system
df2e72c7878469aa9074df6bd402c8ca /var/run/config.check/ucitrack
d2e4109a24da761eff575b65b30a31e1 /var/run/config.check/videod
93cbe4a5c777dcdbf4104b8b1f4ea3df /var/run/config.check/wireless
root@xevb3916-7c19:~# cat /etc/config/network | md5sum
5ced79013b45ac69d5c6caa532923e69 -
- When shell script to set dhcp and do reload_config.
The md5sum is same, reload_config did not trigger reload.
root@xevb3916-7c19:~# cat /var/run/config.md5
ace41c42e502d69b749e29935b0a0128 /var/run/config.check/audiod
a4c3859cfb51bc5db088a2c52da4f57f /var/run/config.check/dhcp
d59a2995d28afa9bb1423d4c9e70636e /var/run/config.check/dnswitcher
c3c944c737f368b1ac57b3d106765081 /var/run/config.check/dropbear
00f79d994529ac11faf00bc1f06afbab /var/run/config.check/fstab
a4cd59ef836a8dbf1678115a6778f99f /var/run/config.check/image
2f2d82ffce61741a8c787e00ab82a32e /var/run/config.check/lrtspd
b303bc9e931c99b6f46169a898e8103f /var/run/config.check/luci
7e14b15f29c528e6a4b9a47ff11449ab /var/run/config.check/network
3a341a652cd70b7b76f22b31a5f61ffc /var/run/config.check/ntpclient
001beab10a3d5146bf1ab5b2c5e849b5 /var/run/config.check/oeventp
dc9a9914472dc2ea1120034b04186f4e /var/run/config.check/onvif
33daf6aa650b3d2a19e19ae169c5f134 /var/run/config.check/pullmsg
33d2484695d030ddd53368f55b0e4ee9 /var/run/config.check/rpcd
4732a2de123a357cc89d01550898ea9b /var/run/config.check/rules
e5469444dacc66dc1853921e5b68a29d /var/run/config.check/system
df2e72c7878469aa9074df6bd402c8ca /var/run/config.check/ucitrack
d2e4109a24da761eff575b65b30a31e1 /var/run/config.check/videod
93cbe4a5c777dcdbf4104b8b1f4ea3df /var/run/config.check/wireless
root@xevb3916-7c19:~# cat /etc/config/network | md5sum
1f374d6cbb59d885ec91ec89b359acad -
My question is if we use Lua script to update uci config, is there a good way(low CPU usage) to make sure /var/run/config.md5 is synced with uci system? Please help. Thanks.