1

I've got a rather odd problem. The Raspberry Pi is connected fine to the internet i.e. I can ping google.com and browse the web without any problem. However, the problem for me is that I am unable to ping virtually all of the devices on my network. I can successfully ping 192.168.1.1 and strangely ping 192.168.1.77 which is my Apple TV (connected to a separate access point entirely?!) but am unable to ping pretty much all other devices on my network. Specifically, I want to ping 192.168.1.146 which is a NodeMCU that I want to do curl to. Even stranger is that it seems the problem is with the Pi itself; because, I connect my laptop to the same AP as the Raspberry Pi and ping ping 192.168.1.146 it works fine, just not from the Raspberry Pi trying to do the same thing.

Also, from my laptop I am able to successfully ping the Raspberry Pi but not the other way round. My laptop can also ping the NodeMCU from the same AP as the Raspberry Pi but the Pi can't. Also SSH to the Pi works fine seemingly from any AP.

Here is a simplified diagram of my network (where "PINGABLE" refers to whether the Pi can reach the device using a ping):

Diagram My router configurations:

MAIN
Gateway: 192.168.1.1
Submask: 255.255.255.0
DHCP: ACTIVATED
IP Start Range: 192.168.1.33
IP Finish Range: 192.168.1.199


SECONDARY
Default Gateway: 192.168.1.1
Submask: 255.255.255.0
DHCP: DEACTIVATED
Local IP: 192.168.1.90

Here is some info from the Pi which may be useful:

$ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.81  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a0c0:7d52:1b5:3f1a  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:c6:4a:1e  txqueuelen 1000  (Ethernet)
        RX packets 51382  bytes 11979525 (11.4 MiB)
        RX errors 0  dropped 3699  overruns 0  frame 0
        TX packets 42309  bytes 10171384 (9.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0


$ iwconfig
wlan0     IEEE 802.11  ESSID:"Home"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 34:57:60:B6:97:62   
          Bit Rate=72.2 Mb/s   Tx-Power=31 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=51/70  Signal level=-59 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:5  Invalid misc:0   Missed beacon:0

Does anyone have any idea as to what the problem might be? Is it a problem with some sort of configuration on the Pi or is it on one of the APs parts?

I don't have a lot of experiences with networks at this level (subnets, net masks etc.) so I would really appreciate it if someone could help me out as I have been stuck for a while now and am unsure as to how to fix this.

Thank you in advance for any help,

Kind regards, Tom

P.S. I am unable to move any of the devices from their physical locations permanently. Also, I can't connect the Pi to ethernet due to compatibility problems with what I have running on the Pi; it must be off Wi-Fi. Also, the reason the Pi is able to ping the Apple TV may be due to the fact that it already has established a connection (because I am running homebridge which uses the Apple TV as a hub).

closed as off-topic by Milliways, joan, Steve Robillard, Gene, Darth Vader Sep 3 '18 at 16:13

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question does not appear to be specific to the Raspberry Pi within the scope defined in the help center." – Milliways, joan, Steve Robillard, Gene, Darth Vader
If this question can be reworded to fit the rules in the help center, please edit the question.

  • the fact that the laptop isn't "pingable" is irrelevant (unless you CAN ping the laptop from something else) - a device doesn't have to respond to pings - that isn't to say you don't have an odd issue ... simply that the Pi can't ping the nodemcu, but the laptop can – Jaromanda X Aug 11 '18 at 12:15
  • @JaromandaX The problem is that the NodeMCU and computer are both pingable from all other devices just not the RaspberryPi. When I try to ping from the raspberry Pi I get From 192.168.1.81 icmp_seq=1 Destination Host Unreachable, and when I do arp I see that some devices have an HWAddress but others (including the NodeMCU) are listed as "(incomplete)" – Tom Aug 11 '18 at 12:28
  • This indicates that you don't receive ARP responses from the device. Run tcpdump on the PI so verify that the ARP requests are sent. If possible, do a packet trace on all devices where the ARP should pass and on the target device. See whether the request or the response gets lost somewhere. – RalfFriedl Aug 12 '18 at 0:15
  • Have you tried to connect the pi to the main router (192.168.1.1) and ping the devices? This is a test that the problem may be the secondary AP. – Ingo Aug 13 '18 at 12:49
1

Is it a problem with some sort of configuration on the Pi or is it on one of the APs parts?

I'm presuming the ping fails because it times out, and not because of a firewall you've set up (if it were the latter, it would fail immediately and say it was prohibited).

That being the case it kind of has to be a problem with the AP/router, excepting the fact that it may have to do with some nuance of how the pi has negotiated its DHCP lease. I say that because I have noticed it is possible to have a node on a WLAN who's traffic is routed correctly in and out of the subnet, but not within the subnet itself.

Keep in mind that all local traffic does have to go through the router -- one reason for this is how WLAN encryption works. You can receive all the traffic (since it is in the air), but generally speaking you can't decode it (you can if you first intercept the initial connection of the device whose traffic you want to decode).

Anyway, it is not as if the Pi is not sending the ping, or sending it to some made up address. You can verify this for yourself by setting up wireshark on the Pi and including a filter like this

ip.addr==192.168.1.81 && icmp

You'll see the pings going out but nothing coming back in.

If you don't trust that, you could see the same thing from your laptop if you get wireshark up, then reconnect the Pi on the same side of the AP (for reasons explained above WRT intercepting traffic).

Unfortunately, this means there's not an easy fix on the Pi side -- you could ask on our bigger sibling site Super User why a node on a WLAN would be able to access the internet but not other nodes. Probably you want to be armed with the wireshark test first, so you can report that the connection attempts are definitely being sent.

In my experience it was an unusual event and always corrected by reconnecting, which is why I think it has something to do with the DHCP lease -- but I never followed this up.

  • Thank you for your response! The thing I am still confused about is the fact that my computer, connected to the same AP as the Pi, is able to ping the NodeMCU without a problem. Also, I have now setup the NodeMCU to offer a name (esp8266.local) and when I ping it, I get PING esp8266.local (192.168.1.146) meaning surely it knows the IP of the NodeMCU because it sees it, I don't get any errors like Name or service not known. This is why I think it's problem with the Pi as other devices on the same AP can ping the NodeMCU. Is there some sort of ip route command I can run which might fix it? – Tom Aug 11 '18 at 14:10
  • There's nothing wrong with the route shown in your question. A point I was trying to make is, what is it besides the router being at fault that you think is going on? The only possibilities are that the Pi is either not sending the ping, or ignoring the reply -- both of which are very unlikely, and easy to verify one way or the other. But it does mean you have to make the effort to observe the traffic. If you can't do that, you are stuck pointing your finger at whatever you want, which is not an easy route to a solution. – goldilocks Aug 11 '18 at 14:55
  • Thanks once again for all your help; I'm glad to say that I've now fixed the problem that was preventing me from plugging my Pi into ethernet which means that now it has direct LAN connection it makes the pings without a problem. – Tom Aug 11 '18 at 16:24

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