teh bigbro blog(tm)
Bigbro's foray into the scary world of blogging
01 04 2010

Thu, 01 Apr 2010

High speed upload with USB 3G mobile broadband dongles

We at HEAnet labs have been testing 3G mobile broadband USB dongles for some time now, and the key weakness identified is the problem that data download is asymmetric. This means that while you can download content at high speed, uploading content is much much slower. This means that 3G dongles are unsuitable for things like uploading large photographs or video information to the interwebs. This severely restricts their usefulness - or at least, it used to.

While the technology of 3G and in particular the USB dongles means you are limited to an asymmetric connection, by changing the polarity of the USB power feed you can alternate between high speed upload and high speed download. This means making up a USB cable yourself, but as John Beale helpfully demonstrates, this is pretty easy. Just (carefully) swap the black and red wires.

This still leaves us with the problem that the connection is asymmetric, but that's easily solved by using iptables and a second USB dongle with the polarity set to normal. Effectively, we want to configure iptables to route the download traffic through USB dongle A (which is wired normally) and route the upload traffic through USB dongle B (wired with the polarity reversed.) Thanks to PaulJ on the ILUG list for providing a basic config for iptables:

ip route add default \
   nexthop via dev weight x \
   nexthop via dev weight y
change x and y so that x/y == bandwidth ISP1 / bandwidth ISP2

Thanks to all who helped investigate this technology, including Ghostbusters and the internets.

Note neither HEAnet labs - a made up organisation - your mobile provider nor I take any responsibility for your dongles, USB cables, laptops or pets if you try this, particularly given it's a blog post from April 1st. Seriously... ;)

posted at: 09:08 | path: /technical | permanent link to this entry

[IPv6 Ready]


copyright © 2005-2011, Gareth Eason