UDP Routing

Hello everyone,

Here is what I am trying to build : on a laptop, I run a web server (NodeJS) waiting for UDP requests on a specific port 5683 (it’s CoAP protocol, equivalent to HTTP on port 80). On the other side, I have the Velleman Ethernet shield stacked on an Arduino Mega, initialized with UIPEthernet library.

When I wire all these things to my ISP’s modem (a french one), all is working great :

  • Arduino gets a IP address via DHCP
  • Arduino answers to ping
  • Arduino sends UDP packets to the server (I have logs)

But when I try to replace the modem with a standard router (TP-Link TL-WR841N) or a switch (Netgear GS108T), problems appear :

  • Arduino can’t get IP via DHCP
  • Arduino can’t start UDP connections (udp.begin==false)
  • UDP server receives nothing
  • Arduino does not answer to Ping
  • With different libraires it is the same (EtherCard, Velleman example…)

I also tried a simple Webserver example on the Arduino, working with the modem and not with the router…

So here is my question : what could do (or not do) my ISP’s modem to let the whole thing work? How / By what can I replace it?

Thank you!

I suggest looking in the router if the DHCP server is enabled.

It is, my laptop has a dynamic IP…

Do you use the same cable each time?

yes, I just swapped the shields and the code (for W5100 or ENC2860J)