Hello!,
The problem is insane, however it is real. SDK proprietary implementation but it may applies to AT firmware as well.
-
My DHCP server is router TPlink AC1200. There are many devices, mobile phones, and a few LAN devices using the same LwIP stack and almost the same DHCP implementation (I did the code for them). All works fine!
-
Function sending DHCP request: dhcp_select in dhcp.c
If there is an option 54 (DHCP_OPTION_SERVER_ID) set-up in the request, the DHCP server is very reluctant in assigning IP address, sometimes 5 up to 20 minutes is needed to get approval for the request. Requests are constantly sent. -
If the option 54 is removed from the request - the stack gets IP address just after the first request!!!
Option 54 is somehow the must! Why the hell, LAN devices work normal with almost the same code?
So, I end up in code where, just in case, in every second request option 54 is excluded.
Insane. I prepare devices which suppose to work in different home locations, never know what kind of routers will be there.
Any thoughts comments are appreciated. Maybe it is a bug in router, but I’m sure any other devices use this option and it works for them!