11

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.

4 Answers 4

4

"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.

3

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.

1
  • I have one use case: I have been tampering with a PC that I am dismantling. I'm using it right now for a few urgent tasks that can't wait. I know my adapter performing poorly and interferences are high. So, I have plugged in a second USB adapter and plan to bond both so that I can get a slightly better connection (one is inside the case an the second on the front). I'll be happy if I can work without loosing the connection every few minutes.
    – runlevel0
    Apr 6, 2019 at 19:18
2

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

2
  • Ubuntu 6?! As of 2018, Ubuntu is on 17.10 or 16.04.4 LTS...
    – Mei
    Mar 10, 2018 at 10:02
  • Wifi adapters are excluded from slave lists... this does not work
    – Ray Foss
    Aug 30, 2020 at 20:21
1

I spend a lot of time reading here but this is my first post. This is probably because everyone is usually so thorough there isn't anything left to say:)

If you have two WiFi cards bonded you would have to consider one additional thing and that is how WiFi communicates at layer 1. I'm sure you have seen the settings CTS and RTS in routers and WiFi cards before(This may improve your performance in itself). They are acronyms for ClearToSend and ReadyToSend respectively. This is generally used in networks with nodes far away or a crowded channel or for whatever reasons have a weak/unreliable signal/connection. It allows the sender to basically ask if it can send and receive confirmation (best effort) that its OK to send its data. Only ONE and only one WiFi card can speak in a channel at a time. This includes not just your network but ANY network on the same channel that can be seen by the card. If it is not OK to send and the card tries to, there will be a collision similarly to how Ethernet hubs get collisions. A collision results in BOTH parties needing to resend their data. Effectively this has not only wasted the time of the two colliders, it also wastes the entire networks time as they had to wait, Will have to wait again when you resend AND it was all for nothing. As is this will not improve anything I believe because either the only one card will xmit at a time or both will and this will horribly reduce throughput.

What you 'may' be able to do is take advantage of a multi-band router that has to discrete antennas (4 really. Two for send, Two receive). My thought is you could place one on a 2.4Ghz connection and the other on a 5Ghz. I don't however know the requirements for teaming WiFi and Ethernet really doesn't have anything I can even compare that to so the OS may not let you even do that. The router really must to have the two antenna, separate and be able to send/receive simultaneously or there will still be no real advantage as its still one card talking at a time. You will still be on the same sub-net because the router bridges these to together on its side. Bridged. Not bonded or teamed but sometimes trunk'd. (I'll explain about trunk'ing at the bottom.) All 3 (bridged/bonded/trunk'd) are totally different unrelated things.

Also there is two types of bonding. Layer 2 and layer 3 bonding. 2 combines them at the mac address and 3 by a common IP. I honestly have no idea how WiFi determines destination at layer 1 in order to pass it to layer two so I cannot even guess how this would work even if you are using two separate channels. If I had to take a guess I would definitely be less then hopeful about the results of trying to team WiFi cards. I think at best you would see no improvement. At worst it won't even function. I'd love to hear how this ends up working in the real world. Anyone done this?

Lastly, "port trunking" is NOT nic teaming or bonding. Port trunking is when you are using vlans and you are connecting to switches (layer2). Basically only vlan tagged traffic, other than traffic on the default vlan, will go across this link. It's a trunk of vlans. It is true though that people often bond the nics at either end of the trunk because of the bandwidth needs of several to many subsets going across one physical line regardless of the virtual separation a vlan provides. This is a separate configuration however and in no way a requirement (or a best practice.) for trunking.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .