I’ve been digging into Mac OS X’s sometimes unstable WiFi connections for a while now, and have come to the conclusion that the Broadcom drivers in Mac OS X 10.6+ are either too fussy or just buggy in particular when dealing with 802.11n.
Apple’s iOS drivers seem to be different as few people see the same issues across Mac OS X and iOS. On the hardware side, the iPad 3 and iPhone 4S use a Broadcom BCM4330, while the slightly older iPhone 4 uses a BCM4750. MacBook, MacBook Pro, Air use a Broadcom BCM4331 these days. Some older ones (pre-2010 I believe) used Atheros AR5008. As you can see the hardware is pretty similar suggesting software as the discrepancy. Despite using a Darwin based OS it makes sense to have slightly different drivers. These devices have very different needs in terms of data usage patterns and power consumption. iOS devices seem to use less power than their OS X based counterparts. That makes perfect sense. The question is how does this impact connectivity and what can we do about it?
Apple has recommendations for iOS. For the most part these are universally good recommendations, however I’ve found a few things to be different:
- 802.11 a/b/g/n – If you’ve got a broad set of clients, without question seek out a simultaneous dual-band wireless router. Not dual-band, simultaneous dual-band. This will save you a lot of headache and ensure good performance. Two radio’s are better than one.
- Channel – Apple says to set it to “auto”, however I’ve found if there are several access points on other channels nearby this can be troublesome for OS X based clients on 802.11n in the 5 GHz spectrum. You’re best off setting it to the most open frequency and leaving it if you experience problems. This alone will likely resolve many (if not all) connectivity issues in my experience. 2.4 GHz seems to do better in auto channel. I’m not entirely sure why this is, however I suspect it has to do with power saving strategies employed by the driver. This seems to be even more problematic with 40 MHz channel width, which sort of makes sense given they are related.
- Set 5 GHz channel width to 20/40… maybe – Apple says to set the 5 GHz channel width to 20/40 MHz if supported because not all devices support 40 MHz, and this is most compatible. If you’ve got simultaneous dual band, you can consider setting it to 5 GHz 802.11n only with 40 MHz channel width and set the other radio set to 802.11b/g 2.4 GHz / 20 MHz serve as adequate backwards compatibility for non-40 MHz devices. I’ve run things both ways, and IMHO either will serve most needs well. Just depends what devices you are supporting.
This is pretty obvious in retrospect. The 5 GHz spectrum seems to have some funny business with channel selection and this can be solved by just being more strategic about your usage. If you’ve got an Apple device being fussy with network connections, this is the first thing to play with.