Ethernet connection

I use uip in my MCU project. However, I need to save power as the device uses battery. So I set the ethernet chip sleeping and then wake up for every one minute.

After waking up, it is connected to the remote computer and then several bytes are transmitted. However, several seconds delay for the remote side hub/computer is required to detect the insertion of lan device.

In uip, could I know instantly when the remote side hub/computer is ready to be connected after the device is waking up?

Besides, could I know this by reading the ARP state?

Thanks!

Reply to
eeh
Loading thread data ...

I won't comment on the uIP stack specifically, but in general one does not know the state of the connected Ethernet port beyond the link status (which the driver can detect).

The ARP table could be a way to tell if you can reach the defaut gateway or the local neighbor, as long as the ARP isn't cached across sleep cycles. Maybe you can force an ARP flush right after awakening, then monitor the table. Although, if the host is local, this won't tell you any more than a missing ACK - you'll need to send traffic to cause ARP to trigger, and that traffic could just as well be your data.

FYI, different Ethernet switches will behave differently regarding Spanning Tree. For example, by default, Cisco switches will put a newly activated port into "blocking" mode for up to 45 seconds until it can determine the new port does not create a loop on the network. During this 45 seconds, you will have a link to the switch, but cannot talk to any devices.

To plan for this scenario, you might want to ping the remote device, or be very tolerant of retries and use some sort of acknowledged traffic (TCP, or UDP with your own ACK scheme). You might also find that waking up every 60 seconds is too frequent due to this issue. Or, that there may be a way to drop the Ethernet controller into a sleeping mode without dropping the link signal (but this will draw power).

Some things to consider.

HTH, Richard

Reply to
Richard H.

As sidenote, there is now power over ethernet standardized. Have a look at the chips of various manufacturers such as Linear Technology.

Depending on the technology, you could also implemnt your own. I've seen systems using coax (RG58 or RG214) with several hundred volts of DC, supplying remote equipment.

Rene

--
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net
Reply to
Rene Tschaggelar

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.