DHCP Discover / Offer Loop

Posted this under the Belkin RT3200 thread but I'm not totally convinced it is to do with the router.
Got a couple of RT3200s. Generally working great as APs.
Have a Drayton Wiser central heating hub that can't get an IP address when connecting through a RT3200 AP or, as I've just tested, directly to the RT3200 configured as a router.
tcpdump shows a DHCP discover packet from the hub and then an offer packet going back to the hub but no subsequent request from the hub.
Other devices all work fine. The difference between the Wiser hub and the other devices is that the hub requests a broadcast response in it's discover message whereas the other devices request / get a unicast response.
The Wiser hub can get an IP address from my old Netgear WNDR3700 running 19.07.
I've compared packets from a successful DHCP allocation and a loop and far as I can tell apart from the router mac address I can't see any difference
Any suggestions? I guess this could be a 21.02 vs 19.07 thing?
What are the next steps? If I see a OFFER broadcast packet on wlan0 for the Wiser hub in tcpdump what could stop it arriving? Is tcpdump hooked in right at the bottom of the stack? Similarly what might stop a Request packet from arriving from the hub.
I have no ability to run anything on the Wiser hub :frowning:

Yes, trying a packet dump would be a next step. Technically there could be two reasons for interoperability issues like this:

  • issues between your heater's wifi and the mt76 driver/ firmware/ hardware
  • issues with the DHCP client implementation (TCP/ IP stack) of your heater and dnsmasq running on OpenWrt

If you still have another/ older (ideally running OpenWrt-) router, you could temporarily try that as dumb AP, which could rule out dnsmasq as potential culprit (provided everything works that way) and divert attention to the wireless driver instead.

1 Like

Thanks for the reply.

How about upgrading the 19.07 WNDR3700 to 21.02 and seeing if that still works?

If that works I guess that would also rule out dnsmasq as it would be the same version on both

Upgrading to the current version is always recommended, before spending lots of time on debugging (should be easy for the wndr3700).

Finally found a quiet moment when I could risk taking out the wifi.

Upgraded the WNDR3700 to 21.02 and although it got stuck in the loop for a good few hours (which is interesting, RT3200 was left for 24 hours but failed) the thermostat finally got an IP address.

Guess this is pointing to the driver?
What are my next steps?