[En-Nut-Discussion] DHCP renewal
adzheng at yahoo.com
Wed Jun 16 04:40:38 CEST 2004
I've almost same codes like yours but mine is working. The differences are:
1.Add in NutNetLoadConfig("eth0"); memcpy(confnet.cdn_mac, mac, 6); before your code;
2. I reset confnet.cdn_ip_addr = confnet.cdn_cip_addr = confnet.cdn_ip_mask = confnet.cdn_gateway = 0;
3. You cann't pass mac to NutDhcpIfConfig or it won't read EEPROM configuration. Check this out: http://www.ethernut.de/api/group__xgDHCPC.html#ga19. Use 0 instead.
4. Use long enough DHCP_TIMEOUT. 10sec is good for me.
Joe Doubek <jdoubek at control4.com> wrote:
Can anyone guide me on how I might go about renewing the DHCP address on demand. It appears the NutDhcpIfConfig
Function looks for both a valid mac and an ip address/mask of zero in EEPROM before it will start the DHCP thread.
Currently I am attempting something like this, where mac is a valid mac addr:
confnet.cdn_cip_addr = 0;
confnet.cdn_ip_mask = 0;
NutNetSaveConfig(); /* store an invalid ip addr and mask in EEPROM */
if (NutDhcpIfConfig("eth0", mac, DHCP_TIMEOUT))
printf("DHCP server not found...\n");
I do this after I have successfully received a DHCP address and I am just sitting in an idle state. When I do this the DHCP
thread never appears to attempt to obtain an address (watching ethereal I never see a DHCP discover), and eventually DHCP
times out. Any ideas?
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the En-Nut-Discussion