Windows 7 Tip of the Week
Use Wireless Hosted Networking to Share An Internet Connection Wirelessly
Tip date: August 29, 2010
When Microsoft began working on Windows 7, it also embarked on a new internal philosophy that was starkly different from the way things were done before: Instead of talking about the next version of Windows early and often, as had been done with Windows Vista to disastrous effect, Microsoft would instead remain silent until it knew it could deliver whatever features it promised. For this and other reasons, Windows 7 came with few surprises: There weren't any last second feature additions and, on the flipside, there weren't any promised features that had to be later dropped.
For Windows watchers like myself, the Windows 7 development process was thus sort of boring. There weren't any major surprises, and Microsoft's unbelievable declarations to the contrary, the company couldn't have cared less what anyone thought about the feature-set: All it wanted was feedback on bugs. But the results speak for themselves: Windows 7 is the highest-quality version of Windows ever created, and one of the most popular with users.
And Microsoft's best efforts notwithstanding, we still found out about some features that never made the cut--like Guest Mode--and some other features, like RSS-based dynamic themes, that are in there, sure, but not really well documented or supported by any obvious user interface. And among this latter category of features is the subject of this week's Windows 7 Tip of the Week. It's called wireless hosted networks (WHN), and it's what Internet Connection Sharing could and should have been all along.
Note: WHN does not work with Windows 7 Starter edition.
Inside Wireless Hosted Networks
To understand WHN, you must first understand Internet Connection Sharing, a feature that dates back over several Windows versions and has been improved in ways both big and small during that time period. ICS was originally used with dial-up networking in the late 1990s, but it really came of age when hotels, airports, and other public spaces started selling (and then giving away) Ethernet- and then wireless-based Internet connectivity. With ICS, obviously, you can connect to the Internet with one network connection (Ethernet, Wi-Fi, 3G broadband, whatever) and then share that connection out over one of the other connections.
ICS works well for what it is, especially in more recent Windows versions where the UI is actually discoverable and understandable. But it doesn't solve one common issue that's come up as Wi-Fi has become more ubiquitous: All too often, the connection we receive is over Wi-Fi, but ICS doesn't allow us to share that connection, wirelessly, over the same Wi-Fi connection. We'd have to have two Wi-Fi adapters to make that work.
WHN overcomes this problem by utilizing the Virtual Wi-Fi functionality in modern Windows versions. Under this scheme, a single Wi-Fi adapter can be made to look and work like multiple adapters. Using WHN, then, it's possible to connect to a Wi-Fi network, and share it with others, using only a single Wi-Fi adapter. (Virtual Wi-Fi offers other features unrelated to this discussion as well.) To do so, WHN combines Virtual Wi-Fi functionality with ICS, which creates a software-based access point complete with a mini DHCP server for handing out IP addresses to others.
The problem with WHN, however, is that it doesn't appear to work properly, or in some cases at all, with different Wi-Fi adapters. And while this is just conjecture on my part, my guess is that Microsoft didn't finalize this feature in Windows 7 with a true graphical user interface for that reason: You can't really add a feature like this to Windows if it's not going to work for everyone.
But since Windows 7 does include the low-level functionality needed to implement WHN, you can of course take advantage of it, assuming your Wi-Fi adapter is compatible. And there are two major ways in which you can do so. You can configure it manually, which I'll discuss briefly here for completeness sake. Or you can simply use a pre-built GUI for doing so. The best is called Connectify, and I'll discuss that as well.
Manually implementing WHN
To manually implement WHN on your Wi-Fi-equipped Windows 7-based PC, you need to first enable ICS on its Wi-Fi adapter. To do so, open Network and Sharing Center (Start Menu Search, network and) and then click the link, Change adapter settings in the tasks pane on the left. In the Network Connections view that appears, right-click on your Wi-Fi adapter and choose Properties. Then, navigate to the Sharing pane and check the option titled Allow other network users to connect through this computer's Internet connection. If it's checked, you might also uncheck the option titled Allow other network users to disable the shared Internet connection.
When you click OK, the window will close and a new network connection, named Wireless Network Connection 2 (or similar), will be created in Network Connections. Right-click this connectoid and choose Enable.
Now it's time to turn to the command prompt. You'll need administrative privileges, so open the Start Menu, type cmd (but don't tap Enter), right-click the cmd entry in the search results list, and choose Run as Administrator. Then, in the command prompt that appears, type the following command:
netsh wlan set hostednetwork mode=allow ssid=thurrott key=abcd1234
Naturally, you'll want to replace the SSID and key with values that appropriate for the network you wish to create. Note that the key must be at least 8 characters long.
Now, you must start the new network with the following command:
netsh wlan start hostednetwork
To test that you've properly create a functioning wireless hosted network, use another PC (or a Wi-Fi-based device like an iPhone) to look for, and connect to, the new network.
Some other relevant command lines of interest include...
Stop the wireless hosted network:
netsh wlan stop hostednetwork
View information about the wireless hosted network:
netsh wlan show hostednetwork
Automate the process with Connectify
Playing with the command line is fun and all, but most people just want to get on with life, and fortunately there's a handy and free utility called Connectify that automates this whole process using a nifty little GUI. Looking over the feature set of Connectify, you'll discover that it matches exactly to that of wireless hosted networking, but what you get with this utility, of course, is ease of use. I use Connectify on the road and recommend that you check it out. The folks behind Connectify also maintain a list of compatible and incomptable Wi-Fi devices, which will help you understand whether this utility (or WHN) will work on your PC.