ethernet shield examples fail when connected via a switch

Hello,

I want to develop some stuff using the ethernet shield and in order to have a constant network configuration i connected the PC via a switch to the home network, and connected the Arduino to the switch, please refer to the attached drawing.

When running the DhcpAddressPrinter it usually stuck at
if (Ethernet.begin(mac) == 0)
Sometimes, when i disconnect the utp from the shield it may continue with the error message.

On the other hand, when connected directly to a port of the home router (in red) everything works as expected : The home router is set to returne ip 192.168.2.123 for the entered MAC byte mac = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }

and this very IP is printed be the program

The problem with this configuration is that with the red connection i can no more have the PC connected to the home network

The Linksys is configured with DHCP disabled and i am only using 3 of the 4 regular ports and not the “downlink”

Can anybody help me out?

Thanks in advance

Guy

It depends on the configuration and firmware of the switch.
Sometimes a switch is fully transparent, the DHCP server of the Home server is used, and the switch only passes on the data. So to the Home server it would be as if the computer is connected directly to the Home server.

The only thing that is added, is the configuration page. So in the Home server you would see the IP address of the configuration page of the switch.

Perhaps the switch doesn't like the default mac address. You can try another.
Or there is a timing problem. Did you try Arduino IDE 1.5.8 BETA ?

It looks like you do the right things, but better doublecheck.

Are you sure the Linksys router is completely transparant configured?

Reset to factory defaults, reboot, give it a fixed LAN IP number outside of the DHCP range of the internet router, disable DHCP, reboot again. Make sure the ethernet cable of the internet router is in one of the four LAN ports of the Linksys and your other devices also. The WAN port should not be used.