EUREKA (well,
almost)!
I am reposting this as I had posted it in another, but it directly relates to Miracast.
As my wife's frustration and annoyance was getting to both of us, I decided to kick her off her Surface Pro 2 computer and spend the day pursuing this. Miracast now works between her SP2 computer and our TV.
Here is an explanation of what I found. Note, I had already run
dxdiag and it reported that her Surface is Miracast compatible.
· Typical private/home wireless networks have a router which contains a DHCP server that assigns an IP address to all devices on the network that have not specifically been configured with a static IP address. The typical IP addresses are in the 192.168.xxx.xxx range. The bottom line is that all devices on the network must have 'compatible' IP addresses and the router effectively steers the appropriate network data between devices based on their respective IP addresses and to from the internet.
· If understand correctly (feel free to correct me), Miracast is essentially a specific-purpose form of direct or peer-to-peer networking and does not involve the home network router.
· For a Miracast computer to TV connection, as the router is not involved, the computer does not receive an IP address provided by the router. As a result Surface computers typically 'auto-configure' there own IP address for the direct wireless adapter, which is typically something like 169.254.56.231 with a subnet mask of 255.255.0.0. This not the same and not to be confused with the IP address for the home/private network used to communicate with other network devices and the internet.
· As the TV's IP address is not typically in the 169.254.xxx.xxx range, but rather in the 192.168.xxx.xxx range, the Surface computer and TV would not connect.
Here is what I changed to resolve the problem.
1. First I opened Settings...Network & Internet...Network and Sharing Center...Change adapter settings.
2. I then right-clicked on the Wi-Fi network adapter.
3. Under the Networking tab, I scrolled down the list to find Internet Protocol Version 4 (TCP/IPv4).
4. I right-clicked it and selected Properties and then switched to the Alternate Configuration tab.
5. Under the Alternate Configuration tab I selected Use the following IP address instead of Obtain an IP address automatically, and I entered the following IP address 192.168.137.1 and Subnet mask 255.255.255.0 (selected because those values were similar to ones that occurred automatically on my HP laptop that does connect to the TV via Miracast).
6. After making that change I rebooted my wife's SP2.
Then I tried to connect the SP2 to the TV via Miracast once again (for about the 50th time). This time it worked!
Caveat (new/updated info): As mentioned, after making the above change, it worked. However, when she tried again the next day, it did NOT work. I checked my settings and even though they had not changed, for some reason her computer was not accepting my changes and was auto-configuring its own IP address in the 169.254.xxx.xxx range once again.
A friend suggested that I expand my changes within the Alternative configuration to include a default gateway and preferred and alternate DNS servers, also to be 192.168.137.1. I tried it and the Surface was once again able to connect to the TV via Miracast. It worked very well for about an hour before I shut it down.
Then, when I went to show my wife that it was working again, it didn't work! It went back to auto-configuring its own IP address in the 169.254.xxx.xxx range - and I do not understand why.
Although my solution has proven to work only sometimes, I hope this will help others to find a solution to the problem of getting Surface computers to connect to their Miracast-compatible TVs. Perhaps someone will provide a clue as to why the Surface Pro 2 may be ignoring my settings and using its own.