What's new

Your ISP's DHCP does not function properly.

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

david3

Occasional Visitor
I have an Asus RT-N66U running the latest Merlin firmware. And I just recently switched from DSL to Fiber service. The ONT is a Fiberhome model (with the ISP's custom firmware), and it's mostly locked-down.

When I reboot the router, I get this error on the Network Map page of the Asus:

Internet status:
Your ISP's DHCP does not function properly.

In order to get it to connect, I need to disable WAN (apply) and enable WAN (apply). Then it connects fine. Also, if I power off both the ONT and the router and restart them both at the same time, it connects fine without the error message.

It was this way with the previous Merlin firmware, as well. And when I first got the fiber service, the Fiberhome was in routing mode so I was double-natted. And it gave the same error and had the save behavior giving out a NAT address. I solved that by just giving the Asus a static IP. I've had the Fiberhome put in bridge mode now, so that's not an option.

I've tried changing the DHCP query frequency from Aggressive Mode to Normal Mode, but it makes no difference.

Any ideas?
 
mac clone the isp unit and direct plug in to the NTD if you have one, here In aus we use one its a powered box on the wall, just mac clone the isp unit and use the asus unit.
 
Thanks. I don't have an NTD -- the fiber is run inside my house and connects to the ONT in my home office. This ONT has a router and VoIP phone ports and everything built into it.

It was extremely difficult and took a long time to get the ISP to put it in bridge mode. I'm hesitant to mess with the MAC address. It seems if the ISP system senses changes it doesn't like it resets your profile to a snail's speed, and it's not easy to get it fixed.

Plus, it works when you manually restart the WAN. I have a theory about what's happening.

I think when the router reboots, it tries to get the same DHCP lease it had before. For whatever reason, it doesn't like that. When I manually restart the WAN, it usually gets a new IP. When I turn both the Asus router and the ONT off and back on, it often gets the same IP that it had before successfully.

I suspect if the Asus router would release the DHCP lease before rebooting, it might work. Or if it would at least try to get a new DHCP lease a second time after the first attempt fails.
 
I use the isp modems mac in in the mac clone section of my router cause my isp optus (Australia) required users to use their modem, only way that I can get voip working on my ata, sounds like you have a static ip, may I ask the authentication method, eg ipoe(dhcp) pppoe etc.
 
I have never found a good explanation of this message :-
"Your ISP's DHCP does not function properly." but get it frequently despite getting internet access

The message is generated by the wan down up check function wanduck:-

https://github.com/RMerl/asuswrt-merlin/blob/master/release/src/router/rc/wanduck.c#L2208
Where else could such a helpful message come from than that dreaded Wanduck code...
With my dual wan testing I found that unplugging helps in these cases. or, as OP says:
Just select another option as WAN from the drop down, re-select your setting THEN hit Apply.
Often this also shows when the WAN IP is a private range.
 
Amazing we are still having problems with this ancient dhcp protocol, BusyBox udhcpc is also important, I think recent updates have fixed a dhcp reconnect issue for which I have used a ping script to monitor - one potential issue is that ISP cable modems are 'half bridge' devices that will give a local IP when their internet access is down by pretending to be a dhcp server, which needs to be replaced by a real IP from remote dhcp server later, there was an issue in our code with the router unicasting its message to the last known dhcp server which may be been one of an ISP cluster, full dhcp failure and recovery broadcasts its message to any available dhcp server, I think BusyBox udhpc now does this itself. I also use a laptop cloned MAC address on the WAN, so can use laptop directly bypassing the router if necessary - also possible the cable modem also sees the original router MAC address during start-up...
 
I use the isp modems mac in in the mac clone section of my router cause my isp optus (Australia) required users to use their modem, only way that I can get voip working on my ata, sounds like you have a static ip, may I ask the authentication method, eg ipoe(dhcp) pppoe etc.

The WAN is a dynamic IP and it uses DHCP (WAN connection type set to Automatic IP).

This is PLDT FIBR service (the big phone company in the Philippines).
 
So it's ipoe like mine, disable wanduck in tools menu
 
So they are like telstra in Australia, I'm half Filipino by the way.
 
I have an Asus RT-N66U running the latest Merlin firmware. And I just recently switched from DSL to Fiber service. The ONT is a Fiberhome model (with the ISP's custom firmware), and it's mostly locked-down.

When I reboot the router, I get this error on the Network Map page of the Asus:

Internet status:
Your ISP's DHCP does not function properly.

In order to get it to connect, I need to disable WAN (apply) and enable WAN (apply). Then it connects fine. Also, if I power off both the ONT and the router and restart them both at the same time, it connects fine without the error message.

It was this way with the previous Merlin firmware, as well. And when I first got the fiber service, the Fiberhome was in routing mode so I was double-natted. And it gave the same error and had the save behavior giving out a NAT address. I solved that by just giving the Asus a static IP. I've had the Fiberhome put in bridge mode now, so that's not an option.

I've tried changing the DHCP query frequency from Aggressive Mode to Normal Mode, but it makes no difference.

Any ideas?
I support two sites in addition to my home. They all have the GPON fiberhome modem/router. They all had a sticker on them with the IP address - 192.168.1.1 is default, the userid and password.

I placed them all in bridge mode. I turned off the radios and dhcp as well. You want to have an ETH cable connection to the router when doing this. And assign a static IP on your ETH adapter on your laptop/computer of 192.168.1.x where x is some number higher than 1. subnet is 255.255.255.255 and gateway is 192.168.1.1. A cable is then connected from one of the LAN ports to the routers WAN port. On the ASUS router, enter the PPPOE userid and password the ISP gave me on a piece of paper in the WAN gui page.

Hopefully, if you talk to your ISP in the right tone of voice and tell them you want to do the same, they will work with you. If they resist, tell them the modem/router FW is too limited for your needs. Tell them you have an ASUS router with better functionality. Perhaps tell them you have children at home and need to implement content filtering and implement time of use restrictions. Those fiberhome devices are so limited. The firmware is the worse I have seen. Crapware? It is a POS in my opinion. Hopefully they will work with you. I have screen prints of the fiberhome router screens you need to change if you decide to pursue this.

My wife is a Filipina.
 
Last edited:
The logfile says: rc_service: httpd 480:notify_rc restart_wan_if 0 (or 1 for dual wan)
So how does one restart the WAN interface 0 or 1 in a shell script.
I was unable to figure it out on GitHub.
What does restart_wan_if trigger on the router?
 
The logfile says: rc_service: httpd 480:notify_rc restart_wan_if 0 (or 1 for dual wan)
So how does one restart the WAN interface 0 or 1 in a shell script.
I was unable to figure it out on GitHub.
What does restart_wan_if trigger on the router?
Use
service "restart_wan_if 0"
service "restart_wan_if 1"

the restart_wan_if is essentially a mini reboot of the wan.....stops and restarts all the stats, ntp, igmp, upnp, pppoe, stops ipv4/ipv6 and releases/renegotiates the WAN DHCP, nat and firewall, vpn server/client and probably a few more things I may be missing :)
 
Last edited:
Use
service "restart_wan_if 0"
service "restart_wan_if 1"

the restart_wan_if is essentially a mini reboot of the wan.....starts and restarts all the stats, ntp, igmp, upnp, pppoe, stops ipv4/ipv6 and releases/renegotiates the WAN DHCP, nat and firewall, vpn server/client and probably a few more things I may be missing :)
Damn, so simple?
 
Any ideas?
So in the spirit of Colin's and Johns helpful input, one could do this:

Create /jffs/scripts/wan_if_restart.sh and add this code to it:
Code:
#!/bin/sh

# restart primary WAN interface if not connected

check_wanup(){

ping -c 1 -W 1 www.google.com >/dev/null

if [ $? -eq 1 ];then
   logger "restarting WAN interface $(nvram get wan_primary) via $0"
   service "restart_wan_if $(nvram get wan_primary)" >/dev/null
fi

sleep 10

check_wanup

}

check_wanup
Then call it from /jffs/scripts/services-start:

Create or add to /jffs/scripts/services-start
Code:
#!/bin/sh

/jffs/scripts/wan_if_restart.sh # start the WAN checker
Make sure the files are working:
Code:
dos2unix /jffs/scripts/*
chmod a+rx /jffs/scripts/*
This runs continually in the background and checks every 10 seconds if the WAN interface is reported as up.
If not it restarts the interface.

Edit: Code uses ping to determine WAN up
 
Last edited:
So it's ipoe like mine, disable wanduck in tools menu

I just changed the setting under Tools / Other Settings

"Wan: Use DNS probes to determine if WAN is up (default: Yes)"

It was set to Yes and I changed it to No.

I'll try rebooting it tomorrow to see if that fixed it. Fingers crossed.
 
I support two sites in addition to my home. They all have the GPON fiberhome modem/router. They all had a sticker on them with the IP address - 192.168.1.1 is default, the userid and password.

I placed them all in bridge mode. I turned off the radios and dhcp as well. You want to have an ETH cable connection to the router when doing this. And assign a static IP on your ETH adapter on your laptop/computer of 192.168.1.x where x is some number higher than 1. subnet is 255.255.255.255 and gateway is 192.168.1.1. A cable is then connected from one of the LAN ports to the routers WAN port. On the ASUS router, enter the PPPOE userid and password the ISP gave me on a piece of paper in the WAN gui page.

Hopefully, if you talk to your ISP in the right tone of voice and tell them you want to do the same, they will work with you. If they resist, tell them the modem/router FW is too limited for your needs. Tell them you have an ASUS router with better functionality. Perhaps tell them you have children at home and need to implement content filtering and implement time of use restrictions. Those fiberhome devices are so limited. The firmware is the worse I have seen. Crapware? It is a POS in my opinion. Hopefully they will work with you. I have screen prints of the fiberhome router screens you need to change if you decide to pursue this.

My wife is a Filipina.

The Fiberhome unit they gave me is configured for router mode by default, and almost everything is locked down. I can turn the radios on and off, change the SSID and wifi password, and that's about it. Anything else has to be changed by the ISP remotely.

They told me they're not allowed to change it to bridge mode for a residential customer, but I have a bunch of security cameras and I couldn't access them remotely anymore since there's no port forwarding. They finally set it for me, thankfully, but they had to come to my house and it took a long time and a lot of phone calls.

So I'm past that now, it's in bridge mode. By the way, this Fiberhome ONT only has 100mbps LAN ports. So if they ever sell me > 100mbps service, they'll have to replace it. You'd think they'd future-proof it, but then again, I imagine these are really cheap.
 
So in the spirit of Colin's and Johns helpful input, one could do this:

Create /jffs/scripts/wan_if_restart.sh and add this code to it:
Code:
#!/bin/sh

# restart primary WAN interface if not connected

check_wanup(){

if [ "$(nvram get link_wan)" != "1" ]; then
    logger "restarting WAN interface $(nvram get wan_primary) via $0"
    service "restart_wan_if $(nvram get wan_primary)" >/dev/null
fi

sleep 10

check_wanup

}

check_wanup
Then call it from /jffs/scripts/services-start:

Create or add to /jffs/scripts/services-start
Code:
#!/bin/sh

/jffs/scripts/wan_if_restart.sh # start the WAN checker
Make sure the files are working:
Code:
dos2unix /jffs/scripts/*
chmod a+rx /jffs/scripts/*
This runs continually in the background and checks every 10 seconds if the WAN interface is reported as up.
If not it restarts the interface.

Thanks. If disabling the wanduck doesn't fix it, I'll probably do something like this.
 
Thanks. If disabling the wanduck doesn't fix it, I'll probably do something like this.
I just changed the code to use ping.
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top