Arduino ethernet shield connected to laptop. It works, but...

Hi everyone,

I finally managed after a lot of pain to properly connect arduino and his ethernet shield to my laptop. My laptop is connected to wifi, while the router is wired to my other pc in another room.

I managed, with ICS (Internet Connection Sharing) to connect Arduino to the laptop and now i can host stuff on the specified id.

But if i try to access to that ip from another pc in the house, nothing happens, because the communication apparently is just between my laptop and my arduino.

How can i make the IP of my arduino visible to anyone connected to my home's router?

You must route that laptop ICS network to your laptop's wifi ip in your router, and insure the firewall on the laptop allows that connection.

My firewall is nicely disabled^^ but how can i route the ip?

That depends on the router. I use Routerboard/Mikrotik routers and I am very familiar with routing in those. It is my job.

What make/model router do you have? Maybe I can take a look at the manual and give you some help.

I have a netgear DGN2200v3

I think this is the right screen to do it, but i’m not entirely sure of all the fields

Here is your manual online: http://www.downloads.netgear.com/files/GDC/DGN2200V3/DGN2200v3_UM_07Oct2013.pdf

Page 87 has the instructions to route the ICS subnet to your laptop. Advanced > Advanced Setup > Static Routes. The ip is the ip of the laptop's ICS network. The subnet should be 255.255.255.0. The gateway should be the IP of the laptop's wifi ip address.

mmm it doesn't appear to be working...

my "data" are:

router ip/gateway = 192.168.0.1 laptop ip = 192.168.0.5 ics = 192.168.1.1 arduino server ip = 192.168.1.2

i tried to make a route with those data but it doesn't appear to be working

Then in the static route section of your router: the IP should be 192.168.1.1 the subnet should be 255.255.255.0 the gateway should be 192.168.0.5

nothing...i created the route, but if i access 192.168.1.2 on the laptop everything is ok, on the other pc nothing

Then you probably have a firewall problem. I recommend using traceroute to see where the connection attempt is failing. On Windows command prompt: tracert 192.168.1.2

If tracert is not available, you may need to install the networking stuff on your Windows box.

I disabled both the firewalls on the two PCs, and run tracert on both of them

On laptop: 192.168.1.2 Trace Complete
On the other pc: 192.168.1.2 → 192.168.0.5 → loop of timed out messages

If the tracert is stopping at 192.168.0.5, you have a firewall problem. Disabling the firewall on Windows usually stops any forwarding. Leave the firewall running. Instead, access the firewall setup and allow access to the 192.168.1.0/255.255.255.0 network.

edit: Going to the beach to ride a few waves. I'll be back in a couple hours. ;)

On my laptop, i added some ip ranges to the ecception (i don’t know if i made it right, so i attached a screen).
Should i make it even on the other pc?

edit: ahahah ok, i’m not in a hurry^^

Have you tried making the subnet 255.255.0.0?

I tried now, nothing changed .-.

zoomkat: Have you tried making the subnet 255.255.0.0?

That won't work. That would put both laptop interfaces in the same subnet.

Try a traceroute to the ip assigned to the laptop. tracert 192.168.1.1

it return 192.168.0.1 and then it stucks in the same endless waiting loop

Oh and it adds:

Detection routing to 192.168.1.1 over a maximum of 30 points

(i translated from italian, i don't know if in english the message is the same)

About the firewalls, i dont know exactly what to change... first thing first: i need to modify the laptop firewall, or the other pc's one?

I think i added all the correct exception to the firewall but nothing, are you sure the problem is that?