5

I have an Arduino data collector with a W5100 module (see bottom of picture). Simple fixed IP connection:

 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
 byte ip[] = { 192, 168, 1, 242 };
 Ethernet.begin(mac,ip);  

This works with my old routers (Asus WL500, TP-Link MR3420), but fails to connect when plugged in a gigabit switch or my new router (D-Link DWR-116). The connection LED on the new devices does not lit up or blinks slowly, showing repeated connection attempts. So the W5100 fails to make the physical connection.

I made it work by adding my 10-year old Surecom switch to the mix, but wonder what the problem could be. Is there some cable configuration that is used by the W5100 but have been removed from these new network devices? (Not sure if the cable is cross or straight, trying another cable is messy, the whole thing is built in the wall.)

enter image description here

4
  • Check the IP address. Might not be the correct sub-net. – Mikael Patel Aug 24 '16 at 10:11
  • I did that already. Both routers are set to 192.168.1.1. Also, replacing the router is not the only way to make it go wrong, it was enough to plug it to the switch instead of the (old) router. – Arthur Aug 24 '16 at 11:20
  • Check the Ethernet module power supply. – Mikael Patel Aug 24 '16 at 12:16
  • This thing has been running continuously for 4 years now. It just stops working when I try to plug it in to a modern router or switch. – Arthur Aug 24 '16 at 12:40
6

I think your problem is due to the MAC address that is being loading into the W5100. Try setting the 2 low order bits of the first byte to 0.

These bits define whether the MAC address is unicast or multicast and whether it is private or universal. Some switches appear to block ARP requests if these bits are set incorrectly.

I changed the first byte of the MAC address from x'47' to x'44' and things started working.

1
  • Thanks, great tip! Experimented a little, with strange results: my router accepts x46 but not x44, and my switch accepts x44 and refuses x46. Left it at x46, it doesn't need a Gigabit switch to send a few bytes. – Arthur Oct 28 '16 at 14:22
0

I just made a setup on my Dell PowerConnect and it starts to accept the W5100. I had to change the port speed to 10M and it starts working. The 100M and 1000M was not accepting the w5100. Before, I had a CISCO wifi 10/100M wired connection between it and w5100 and it connects fine, but this isn't the main network on my company.

0

sounds like a mac address issue. I googled for Tp-Link MAC address bytes and it worked perfectly. (it is first 4 bytes)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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