WiFi Network is fine for Macbook Pro and Win XP, but Win Vista "Limited Connectivity"

We have 3 laptops:

  • a Macbook Pro
  • a laptop with Windows XP and
  • a laptop with Windows Vista

The Mac and XP laptops are fine connecting to the WiFi network and directly with Ethernet, but the Windows Vista laptop gives a "Limited Connectivity" warning when connected to the WiFi, it works fine on Ethernet.

I've double checked everything between the XP and Vista laptops with the 'ipconfig' command, correct IP address, subnet, DNS gateway etc. But I can't ping the router, or any of the other computers on the network when on WiFi. I've even disconnected all the other devices from the WiFi so it's not an issue with overloading the router. Is there anything else that could be causing this?

The router is just an out-of-the-box Sky router (I think it's actually made by D-Link but it's Sky branded). There is no custom firewall rules, routing tables etc.)


Solution 1:

These kinds of partial connectivity problems on Wi-Fi usually come down to buggy implementations of 802.11 multicast handling, or broken implementations of 802.11 power save handling.

To see if it's an 802.11 power save handling problem, disable 802.11 power save mode in the settings for your wireless driver. This may be called something like "max performance mode" rather than "power save off".

If that doesn't solve the problem, then it's probably not a power save handling bug, but for now, continue to operate with 802.11 power save disabled, in case the bug is triggered by a combination of things.

If multicast handling is broken on your client, it might not be receiving certain broadcast packets (in 802.11, broadcast is a subset of multicast) that are fundamental to low-level network operation. For example, ARP requests are broadcasts, and failure to receive ARP requests (and thus failure to respond to them) will easily cause IPv4 connectivity failures.

Multicast handling can be tricky on 802.11 because in some security modes, a different key is used for multicasts than is used for unicasts. In the most difficult security modes, a whole different cipher and different key may be used for multicasts than is used for unicasts.

Also, in 802.11, multicasts aren't ACKed, so they have to be sent at a lowest-common-denominator rate where all clients are guaranteed to receive them reliably. If your multicasts were going out at too high of a rate for your Vista laptop to receive reliably from its location, then it might have been missin

To test the multicast handling theory, temporarily disable all wireless security on your wireless router, and decrease your multicast rate to the lowest setting. In some wireless routers, you may have to change the "supported rates" or "basic rates" to add back in any low rates that had been disabled, before you can set a lower multicast rate. If this is a 2.4GHz router, you might have to re-enable 802.11b-compatibility to be allowed to use the lowest rates. If this is a 5GHz router, you might have to re-enable 802.11a-compatibility to get the lowest rates.

After making those two changes, see if the problem goes away. You may have to reconfigure your wireless clients to they realize they need to rejoin the wireless network with no security.

If that fixes it, see if you were previously running WPA2 "mixed mode", where both the WPA2 (AES-CCMP) and WPA (TKIP) ciphers were enabled. If you don't have anything that requires TKIP, switch to pure WPA2 (AES-CCMP only) mode and see what happens. This removes the complexity of having to use the TKIP cipher for multicasts while using the AES-CCMP cipher for unicasts. If the problem comes back when in pure WPA2 mode, try going to WEP only. This removes the complexity of using a different key for multicasts than unicasts.

One last thought -- I've seen personal firewall software packages that let you set different settings for different interfaces. Make sure to disable all firewall software while doing these tests, so you can be sure that's not getting in the way.

If it turns out that your multicast rate was set too high, well that's an easy fix. If it turns out your client has buggy power save or multicast key/cipher handling, you can make sure you have the very latest driver for your wireless card or chipset, because maybe they've fixed it. Or you can replace your wireless card with a non-broken one. Or maybe you'll choose to live with the workaround of less power savings or less robust security on your wireless network.

Solution 2:

"Limited connectivity" happens when your computer detects that a network is present, but its request for an IP address went unanswered.

Some ideas as regarding a fix :

  1. See the Fixme in this Microsoft article:
    Windows Vista cannot obtain an IP address from certain routers or from certain non-Microsoft DHCP servers.
  2. Set the laptop to a fixed IP address inside the IP segment of the Sky router.
  3. Try another router. If the connection then works, then the problem is with the router. Try to find a firmware update to the Sky router, or stay with the other one.
  4. Try setting the router to disable security (no WEP, WPA or anything)
  5. Check in the router if MAC filtering was set to on
  6. Disable the Vista firewall
  7. Disable TCP Windows Scaling In Vista, by running a Command Prompt as administrator and entering
    netsh interface tcp set global autotuninglevel=disabled
  8. Try another USB Wifi dongle, as maybe the Wifi card of the laptop is broken.
  9. Right-click on the Wifi adapter, disable it, then right-click again and enable it.
  10. Right-click on the Wifi adapter, choose Properties, click Configure, in the Advanced tab change the "Speed & Duplex" to "100 Mb Full".
  11. For some laptops the solution is that once Vista is up and running, take out the power cable to the router for 10 seconds and then put it back.

These Microsoft articles may also apply :

You may experience connectivity issues or performance issues when you connect a mobile PC that is running Windows Vista or Windows 7 to a wireless access point

How to enable computer-only authentication for an 802.1X-based network in Windows Vista, in Windows Server 2008, and in Windows XP Service Pack 3