I have multiple 3G data Cards as well as a wired connection to the Internet. I can connect each of them separately and access the internet. Is there any way i can aggregate the bandwidth of these cards to enjoy the combined speed? What i mean is simultaneously plugging in all the cards and getting the sum total of the bandwidth.
You could do this. Network Manager can do one connection per device just fine. But even with network-manager connected to multiple things, outbound traffic will only chose one gateway. You need to bridge these gateways into a virtual tunnel and use that as the gateway.
The problem is all the machinery is there (iptables, ipchains, iproute2, etc) is somewhat lower-level than network manager. You can try and follow a guide showing example configuration to split traffic over multiple gateways but network-manager might end up getting in the way.
It might not. It might work out just fine. You won't know until you've poked it ;)
No, you can't aggregate multiple data cards out-of-the-box.
You need to buy a device that does link aggregation(802.3ad protocol).
In my opinion you cant.Because you can not make your network manager connect to multiple lines at the same time..
You need to "bridge" multiple connections into one. While I've never done it on Ubuntu myself, the following guides seem to have directions for it:
You can configure Linux routing to use more than one gateway easily. The more problematic part is that if one of the gateways is down, you want your machine to stop using it and start again once it's up. I have once written a script that does it (only for wireless connections). You can see torrent working and utilizing 3 different wifi internet connections here:
If you want to get the script to understand what commands I used or try running it see: https://sourceforge.net/projects/powernet/
The first versions have just the configuration commands, the later versions stop using a connection if the gateway of that connection cannot be reached and retry after some time.
Expect newbie coding quality., I was just studying bash at that time.
Edit(link change and more explanation): As I see people get confused over "binding" connections and "load balancing" connections. When you are connected to more than one network and each has it's own "gateway" your system by default uses only one of them (usually the last one you connected to).
Powernet configures the routing table to "round-robin" over the available gateways so for example, each connection will go over different gateway/link.
Single connection will only be as fast as the gateway it uses but multiple connections will be as fast total speed of all the gateways combined. Side effect: You can enter website from one IP and after sometime your IP will change (as you now use different gateway) and it may drive some sites crazy.
This is not "bonding" and this technique does not require special ISP support. It can work if you just have more than one Internet connection available.