This is an odd problem which is complicated in explanation but ought to be simple to fix; except I can’t!
Our network is straight forward except that it has been put together over a long period so all the components are separate.
- Cable Modem
- Router (Linux Router Project now called LEAF) running a firewall, DHCP and DNScache
- Switch (Netgear GS608) replaced an old hub
- Wireless Access Point (Netgear WG602v3) replaced a dead Belkin
I have known for sometime that there was something up with the wireless as, although our laptop worked fine, no one else could ever connect. Our machine was using an early 802.11b PCMCIA card (Belkin F5D6020) which came with its own custom drivers, not using the XP stuff at all. We set this up with WEP 128 bit encryption and stealth SSID but no MAC filtering and everything was fine. It connected first time, every time though reception was a bit poor two floors down. When I changed the AP because the old one stopped transmitting it was still fine (and the reception was better).
Everyone else who tried to connect with more modern stuff seemed to connect ok but they would never get an I/P address from DHCP. Fixing the I/P address to one outside the DHCP range achieved a connection but still nothing went through. I can’t remember it it ever worked with the Belkin AP.
We have just replaced the laptop so had to fix it so I have been through all the configuration with a fine toothed comb and upgraded all the firmware to the latest version. What I really needed was a sniffer on the Ethernet but couldn’t figure out how to do it. I first suspected the obvious, that we had MAC filtering on without realising it but no. Then I thought about how switches work and convinced myself that you couldn’t put an AP on a switch (rubbish of course). Then I discovered.
- it never worked with WEP.
- it worked just fine without any encryption, though I didn’t test it for long as this makes me nervous.
- with WPA it works but sometimes you have to reconnect it a few times to persuade it.
It rarely works right the first time, sometimes you don’t get an I/P address, sometimes you do but no communication, sometimes just a few packets get through. Disconnecting and reconnecting once, or sometimes twice, fixes it. Once you get a decent amount of traffic through it doesn’t give any problems and we do now have higher speed and better security. I have switched off the stealth SSID because it seems a bit better that way and makes it much easier to reconnect.
Now we will see if we can live with it like that. If not I may scrap the lot, replace it with an integrated Wireless Router Switch and cut down the clutter, but it irritates me that I can’t solve it.
A partial clue which I have picked up is that using WEP, manufacturers convert the encryption phrase to hex using different algorithms. There are at least two known and would account for why we could never get a connection that way. The most common is a simple ascii to hex conversion but some use a more complex algorithm based on an MD5 hash; there may be others.
I am pretty sure Belkin and Netgear both use use the MD5 algorithm otherwise I would not have got our old adapter working, but the built in Windows XP algorithm may be different
If we have to go back to using WEP I will try typing in the hex codes at both ends, but at the moment we are managing ok.
[Edit: Here is a perl version of the same algorithm.]
The problem has gone away. We switched off the AP while we were on holiday (a week) and when we came back and switched it on again, the connection works fully first time. The only thing I can think is that it requires a full hard reset rather than just the soft reboots when changing the configuration, though why it should give those symptoms I have no idea.