For years now, I’ve wondered why some of my RDP connections work only some of the time. Now I know why, and it’s provokes a Homer Simpson response “Doh!” Now that I’m done laughing at myself, let me explain how I got that RDP mystery finally resolved.
I was working with my various Thunderbolt docks this weekend, and I noticed that a previously not-working RDP connection started working again. Turns out that of necessity devices with both GbE and Wi-Fi adapters have separate and distinct IP addresses for each such adapter. Therein lies the key to the mystery, as shown in the lead-in graphic.
Explaining How RDP Mystery Finally Resolved Itself
This all started when I had to move my X12Hybrid dock upstairs. When I disconnected from the dock, and its GbE connection, the RDP connection defined for X12Hybrid (also the machine name used in RDP) resumed working. Then it hit me: because the GbE connection uses a different IP address from the Wi-Fi connection, my RDP definition works only when the IP address it knows about matches the address actually in use. Again: “Doh!”
You can see this clearly in the dual windows shown in the lead-in graphic. PowerShell is in top position, and shows that nslookup stores the IP address associated with the Wi-Fi interface (192.168.1.20). But when I plug the GbE interface in, it takes a different address instead. That private IP address ends with .39, as shown in the NetBScanner window at bottom of the same graphic.
How to Adapt to Changing Connections
The primary router on my local network is an Arris model: it comes from Spectrum as part of its Internet connection and services. I’ve not figured out how to forcibly reset its address tables for DNS lookups on Windows machine names. Instead, I use NirSoft NetBScanner when an RDP connection fails and enter the correct IP address instead of machine name in its “Computer” data field. This works every time.
By observation, it looks like this data updates every 24 hours or so. If I leave the RDP connection unchanged (no switch from Wi-Fi to GbE, or vice-versa) over that interval, nslookup eventually matches the current address. But at least I now know why this is happening, and why using the IP address for the NIC in use fixes the issue.
That’s the way things go here in Windows World, where I still manage to surprise myself by relearning the obvious. Sigh.