Saturday, June 11, 2011

Question:I have full bars on my wifi signal, why doesn't it still work? I was at a meeting with a mix of PCs and Macs but only the Macs work.

Simple Answer: It's complicated. Many different pieces of equipment, software and environmental conditions work together for WIFI to work. If any one of these are done poorly or get screwed up than you can get very erratic and inconsistent problems that become difficult to track down.

More sophisticated answer (while trying hard to keep it non-technical).

There is a of the common misconceptions on those signal "bars" on most computers wifi monitors. Most of them only list the raw strength of the signal, without taking the noise of the environment into consideration. Most cell phone bars on the hand take this into consideration and do calculations to come up with more accurate numbers (although certainly not perfect either).

One way to explain it is imagine that you are at a bar, with a band playing loudly. You try to talk to your friend who is next to you and they have to talk louder (sometimes even shout) in order for you to hear what they are saying. You can physically "hear" what the person is saying but because there is so much noise in the background (band, other people,etc) that you can not understand any of it. The wifi bars are based on the first measurement, not the second. It is also common where if the noise is loud enough, the sound will bounce off the walls and come back at you as an echo and wifi can have similar problems as well.

One tactic is where you start talking louder to talk with your friend, but then the people at the next table start talking louder to compensate for you, so you then talk even louder,etc. Wifi has adaptation techniques like this, which work adequately in simple situations but can break down in complex one's where everybody can end up shouting and nobody can hear anybody else. One option is to walk down the hall to where it is quieter and then have your conversation there. The same tactic also works with WIFI but it is not as easy/intuitive to do compared to talking in person as it is difficult to get to that information.

It is very possible that the office environment you were in had many sources of interference which could have made it very difficult for the computers to connect. Bluetooth, microwave ovens, wireless security cameras, certain Florissant lights and many more devices operate in the 2.4ghz band which can significantly increase the RF background noise.

These patterns also change over time increasing the complexity of the issue, so for example you had your first meeting during lunchtime where somebody was warming up their leftovers in the unintentionally microwave knocking everybody off but the second meeting was in the afternoon when the microwave wasn't in use and then everything worked fine.

Now back to your question - Why did the mac's work but no the PCs? There is many factors involved and it only takes for one piece to break for the whole system to not work. Certainly there is many software and implementation bugs that exist in the network protocol side of things (DNS/DHCP/Buggy NAT functionality) which can be another article by itself. It would be very difficult to know for sure what actually caused the problems, especially after the fact. I would also like to add the possibility of these RF environmental factors as well.

In my experience, Mac's tend to have excellent wifi implementations (especially non-mental one's). I have worked on many Windows PCs and the quality of the implementations can vary wildly, with many of the cheeper models having very poor performance and can result in erratic behavior. There are excellent wifi implementation in some PC models (certain DELL and most Lenovo models, off the top of my head) but they are not universally applicable.

I have an ASUS netbook that will function perfectly while in the same room as my AP, but once I move into my bedroom there is 100% packet loss even though it still claims to be associated with the AP and still showing full wifi bars. If I use my macbook, it will continue to work for the most part but will regularly get 25% or so packet loss and randomly disconnect occasionally (In Windows xp, the behavior is identical). Both show full bars, but because of the RF noise of the environment (apartment) and material of the walls the signals get distorted significantly. I have a friend who has a 17" HP laptop and gets maybe 45% packet loss in that room. It still works technically, but runs so slowly at that point it isn't really worth the trouble.

If the RF background noise was loud enough, * theoretically* it could prevent proper connections across the board. From my understanding, the process of associating (or initially connecting) to an access point is done in a special mode that runs at a significantly slower speed and therefore more resilient to interference. Once the stations have synchronized, then they transition to the normal full speed mode. If the signal is marginal in practice (based on RF noise not signal strength) than having a quality implementation could be /just enough/ to make the difference.

Believe it or not, placement in the room could also make a difference. In my room, if I move my macbook 2-3 inches in one direction it goes straight to 100% packet loss while still claiming to be on a strong signal. If I move it back, things return to normal. 2.4ghz is small enough that the signals regularly bounce off walls and other flat objects, sometimes causing those echo's to cancel out the original signal.

As you can see, it is indeed complicated. Sometimes there is things you can do about it and other times all you can do is switch to physical wires. Even under ideal conditions wireless technologies can never ever match the reliability and consistency of wired connections because it is the nature of the beast. However, you can try really hard and get it to "good enough" that you don't have to worry about it all the time and still be able to get your stuff done.

Definitions: (For those who need a little help understanding the jargon)

WIFI = WIrelessFIdelity, which is shorthand for the alphabet soup that is 802.11a/802.11b/802.11g/802.11n, which is a series of technical standards so that everybody can use the same "language" and work together. It does work pretty well for the most part, but that is because it assumes everyone will follow the rules (which is true for the most part, but not always).

RF=Radio Frequency

2.4ghz (i.e. 2.4GigaHertz or 2400Mhz) is the frequency that wifi normally runs at, along with many other devices. Like your car radio, each channel has it's own frequency. When they say "94.5 the rock", that number 94.5 is in reference to 94.5Mhz or MegaHertz. Depending on the frequency, the signal will behave in different ways physically, which depending on your particular situation can be an advantage or disadvantage. Simular to how AM stations seem to go further at night but are almost always have static. There is also another WIF frequency in the 5ghz band that has a lot more leg room to allow networks to operate without having to fight with each other, but it requires new/different equipment to be compatible.

AP =Access Point. It is a radio transmitter that is connected to your physical network and allows you to talk to it wirelessly. For most people, this is equivalent to your "router" at home but not necessarily with any of the smarts attached.

DNS = Domain Name Service. It is how your computer translates into numbers that allows the computer to actually connect to the server on the other end by retrieving an IP Address.

IP Address = A series of numbers that is assigned to each computer on the internet and is something like a "phone number" you use to "call" the computer on the other side.

DHCP = Dynamic Host Configuration Protocol. When your computer first connects to a network, it probably doesn't know who to talk to in order to get online. So, it first shouts out "How do I get online?" and a server responds by giving you information how to do so (namely an ip address, gateway and dns server). It has a little table where it keeps track of who has which numbers to prevent problems.

Packet = The internet operates by breaking down everything into little pieces or packets, that are then sent out across the internet. Each one gets a number so that they are tracked and get put back together in order once they get there.
Packet Loss = I am sure you have had a time where you had a phone call that was really fuzzy/staticy and you had a really hard time understanding the other person and had to keep asking "can you say that again?". Simular things can happen with computers. This happens all the time and systems automatically compensate by asking the computer on the other end to send it again. A small amount (1-2%) is "normal" and expected, but each time that happens extra time is wasted asking for it again and piecing things back together. After a point, you spend more time dealing with mistakes than you do sending new messages and things then get really slow. Most often this is the result of noise on the line or the radio. This all happens automatically, so it is easy to get frustrated when we don't know that this is happening.