While I was writing my headless tutorial, I ran into this peculiar problem where I could use raspberrypi.local to SSH into the RPi while connected through Ethernet but not while using WiFi.
Now this was a fairly new problem, since before this particular instance, I could always use the .local address to SSH into the RPi regardless of the network used. So I thought this has to be a problem due to a recent change.
The first possible cause was probably because I was using a new version of Raspbian (Buster). But reinstalling the previous version (Stretch) still garnered the same outcome.
Then I wondered if it was a Windows issue. But when I tried SSHing using a different Windows machine (Windows 7) I was able to.
Then I thought maybe it could be a Windows 10 issue (that’s my daily driver) since I had recently updated Windows, and probably something broke in the process.
It was at this point that I recalled reading that to SSH into a .local address while on Windows you needed to have iTunes installed so you could also have the Bonjour installed since the Bonjour service was what enabled the discovery of .local addresses on a network.
So then, could it be a problem with Bonjour?
Checking my installed programs Bonjour was installed. Then checking my running services, Bonjour was running; so what’s the next course of action? Uninstall and reinstall (I guess this is a version of the unplug replug solution).
Did it work?
Hell yeah it did!
After reinstalling Bonjour I was finally able to SSH into the RPi while using either an Ethernet or WiFi connection.
So if you run into this problem, know that the possible culprit is Bonjour. Also if you want to know how to install/reinstall Bonjour as a standalone app without having it packaged with iTunes, check out this post.