Configuring GL.iNet Router using DuckDns

I am trying to configure my router to dynamically update its IP using duckdns. The router is GL-AR300M-ext and the OpenWrt firmware version is v3.024. My router gets internet using a USB modem via tethering. Internet works fine.

Following the instructions on duckdns, whenever I run /usr/lib/ddns/ duckdns to test my script, I get an unknown command - duckdns error.

The content of my /etc/config/ddns file is:

config service "duckdns"
        option enabled          "1"
        option domain           "subdomain.duckdns .org"
        option username         "username"
        option password         "password"
        option ip_source        "network"
        option ip_network       "tethering"
        option force_interval   "72"
        option force_unit       "hours"
        option check_interval   "10"
        option check_unit       "minutes"
        option update_url       "[USERNAME]&token=[PASSWORD]&ip=[IP]"

I can see that the IP is not being updated whenever I check duckdns. I'll appreciate any pointers to put me on the right direction. Thanks.

If the DDNS feature is consistent with OpenWrt 18.06.1, to which the GL.iNet firmware adds many "convenience" packages, then it should configure the same way as described at

It looks similar, so perhaps someone here can help.

Another place to check is with the GL.iNet forums, especially if GL.iNet has a special package for DDNS.