$5 3G hack in the S&B

I’d read the Cheap RV Living forum’s Unlimited Verizon 3G $5 a month thread a few months back and it sounded like something I would like to explore.  After some experimenting I have cancelled my “broadband” (see below) and am currently running my sticks and bricks household off a $5/mo account and saving the $75 difference.

For me, frugality is a game and data frugality is no different.  I am forever ranting that folks think they need much more data bandwidth than they think, even bookdockers who are used to making do with limited resources.

Here’s how I got here, and how I’m doing it.

Timeline

  • Spring 2014 - I move to rural east Texas.  The only broadband is DSL over 1960s-era copper.    Connection is unstable and averages about 1Mbps up and down. Every once in a while it spikes up to about 8Mbps down but there is no apparent reason why.  Streaming Netflix and Amazon doesn’t work well even at low video rates.

  • Summer 2016 - I read the thread about the $5 3G and started googling.

  • Aug 2016 - ordered an android phone already flashed with a grandfathered account ($75 shipped). Tested it for a few months.  The phone itself and the connection was solid but the particular model of phone was resistant to usb tethering.  Wifi tethering worked but it was unstable and the phone ran hot when used constantly.

  • April 2017 - ordered a Novatel 2200 wifi puck ($15 shipped off eBay) flashed with a grandfathered account remotely by an eBay seller ($30).  The flasher did the work through a TeamViewer connection (free) to my PC, or what appeared to be my PC.  TeamViewer was actually running Windows 7 on a virtual machine hosted on my linux workstation so I could dump the virtual if he did anything nasty to it.   He didn’t.   The mifi got warmer than I’d like when used heavily so I sat it on a steel zippo lighter;

  • May 2017 - having tested it as my main connection for a month and finding no surprises or showstoppers, I cancelled my landline+DSL ($80/mo).  The 3G connection averages a little less than 1Mbps but is more stable than the DSL.  In underutilized times like early morning it has spiked up to 1.6Mbps 2.4Mbps.  Under heavy congestion it can fall to 0.5Mbps.  It is a workable solution for 1/16th the cost for roughly similar rural service.

The setup

hardware

  • Novatel 2200 wifi puck as sold by Verizon.  Used off eBay

  • router

    • current: WRT54G router hacked with DD-WRT firmware.  I actually prefer OpenWRT but DD was on the router I picked out of the mad scientist cabinet and it worked fine.   I meshed this router with the mifi puck;  it talks to the wifi as if it were a normal wifi client, then broadcasts the signal out on its own AP.   This halves the wifi bandwidth from the puck but it is not a practical issue because even the slowest wifi is about 10x faster than 3G.  The bottleneck is still the 3G connection.

    • planned:  GL-MT300a minirouter, new off Amazon.  I want to use this router for the RV because of very low power requirements and internal microSD slot.

  • virtual debian linux server from BuyVM/Frantech, $30/yr.   I run various public-facing services here (blog, website, RSS server, etc).  See below.

software

  • PC - Debian linux 8 / Jessie (free, open source)

    •  browsers

      • Chromium, not Chrome.  Chromium is the open source project Chrome is built on and has less Google-phone-home stuff in it.

      • Firefox.

    • browser plugins - I only use plugins that work for both browsers.

      •  Xmarks for bookmark sync between the browsers.

      • uBlock Origin

      • Send to Kindle

      • Foxy Proxy - chooses whether or not to compress webpages based on regular expression url matches

    • Gmail - I use the low bandwidth HTML version rather than the fancy AJAX version.  Images turned off by default.

    • Youtube - I download the audio only for talking head stuff, and use youtube-dl and ffmpeg to mux very low bandwidth video and audio for stuff I need to see.  This yields business card sized video but it usually enough for my needs.  This micro video is 1mb - 2mb / minute.

    • terminal connections

      • ssh when necessary for scp or tunneling. Compression turned on.

      • mosh when doing general command line duties.  It works well in flakey, slow, and intermittent connections

  • linux virtual server in US

    • ziproxy - a web proxy that takes your browser’s requests an compacts/compresses/degrades/debloats them for massive bandwidth savings before sending them back to you on the skinny 3G pipe.  A screenshot of a ziproxy-processed page is at the bottom.

    • Tiny Tiny RSS - using an RSS feed reader saves tons of bandwidth from needless daily browsing.  Let RSS bring only the new stuff to you!

    • audio processing tools (sox, ffmpeg, lame, ogg encoder) to pull down podcasts and re-encode them for minimal bandwidth

  • android mobile phone

    • Opera browser with data savings cranked up (image quality = low)

    • RSS reader

    • app auto-updates turned off

    • app push notifications turned off

What Ziproxy-processed pages look like

Ziproxy makes pages load fast but it’s not a beat down.  The majority of savings come from lowering image quality, sometimes all the way to black and white if that’s the most efficient.

Here is a screencap of my browser’s display when run through ziproxy:

CRVzipprox.png

Photos and images have been decreased in quality all the way down to B&W.  My quick look at the ziproxy logs suggests the compressed images are about 1/4th the filesize of the originals.  Since images are the main hogs on most pages you can tell how much bandwidth this saves.  There’s also a setting in ziproxy to not use B&W but I like the super speedy loads.

The structure of the site is still in color because those properties are defined in CSS rather than in images proper.  Basically the site says “make the top bar orange with green text” and the browser says “yeah, no problem.”  No actual color is transmitted, only the definitions of what goes where.  Very cheap to transmit.  Bottom line is that reduced bandwidth doesn’t have to mean boring.

Updated: