Microsoft has released version 1.0 of its experimental new VirtualWiFi Software. The free software enables Windows users to use a single wireless card to connect to multiple wireless networks simultaneously. The current build is a very primitive release, with no support for WEP or WPA encryption."
http://research.microsoft.com/netres/projects/virtualwifi/software.htm
http://research.microsoft.com/netres/projects/virtualwifi/software.htm
Q: If VirtualWiFi automatically determines the switch time of a card, why is the switch time used in VirtualWiFi.exe changeparams important?
A: Think of this value as a timeout value for switching a card to another network. Even if VirtualWiFi is unable to associate to another network, it still buffers packets sent on that network. These packets will be freed, only when the switch timeout is exceeded. In most cases, the timeout value used by default works well, and need not be changed.
Q: What is a good number for the switch time to use in VirtualWiFi.exe changeparams?
A: This number varies across different cards, and across different implementations. For a Lucent card, you could use numbers around 400 ms to switch to an ad hoc network, and 500 ms to switch to an IS network. For Compaq WLAN cards, this number was worse, around 650 ms to switch to an IS network. Overall, our suggestion is to try a safe number.
Q: How do I find out the time my card takes to switch to a network?
A: We found this value using Airopeek, which is a wireless sniffer. However, you do not have to use this expensive tool. An easier way to measure this number is using the utility we provide with our distribution of VirtualWiFi, called VirtualWiFihelper.exe. The command VirtualWiFihelper.exe -op getCardSwitchTime gives the time taken by the card to switch to a network.
Q: Why does the card seem not to connect/stay on a network?
A: You should try increasing the switch time using "VirtualWiFi changeparams -switch ". Also make sure the wireless zero config is turned off, and you are able to connect to the network. A way to check for connectivity is by following these steps. Firstly, turn off the VirtualWiFi service, using "net stop VirtualWiFiService". Then, turn on Wireless Zero Configuration, and try connecting to your network. Once you are done testing, turn off Zero Configuration, and turn on the VirtualWiFi service.
Q: Why do you ask me to stop wireless zero configuration service, and other wireless adapter utilities?
A: These utilities interact with the wireless card, and try to force connectivity to their preferred networks. This might interfere with the correct operation of VirtualWiFi.
Q: Why did my ad hoc network get a DHCP address, and not an autoconfig address?
A: In our current implementation of VirtualWiFi, all packets arriving at a wireless card are forwarded to the currently active virtual adapter. As soon as you start VirtualWiFi over an ad hoc network, the virtual adapter starts a DHCP request. In the non-VirtualWiFi scenario the card will get an autoconfig address after the DHCP request fails. If you started another network before the DHCP request timed out, it is possible for the card to receive a DHCP reply from another network and forward it to the incorrect virtual adapter. We suggest that the user wait for an ad hoc network to get a valid autoconfig address before it adds another network.
Q: Will VirtualWiFi work when I reboot, or unplug and replug my card?
A: Yes. It will automatically work after reboot. However, after an unplug and replug, you will have to manually restart the service using: "net stop VirtualWiFiService", followed by "net start VirtualWiFiservice".
Q: How does removing a network work across machine reboots?
A: On rebooting the machine, VirtualWiFi starts connecting to all networks, including the ones that were removed. You should explicitly add the networks you had removed, and remove them again to get back to a consistent state.
Q: My VirtualWiFi adapter always shows connectivity in the Network Connections window. Does it mean that my underlying card is able to successfully switch to that network?
A: No. VirtualWiFi stops MEDIA_DISCONNECT messages from going up (read paper for details). So, you will be unable to monitor the state of the network by looking at the Network Connections window. We recommend using "VirtualWiFihelper.exe -op getSSID" to check if VirtualWiFi is able to connect to a network.
Q: Is there a manual way, other than using VirtualWiFi.exe, to add a network?
A: Yes. First stop the VirtualWiFi Service by using "net stop VirtualWiFiService. Then connect your wireless card to the network you want to add, and do the following: Go to Start->Control Panel->Network Connections->Wireless Adapter, right click to go to Properties. Then high "VirtualWiFi Miniport Driver", and go to its properties. Click on "Add a Miniport", and press Continue if prompted for Driver Signing. Change the name of the newly added virtual miniport in the Network Connections window and make an entry in C:\Windows\VirtualWiFiData.txt. Then start the VirtualWiFi Service using "net start VirtualWiFiService", and your network has been added.
Q: Is there a manual way, other than using VirtualWiFi.exe, to remove a network?
A: Yes. Stop the VirtualWiFi Service. Go to Start->Control Panel->Network Connections->VirtualWiFi adapter you want to remove. Right click, and press Disable. Then, start the VirtualWiFi Service. This will remove the miniport.
