[En-Nut-Discussion] Still confusion about IP setup

Christian.Schilmoeller at camco.de Christian.Schilmoeller at camco.de
Tue Dec 6 11:46:26 CET 2005


Hello Ethernut community,

due to the excellent examples and documentation of Nut/OS, my 
self-developed application is running since a while.

But there are some issues I do not understand quite clearly, mostly about 
the IP address the Ethernut board uses and the possibilities to setup that 
address, with or without DHCP server, with or without valid 
preconfiguration in EEPROM.

1. What's the exact purpose of the entry cdn_cip_addr in the CONFET 
structure? In my application this value is set to 0.0.0.0. I use DHCP 
normally, but even without it a stored IP address is loaded from the 
EEPROM (from cdn_ip_addr in that case). I tried to write a value into 
cdn_cip_addr, and this seems to override everything (no more DHCP requests 
then). By the way, which IP addresses are regarded as invald? Is it always 
0.0.0.0 or also 255.255.255.255, which is a value that might be read from 
an entirely empty EEPROM? Maybe the latter case could lead to a conflict 
with IP broadcast addresses?

2. If an ethernut application starts with an empty EEPROM, the ethernut 
manual describes a method of manually setting the IP address with an ARP - 
PING/ICMP sequence. I tried to use that method - but without success. Is 
this method still existing or is it discontinued in the newer versions of 
Nut/OS?
Provided it exists, I'd like to know the following:
a) How is it implemented, is it working continuously in the ARP or ICMP 
parts of the network stack, or is it used only if a special function (e.g. 
NutDhcpIfConfig() or NutIFConfig()) is called?
b) Which settings does this method influence? Is it cdn_cip_addr and/or 
cdn_ip_add from the CONFNET structure?

I've already started to look into the sources of Nut/OS, but I didn't yet 
find much there...
Any comments or hints that might help are welcome!

Thanks in advance,

Christian


More information about the En-Nut-Discussion mailing list