MIMO To The Rescue?
Airgo's True MIMO appears to be the current high-bandwidth WLAN technology of choice, given the mess that its competitors have made of the whole draft 802.11n market. It's easy to see why Airgo is getting designed in, since its technology has good range vs. throughput performance without having to resort to havoc-wreaking channel bonding techniques. It also has reasonable interoperability with legacy 11b/g clients in mixed WLANs, although its throughput sharing tends to be better for downlink than uplink.
NOTE: Any positive comments regarding Airgo's MIMO technology don't apply to Airgo's Gen3 technology, which uses channel-bonding techniques that do not properly accommodate legacy clients.
So I once again made a substitution on the "Neighbor" WLAN, bringing in a Belkin F5D8230-4 Wireless Pre-N Router and F5D8010 Wireless Pre-N Notebook Network card. I set the router into AP mode (using its handy built-in "Use as AP" feature) and installed the card into the Fujitsu notebook. The drivers and firmware haven't been updated in awhile, so the 1.01.03 firmware in the router and 22.214.171.124 driver for the card were still good to go.
Figure 13 shows plenty of bandwidth to handle both the IxChariot throughput script and the test video sent between the Belkin router and client. I even did a quick walk around both levels of my home with the video streaming and had only an occasional hiccup. Note that having the AP in the Guest room (my test Location 2) moved it closer to my normally troublesome test locations 4 and 5 and gave me whole-house streaming capability.
Figure 13: Shared data and video stream - Airgo True MIMO WLAN
Having an Airgo-based WLAN (non Gen3) as a neighbor can be both good and bad news, however. If you can move off the channel that the Airgo WLAN is on, you'll never see it, since it achieves its high throughput and good range without using channel bonding. But if you have to battle it on the same channel for bandwidth, you're likely to lose since it competes fiercely as shown in Figure 14 and rendered the video unwatchable.
Figure 14: Linksys "Home" LAN video w/ Airgo "Neighbor" WLAN
Checklist For Wireless Streaming Success
I don't feel that I've really revealed any deep secrets here, as those of you who have attempted wireless streaming will probably agree. But since consumer WLAN product manufacturers continue to hype 2.4GHz-based products for wireless streaming, I guess there are still folks out there who haven't gotten the message that vendors are selling a "solution" that has little chance of working for a large percentage of its likely customers.
What I did learn from this exercise is that, contrary to what I previously thought, throughput variation doesn't matter. By "variation", I mean most of the wiggles you see in the IxChariot throughput plots that I'm so fond of. Even variation in the 10-20 Mbps range doesn't matter, as long as they are short (milliseconds). "Dropouts" - where throughput drops to near-zero for multiple seconds - are still a bad thing and will affect your viewing pleasure.
The other surprising discovery was how all the products tested automatically yielded bandwidth to the video stream in the same WLAN tests, with QoS features disabled. This could be due to the nature of UDP vs. TCP, but at any rate it's a plus for multimedia streaming.
So to sum up, here are the key take-aways:
- You must have enough available bandwidth at the location that is receiving the streamed content
Using a free tool like iperf or jperf to check your bandwidth will give you a more accurate indication than running a long stream of pings and using the speed meter built into some wireless client utilities. But if you're not comfortable with iperf or jperf (and they do take some figuring out to use), go ahead and use the ping method. It will tend to give a lower reading than the bandwidth you actually have, but it's better than nothing.
If you use your WLAN for other activities, be sure to do your testing with the other activities running, especially any downloading activity.
- You must have a clear (enough) channel
If you live in an apartment building, dorm or neighborhood with closely-spaced single-family homes or adjoining townhouses, you can safely assume that there is someone else within range with a wireless network. The best approach is to work out a channel allocation scheme with your neighbors to try to minimize interference. Trying to "out shout" your neighbors with wireless boosters, or "bad neighbor" wireless gear is not a recommended path of action since payback is a bitch and so is Karma. Check this HowTo for more suggestions for dealing with colliding WLANs.
Don't forget non Wi-Fi interference sources such as cordless phones, microwave ovens and even Bluetooth gear. These sources can be very disruptive since they tend to occupy more than one Wi-Fi channel's worth of bandwidth.
If you don't have a clear 2.4GHz (11b/g) channel, your best option is to move to 802.11a (5 GHz). Unfortunately, manufacturers are more focused on hyping their messed-up draft 11n gear than they are in providing real streaming solutions. So be prepared to have to hunt for gear and don't forget to check eBay.
Keep in mind that you aren't shooting for perfection here. All you need, besides keeping your cordless phones and microwave ovens at bay, is to have your AP's signal that is received by your streaming client to be stronger than those from neighboring WLANs. 20dB will probably do the trick, but you may be able to get by with less. Invest $100 in a Wi-Spy spectrum analyzer and you'll be able to actually do the measurement yourself.
- Know your content's bandwidth requirements
Investing $20 or so in a tool like Net Meter and doing some test streams over an Ethernet connection will let you know what you need. Video is generally encoded with a variable bit rate, so you need to know the peak bandwidth requirements, since they are the most likely to cause picture glitches.
- Re-encode if needed
If the peaks exceed the available bandwidth, you can try re-encoding the content to use less bandwidth. Many encoders have a bandwidth-limiting feature that ensures that the encoded file doesn't exceed a set value. But as good as current codecs are, you still might not like the trade-off in image quality that the lower-bandwidth encoding produces. If that's the case, you'll need to step up to gear that can produce the bandwidth you need at the location you want.