MultiNet

Software (Version 1.0): Frequently Asked Questions



We divide FAQs into the following categories:
  • MultiNet Installation Questions
  • MultiNet Uninstallation Questions
  • MultiNet Usage Questions
  • MultiNet Source Code Questions

  • MultiNet Installation

    Q: I am having problems installing MultiNet. An error report comes up when I run "MultiNet install". No virtual miniport as shown in the screen snapshot comes up in the Network Connections window. However, there is an unchecked MultiNet attribute in the properties of my wireless card. How should I fix this problem?
    OR
    Q: The device name of my wireless card does not have any keywords mentioned in the prerequisites. How do I use MultiNet?
    A: Download the MultiNet source code from the MultiNet Downloads page. Open notifyob\notify.cpp, and in the lines 758-771, add for any word in your Wireless adapter, and include it in the condition. Note that this word should not be in any other network adapter. Recompile, and install MultiNet. Read the documentation for building the binaries from the MultiNet sources, and compile the software. You are all set!

    Q: I see an extra virtual adapter for my Ethernet adapter?
    A: Verify that none of the adapters in the "Network Connections" window of XP have a keyword mentioned for wireless adapters. If so, remove it as described in the previous answer.

    Q: The installation just exits without any messages, but MultiNet is not installed. Why does this happen?
    A: This could happen due to three reasons. Firstly, check to see that you have administrative privileges on your machine. Secondly, MultiNet will not be installed if your card is currently not connected to any network. Connect your card to any desired network before installing MultiNet. The third reason is as follows. We have noticed this sympton on some machines, which occurs when MultiNet is being installed for the first time on the machine. In such a case, you should do the following to overcome the problem. Go to Start->Control Panel->Network Connections->Wireless Connection, then right click to go to Properties->Install->Protocol->Have Disk and go to the directory where you have unzipped the binaries. Press "Continue" when asked about driver signing. Once installed, uninstall MultiNet by going to Properties of the Wireless Adapter, or using "MultiNet uninstall". After uninstalling MultiNet, subsequent installations can be done automatically using the "multinet.exe install" command described on the install page.

    Q: During installation I get an error message saying "couldn't create service. The service has been marked for deletion". How do I get over it?
    A: Do a "multinet uninstall". Then go the Task Manager, and kill MultiNetSvc.exe. The install after this should work.

    Q: Why does MultiNet not work over my card?
    A: MultiNet will not work over cards whose drivers don't forward packets that have a source address. This functionality is required since MultiNet virtual miniports already have a MAC address. Another reason MultiNet could fail is when the wireless card does not support packet filters NDIS_PACKET_TYPE_DIRECTED and NDIS_PACKET_TYPE_BROADCAST.

    Q: Is there a manual way of installing MultiNet, not through multinet.exe?
    A: Yes. Stop Wireless Zero Config, and then go to Start->Control Panel->Network Connections->Wireless Connection, then right click to go to Properties->Install->Protocol->Have Disk and then point to the directory where you unzipped the MultiNet Binaries. Click on "Continue" when warned about driver signing. This will install MultiNet. Rename the added virtual miniport to "MultiNet MM SSID" where MM is the mode, and SSID is the current network SSID. Then install the MultiNet service using: "MultiNetSvc.exe -install". Finally, for MultiNet to work correctly across reboots, add an entry for network name, i.e. "MultiNet MM SSID" in C:\Windows\MultiNetData.txt.


    MultiNet Uninstallation

    Q: Why am I unable to uninstall MultiNet? The uninstall command seems to hang.
    A: This will happen if the MultiNet service is not running. To start the service, either run "net start MultiNetService", OR "MultiNetSvc.exe -start". If MultiNet Service is not installed, you could install it using "MultiNetSvc.exe -install".

    Q: Is there a manual way to uninstall MultiNet?
    A: Yes. Go to Start->Control Panel->Network Connections->Wireless Connection, right click and and go to Properties. Click on MultiNet Miniport Driver, and click Uninstall. Note that the MultiNet Service should be running at this time. Once the driver is uninstalled, you should remove the service, by executing "net stop MultiNetService"", followed by "MultiNetSvc.exe -remove".

    Q: I am unable to uninstall MultiNet. Nothing seems to work. Is there a brute force method?
    A: Yes. Go to the Windows registry using Start->Run->"regedit". Note that you will be modifying the registry at your own risk. It is always better to save a copy of the registry before modifying it. From the registry, look for all entries having MultiNet, and delete them. This is better done in safe mode. Also run "MultiNetSvc.exe -remove" to remove the service.


    Using MultiNet

    Q: If MultiNet automatically determines the switch time of a card, why is the switch time used in multinet.exe changeparams important?
    A: Think of this value as a timeout value for switching a card to another network. Even if MultiNet 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 multinet.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 MultiNet, called multinethelper.exe. The command multinethelper.exe -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 "multinet 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 MultiNet service, using "net stop MultiNetService". 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 MultiNet 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 MultiNet.

    Q: Why did my ad hoc network get a DHCP address, and not an autoconfig address?
    A: In our current implementation of MultiNet, all packets arriving at a wireless card are forwarded to the currently active virtual adapter. As soon as you start MultiNet over an ad hoc network, the virtual adapter starts a DHCP request. In the non-MultiNet 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 MultiNet 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 multinetservice", followed by "net start multinetservice".

    Q: How does removing a network work across machine reboots?
    A: On rebooting the machine, MultiNet 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 MultiNet 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. MultiNet 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 "multinethelper.exe -op getSSID" to check if MultiNet is able to connect to a network.

    Q: Is there a manual way, other than using multinet.exe, to add a network?
    A: Yes. First stop the MultiNet Service by using "net stop MultiNetService. Then connect your wireless card to the network you want to add, and do the following: Go to Start->Control Pabel->Network Connections->Wireless Adapter, right click to go to Properties. Then high "MultiNet 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\MultiNetData.txt. Then start the MultiNet Service using "net start MultiNetService", and your network has been added.

    Q: Is there a manual way, other than using multinet.exe, to remove a network?
    A: Yes. Stop the MultiNet Service. Go to Start->Control Panel->Network Connections->MultiNet adapter you want to remove. Right click, and press Disable. Then, start the MultiNet Service. This will remove the miniport.

    MultiNet Source Code

    Q: Why does DDK complain about undeclared SDK_INCLUDE_PATH when building the MultiNet sources?
    A: You need to define it to the path of SDK include files. Remember to handle blank spaces correctly. So, if on my machine SDK was installed in C:\Program Files\Win-SDK, then SDK_INCLUDE_PATH would be defined as C:\Progra~1\Win-SDK\include.

    Q: How do I debug MultiNet? Have you provided any hooks in the software?
    A: The best way to debug MultiNet is to use a Windows kernel debugger, such as Windbg. The code has DBGPRINT statements, with different verbosity level of debug messages to be printed. To debug the install/uninstall/addnetwork/removenetwork commands, you could use "multinet.exe -v" instead of multinet, for more debug output.

    Q: Why is copyobjchkfiles.bat unable to copy files to the installfiles directory?
    A: Depending on your settings, your obj directories in DDK might have a different name, for example objchk_wxp_x86, or something similar. Change objchk in copyobjchkfiles.bat to the directory in your setting. Copying will also not work if there is no directory called "installfiles". You should create this directory first. Finally, files with similar names in "installfiles" should not have read-only permissions. This will also cause the copy to fail.

    Q: Why am I unable to replace md.dll after recompiling it?
    A: Uninstall MultiNet, if installed. You might have to wait for a few minutes. Close the Network connections Window and retry. You should be successful.


    Back to MultiNet Software Page
    MultiNet-L
    Subscribe to this forum for latest updates and discussion on the MultiNet software.