Problem
I have a Brother MFC-2700DW on my LAN I'm trying to access from a variety of devices. I've assigned a static hostname (ohbrother) and IP (192.168.2.135) for it in my OpenWRT router.
What's bizarre is that some devices are able to access it without issue, and others can't access it at all.
For example my Windows desktop connected over wifi can print to it, access its web ui, and ping it:
C:\Users\hulettbh>ping ohbrother
Pinging ohbrother.lan [192.168.2.135] with 32 bytes of data:
Reply from 192.168.2.135: bytes=32 time=2ms TTL=255
Reply from 192.168.2.135: bytes=32 time=6ms TTL=255
Reply from 192.168.2.135: bytes=32 time=5ms TTL=255
Reply from 192.168.2.135: bytes=32 time=3ms TTL=255
Ping statistics for 192.168.2.135:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 6ms, Average = 4ms
I'm also able to ping ohbrother from my archlinux server on a wired connection.
Every other device I've tried is not able to access the printer. My android phone, my partner's chromebook, and my archlinux laptop (all on wireless connections) cannot access the web ui. Pinging ohbrother from my arch laptop (gemini) yields "Destination Host Unreachable":
❯ ping ohbrother.lan
PING ohbrother.lan (192.168.2.135) 56(84) bytes of data.
From gemini (192.168.2.211) icmp_seq=1 Destination Host Unreachable
From gemini (192.168.2.211) icmp_seq=2 Destination Host Unreachable
Investigation so far
I've done some research to the best of my ability and found that "Destination Host Unreachable" indicates the device has no ARP entry for the target and cannot find one (source). I ran a tcpdump on my router to look at network traffic while my laptop is trying to ping the server:
root@OpenWrt:~# tcpdump host 192.168.2.135
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-lan, link-type EN10MB (Ethernet), capture size 262144 bytes
09:06:59.857646 ARP, Request who-has printer tell gemini.lan, length 28
09:07:00.873536 ARP, Request who-has printer tell gemini.lan, length 28
09:07:01.886904 ARP, Request who-has printer tell gemini.lan, length 28
09:07:02.903066 ARP, Request who-has printer tell gemini.lan, length 28
09:07:03.916218 ARP, Request who-has printer tell gemini.lan, length 28
09:07:04.927342 ARP, Request who-has printer tell gemini.lan, length 28
As you can see, the laptop is making ARP requests, but no one is answering them.
I repeated this experiment on my Windows desktop (first deleting the ARP table entry for ohbrother), and I can see an is-at
response to its who-has
request.
I'm not sure how to debug this any further. Does anyone have an idea what could cause this?
Update: The problem is with powerline networking
The printer is connected to the network over a powerline networking kit (two paired Extollo LANPlug 2000s). I didn't suspect this initially, but just now decided to try to take that out of the system.
When I connect the printer to the router over a direct wired connection (no powerline networking in between) the issue goes away! This is not a tenable long-term solution so I'll need to see if I can isolate the issue with the LANPlug. It looks like it has a configuration UI I can poke at.