I'm using a single Arduino Ethernet Shield with an Wiznet W5100 chip to scan a network for all devices. (Find the project source code on Github).

All devices are in the same Ethernet segment. They are connected to a standard consumer router. They all were assigned to IP addresses in a range of - The goal is to identify devices in the same network, even if the IP has changed and to protocol when a device is online.

I was researching on this problem for weeks and I have not found anything useful on the Internet. This is the only piece of code I have found so far: http://mbed.org/users/va009039/code/w5200NetIf/file/a8df39b4f3aa/MyNetUdpSocket.cpp, line 124 W5100.readSnDHAR(_socket, mac) but it does not work.

Is it even possible to get a MAC address for a found device (IP is known then) in the same network?


closed as off-topic by Dave Tweed, Joe Hass, Olin Lathrop, Daniel Grillo, Chetan Bhargava Feb 2 '14 at 18:32

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions on the use of electronic devices are off-topic as this site is intended specifically for questions on electronics design." – Olin Lathrop, Daniel Grillo
If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ Have you thought about broadcast packets? Whether that will work does depend on the network topology a fair bit. But each device could just periodically send a packet with its MAC address and each node could build a table of MAC versus IP address. \$\endgroup\$ – PeterJ Feb 2 '14 at 10:40
  • \$\begingroup\$ How can I ask devices to send their MAC address? \$\endgroup\$ – powtac Feb 2 '14 at 10:45
  • \$\begingroup\$ Actually I might have misunderstood, I was thinking every node would be an Arduino + W5100 so your code could retrieve it from the module and broadcast it to other nodes. But that won't work if the other devices aren't things you can program yourself. \$\endgroup\$ – PeterJ Feb 2 '14 at 10:53
  • \$\begingroup\$ @PeterJ, thanks for responding, I updated the description. \$\endgroup\$ – powtac Feb 2 '14 at 11:03
  • \$\begingroup\$ What type of network? MAC address is ethernet specific, are all nodes on the same ethernet segment? \$\endgroup\$ – Wouter van Ooijen Feb 2 '14 at 11:06

Here are few pointers:

  1. SSDP
  2. UPnP
  3. Fing or equivalent tool.

Also, Lantronix has a protocol for discovering their embedded devices, you might want to look there.

  • \$\begingroup\$ This answer would be a lot more useful if you'd add some text explaining why each of these links is relevant to the question. Keep in mind that the question is specific to the W5100. \$\endgroup\$ – Dave Tweed Feb 2 '14 at 15:51
  • \$\begingroup\$ Exactly the functionality that Fing offers, I want to "copy"! \$\endgroup\$ – powtac Feb 3 '14 at 13:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.