2
\$\begingroup\$

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 10.0.1.0 - 10.0.1.20. 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?

\$\endgroup\$
12
  • \$\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
    Commented Feb 2, 2014 at 10:40
  • \$\begingroup\$ How can I ask devices to send their MAC address? \$\endgroup\$
    – powtac
    Commented Feb 2, 2014 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
    Commented Feb 2, 2014 at 10:53
  • \$\begingroup\$ @PeterJ, thanks for responding, I updated the description. \$\endgroup\$
    – powtac
    Commented Feb 2, 2014 at 11:03
  • \$\begingroup\$ What type of network? MAC address is ethernet specific, are all nodes on the same ethernet segment? \$\endgroup\$ Commented Feb 2, 2014 at 11:06

1 Answer 1

2
\$\begingroup\$

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.

\$\endgroup\$
2
  • \$\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
    Commented Feb 2, 2014 at 15:51
  • \$\begingroup\$ Exactly the functionality that Fing offers, I want to "copy"! \$\endgroup\$
    – powtac
    Commented Feb 3, 2014 at 13:40

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