I saw a network once that used bonding (some people called it "port trunking") to combine two network cards into a single connection to get twice the bandwidth. I have a slow Wifi network with not so great reception. I actually have two spare WiFi cards and want to try to bond them so I can get a faster intranet (not internet). Has anyone successfully bonded two WiFi cards and had pleasant results? Is there an easier way to get better bandwidth with two cards?

Note: My router and my remote machine are both running Linux.


Solution 1:

I have not tried this, but would be quite interested to see what the results are. Bonding on its own, I would think would have originated with ethernet. It would work well in the case of using an ethernet card with a WiFi card, or using 2 ethernet cards.

But bonding between 2 different WiFi cards can be difficult. You would need to make sure that they are on different channels and the signals don't interfere with each other. Even if they are on different channels, there is no guarantee that there would be no physical interference (since physically they are so close on the node). You are optimizing for intranet though -- which would mean that you have a single router (with a single Wifi card). So it can only operate on a single channel.

A better way to solve this is to root cause the poor reception in the WiFi network itself. Are your nodes too far from the router? Is there very high EM interference around (e.g. microwave ovens)? What WiFi card are you using? (would switching to a better WiFi card help? would switching to a better router help?)

All that said, using 2 WiFi cards could work, but more in the scenario where they are on different frequencies and connecting to different routers to boost internet speed. But that too would be experimenting.

Solution 2:

"Doubling the speed" implies that multiple connections over a single channel share bandwidth and not bandwidth time. In fact, the later and not the former are true and each connection gets a turn using the channel's total bandwidth.

As a result though the 2 connections/cards will operate over a single channel the time sharing of the bandwidth of that single channel may not equate to "double the speed".

The question then becomes: is there any speed increase or rather data throughput increase at all using a bonded interface over a single wifi channel?

The answer to that is it depends on how the data throughput is handled at the software level and here especially using a bonded interface and notably concerning signal loss packet drops (data integrity assurance) handling and bandwidth time sharing/switching. (Also if there is something in the TCP/IP spec that for some reason narrows a channel's total bandwidth for each connection yet can widen it, perhaps by using a special mode, for some specific reason (which I doubt)).

Connectify (Windows), a multiple hardware interface merging application, does claim to increase data transfer speeds using, amongst other things, two wifi cards on the same machine over the same channel. How much faster, I don't know. The point is that unless they're lying, there is a leniency granted somewhere when using two wifi cards over a single channel.

Solution 3:

Connect both adapters to your network and then create a bonded connection to access the internet. You might want to look at this tutorial for bonding adapters in Ubuntu to form a bond0 connection. It's for ubuntu 6.10 and they use ethernet, but is should work nicely for the latest version with Wi-Fi adapters.

http://www.howtoforge.com/network_bonding_ubuntu_6.10