Remote Debugging a Windows 8 RT app on Surface with BT Infinity & HomeHub 3.0

I ran across an interesting problem today, and I thought I’d blog about it as it may save you some time if you encounter a similar issue in the future.

Scenario: you’ve deployed Visual Studio 2012 Update 1 Remote Debugging Tools to your Surface RT device, and running Visual Studio 2012 Update 1 on your desktop PC (x64, in my case). When you attempt to remote debug on Surface, Visual Studio 2012 reports that it cannot connect to MSVSMON.exe on the remote device.

Background: for testing purposes, I disabled the firewalls on both the Surface and the desktop PC, and I tried configuring MSVSMON.exe to work with and without authentication on port 4016. Visual Studio 2012 Update 1 could never discover the Surface, either, unless I ran MSVSMON.exe as a service on the Surface. As a service, my developer machine could discover the Surface but even then, still couldn’t connect.

For reference, the developer machine was connected via ethernet, and the Surface (obviously) via WiFi to the same router.

Ping from the desktop to Surface failed, but it did resolve the IP address. Ping from the Surface back to the desktop always worked, returning an IPv4 address.

After trying many things for several hours, I tried changing my router because I believed what I was seeing was symptomatic of a networking issue. This immediately cured the problem.

It would seem, at least in my case, that my BT HomeHub 3.0 prevented establishing a connection to MSVSMON.exe between LAN and WiFi. I don’t know why – I can only assume perhaps there is a firmware issue on the HomeHub 3.0.

I can’t verify it with another HomeHub as I don’t have access to a replacement router, however swapping it out for a brand new Netgear DGND3700 did the trick nicely. If you have a HomeHub 3.0 and are on BT Infinity, please let me know if you can reproduce this issue.