Hmmm... Well, there are two possibilities: (1) The ddns client isn't functioning properly and (2) The hotplug script isn't being run. The fact you saw no command line output (as I do) when you tried restarting the wan manually makes me suspect that the problem may be (2). Also, since I can't replicate the problem, and the only difference is that you're using pppoe, while I have a cable modem makes me think this is more likely.
However, there's a way to test this. Edit /etc/hotplug.d/iface/25-ddns, so that whenever it runs it creates a file in /tmp, telling you that it ran, and when it ran. Adjust the code so it looks like this (adding the date command, which redirects to /tmp/ddns-hotplug-test):
Code: Select all
#!/bin/sh
config_load "network"
config_get wan_proto "wan" "proto"
if [ "$INTERFACE" = "wan" ] && [ "$ACTION" = "ifup" ]
then
date > /tmp/ddns-hotplug-test
/usr/bin/ddns_gargoyle -P /etc/ddns_providers.conf -C /etc/ddns_gargoyle.conf
fi
Now we'll have a record of any time we tried to update ddns with this script. If you run ifdown wan ; sleep 2 ; ifup wan ; does /tmp/ddns-hotplug-test get created? Does your ip get updated?
If everything seems to work (file gets created and ip is updated), then try resetting your cron job to execute right away (or wait until tomorrow morning if you're lazy), so you can test if there's some difference if cron is running the commands instead of you. You may want to delete /etc/ddns-hotplug-test, if it exists, before you do this so you don't have to check the time in the file and see if it matches when cron ran -- you can just see if it exists.
If you're seeing the file get created at the proper time, but the ip is not updated (when an update is necessary) it's definitely a problem with the client. If the file isn't getting created, that means that the script isn't being run, and the problem is not the client.