Monday, 9 June 2008

Vista & BT Home Hub: limited connectivity to internet - a solution

Problems trying to connect a Microsoft Windows Vista computer wirelessly to the Internet via a BTHomeHub router? The "Limited connectivity" or "No connectivity" message, with no ability to connect to the Net at all from the Vista computer (even though the computer seems to connect to the Home Hub), may be all too familiar to you. But there's no help for this on the BT Broadband Vista support page.

It seems lots of people using BT Total Broadband as their ISP via the BT Home Hub have had this problem. So a tip, in case it saves you some troubleshooting - it may not just be the wifi, but a combo of Vista and BT's Home Hub (more specifically, a firmware "upgrade" to the HomeHub), so that the hub won't assign the PC an IP address.

Some people seem to have sorted it by resetting the Home Hub (press and hold the grey "Wireless Association" button at the back of the HomeHub, towards the bottom of the right; for newer Home Hubs, reset to default buttons are on the side) - as BT say, you then have to reactivate BT Broadband Talk again, if you use it.

I solved the problem for a friend who recently got a new Vista Home Premium laptop, where the issue seemed to be that "In Windows Vista, the BROADCAST flag in DHCP discovery packets is not disabled. Therefore, some routers and some non-Microsoft DHCP servers cannot process the DHCP discovery packets".

I sorted it by trying the step by step instructions to edit the Vista computer's Registry set out by Microsoft in "Windows Vista cannot obtain an IP address from certain routers or from certain non-Microsoft DHCP servers", as pointed out by this page.

Now all that stuff may seem like gobbledygook to you (and indeed me), but if you want to try it too, just follow the instructions in the previous link, making sure you backup your Registry first and also know how to restore it if need be (and I disclaim all responsibility if anything goes wrong and your computer stops working, so don't say you haven't been warned! You could also use Vista's System Restore feature to manually create a system restore point immediately before you try delving into the Registry and, if all goes wrong, boot the computer into safe mode and go back into System Restore and choose your restore point, to roll things back to where they were).

You'll see from the steps on the MS page that you're supposed to navigate in your Registry to:

Then you're told to "click the (GUID) subkey that corresponds to the network adapter that is connected to the network" and add the new DWORD as instructed (on the Edit menu, point to New, and then click DWORD (32-bit) Value; in the New Value #1 box, type DhcpConnEnableBcastFlagToggle, and then press ENTER; right-click DhcpConnEnableBcastFlagToggle, and then click Modify; in the Value data box, type 1, and then click OK; close Registry Editor).

In case it helps, here are some screenshots with the key paths to navigate down outlined in red:

You'll need to scroll down quite a bit under Services to find Tcpip and the rest. Here's what it looks like after creating the new DWORD (with the new DWORD highlighted on the right - and you can copy/paste the DhcpConnEnableBcastFlagToggle for the name if you prefer, for greater ease and accuracy - exactly as it is, upper and lowercase):

Now to clear up one possible source of confusion for non-techies. There's nothing that says "{GUID}" under Interfaces. That's because "GUID" is just an indicator; what it will actually read isn't "GUID".

There are three sub "folders" (subkeys) under Interfaces, and their names are just a string of letters and numbers enclosed in curly brackets - the pic above shows what they were called on my friend's computer, but yours may be different. It'll be one of those.

So how do you know which is the right subkey? In my case the first one was pretty empty when I clicked on it, so I thought I'd try the other two first, as they had lots of stuff on the right saying "DHCP" (which I figured meant it had to be one of them, given that the issue is related to DHCP!).

I thought one of them must be the network adapter for the wi-fi connection, and the other one must be for the Ethernet network connection as the computer had an Ethernet port for connecting to a network with a cable. You need to tweak the setting for the wi-fi adapter. I wasn't sure which was which, so I added the DWORD for both of them (obviously do that yourself at your own risk!).

For me, this fix worked to solve the "limited connectivity" problem on my friend's PC. The Vista computer was then able to go on to the internet, surf Web pages etc with no issues at all, after that.

Note on Vista firewall and security

NB - also don't forget to set the computer's firewall to allow outgoing connections to the Net from your main browsers and other applications that need internet access. I also downloaded and installed the free Vista Firewall Control for my friend, as a firewall is absolutely essential now if you have a computer (especially a Windows one) and are using the Net, even if it's only for a few minutes.

As the article I linked to explains, a firewall is no good unless it watches not just incoming Net traffic, but also outgoing traffic - because you could have inadvertently installed a trojan or other malware thinking it was fun or useful free software, but behind the scenes it's actually sneakily going out from your PC to the internet, reporting all sorts of info about you or your computer to the bad guys, and maybe even enabling them to take over your computer without your suspecting a thing.

Windows XP's firewall is only one-way, blocking incoming connection attempts but not outgoing.

With a two-way firewall, whenever software on your computer tries to access the Internet the firewall should stop it, alert you as to which application is trying to do what, and ask you what to do - normally, either let it through all the time (in or out or both) if you trust it, so it won't keep asking you again each time it tries to access the net, or let it through just once, or always block it. Obviously your web browser and email programs need to access the net, but freebie software from someone you've never heard of shouldn't need to (e.g. a graphics program), unless it's to check for an update, and even so I prefer to block those and manually check for updates myself, just in case it's pretending to check for an update but in fact it's doing something else.

Now Microsoft claim their Vista firewall is two-way, but the outbound-checking part is inexplicably turned off by default, and it's not at all easy to find and configure.

So installing something like the free Vista Firewall Control, which greatly simplifies the process, is a no brainer if you care about the security of your computer and your information on it:


hullarms said...

Just Wanna Say This Reg Tweak Work A Treat Being Having A Problem With This For Months And Having Done This It Now Works Perfectly


Luke said...

thanks for this tutorial, my homehub and wireless vista laptop now works again. its strange how it was working for a few weeks then gave me this problem. i wonder if they fixed this bug with the newer hubs, would be a shame if they didn't!

Anonymous said...

Thanks a ton mate! been having issues with this for over two months now. Your solution worked like magic! Thanks again genius! HS

Anonymous said...

This didn't make different, it do anything.

Improbulus said...

Thanks for the feedback, glad it helped!

Last Anon - if it didn't work, then your problem is probably caused by something else.

Neil Walker said...

Thank you for identifying this issue in a clear way. I found something like this elsewhere, read the M'Soft article (928233) and unfortunately thought I was clever by following their advice on using RegKey DhcpConnForceBroadcastFlag instead. It seemed to work for a while, but like others found that, after a few reboots, it seems to stop working seemingly without cause. Vista help and BT help are about as much use as chocolate teapots. Thank goodness for determined people like you.

Ewelina said...

Thank you very much, I had been trying to fix this for ages. I had to reboot for the regedit to work, but after that it has been like an absolute charm. I can't believe this isn't highlighted on the BT website as even a total computer novice like me managed to effect the fix.

Simon said...

One Word! FANTASTIC! Have spent Months fighting with BT simply to get the line in and working properly - finally got that sorted and my Vista machine wouldn't connect - This fix worked a treat. It took a lot less time than trying to get the guy at the Indian call centre to try and find this on his help sheet.

Anonymous said...

Cheers matey. Some people are naturally good-looking, like me, some people are naturally genius. I reckon you're a bit of both!!

Improbulus said...

Aww shucks Anon you know how to make a gal blush. Shuffles feet.

Seriously, if my post was helpful to you, I'm delighted.

Iain said...

This worked a treat on one of our laptops but when I tried to repeat the fix on another it wouldn't let me create a new Dword value. I get an "Error creating value" message which says - cannot create value:Error writing to the registry.
Any suggestions?

Anonymous said...

Thanks. It solved my problem.
I don't know why I didn't think of it myself. I mean it's obvious that I should have added the registry key "DhcpConnEnableBcastFlagToggle". ;-)