1

I have 3 Pi Zero W on my local network, serving as audio devices with a web interface (running volumio).

Sometimes (only sometimes) I am unable to access them from my android phone (neither via host name, nor IP address), while still being able to access all other devices on the network, including a Raspberry Pi 3B that is connected via cable.

If this was not strange enough, my iPhone is able to access the websites. Something between Android and the Raspberry's is not working, as it is the only affected combination.

If I try to traceroute or ping from the Android phone, it just times out. Ten minutes later, everything is miraculously working again.

Any ideas on how to analyze this problem?

1

Such behavior can be observed with failing arp resolution if resolution only works in one direction. Such errors are difficult to find and I don't know if it is your problem but it is worth to have look at it.

Just in theory how it could show your effects: with an arp request a device (here the RasPi) will broadcast an ethernet arp packet (not an ip packet) into the local network (broadcast domain) and ask what device (MAC address) has the destination ip address. The phone responses to the RasPi with an arp packet containing its ip address so the RasPi can send the ip packet to the destination. Both devices will cache the mapping of MAC address to ip address in its arp cache for by default 5 minutes to reduce network traffic. This way the android phone knows the ip address from the RasPi at least for 5 minutes and can connect to it. After 6 minutes the phone must broadcast an arp request to get the ip address from the RasPi. If this fails the phone cannot connect to the RasPi. It only works again for 5 minutes if the RasPi connects to the phone. Now you can think any dynamic. If the RasPi connects to the phone mostly within 5 minutes the phone can mostly connect to the RasPi.

If the connection stucks then the first test is to ping the android phone from the RasPi. Then the connection from the phone to the RasPi should work immediately.

As already said it is difficult to find the reason why the arp resolution in one direction fails. It could be a configuration issue on the phone or on the network route from the phone to the RasPi. Are there switches, router, proxies, gateways, firewalls, any other device on the route? Mostly you have to use a network sniffer like tcpdump (text mode) or wireshark (graphics mode) to get an idea and capture the arp protocol.

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.