In February 2020, my home Internet went down. It wasn’t just my home but the whole neighborhood. Also, this affected both the Fiber & Cable Internet providers that service my area. This outage lasted three days before the services were restored.

During that time I used tethering on my phone until I ran out of hotspot data. Then I used my work phone. On day 3 I had less than a gig of hotspot data on my work phone when my Fiber internet came back to life.

This led me to come up with a backup. I have an unlimited plan and typically don’t use more than 10 gigs per month. Since most failures won’t take out both Fiber and Cable, my primary fallback will continue to be paying for day passes on the Cable providers vast hotspot network. But if I find myself in this situation again I am now prepared.

I originally bought the GL-AR750 for travel. When I traveled with my wife and kids I would add the hotel wifi to many devices, occasionally hitting device limits. This functionality is now built into the Google Pixel phones so the travel router is sitting in my drawer unused.

WARNING: Without a VPN you will only have TCP and UDP, so no ping. Also, your provider may see your traffic and shut your service down. Use a VPN in conjunction with this.

Requirements: Android Phone, GL-AR750 (or similar), EasyTether Pro

  1. Get EasyTether Pro for your Android phone. Enable Developer mode and enable “USB Debugging” in developer options.

  2. Download and install the EasyTether driver. For the GL-AR750 running 3.x firmware, I used this one built for OpenWRT 18.06.2+ with OpenSSL support. Find the okpg file under ar71xx (easytether-usb-openssl_0.8.9-4_mips_24kc.ipk).

  3. Using scp, copy this file to the router.

    $ scp easytether-usb-openssl_0.8.9-4_mips_24kc.ipk root@192.168.8.1:
    
  4. SSH into the router and install driver and httping.

    $ ssh root@192.168.8.1
    # opkg update
    # opkg install httping
    # opkg install easytether-usb-openssl_0.8.9-4_mips_24kc.ipk
    # rm -f easytether-usb-openssl_0.8.9-4_mips_24kc.ipk
    
  5. From within the router (via ssh) edit /etc/config/network and append this.

    config interface 'tethering'
            option ifname 'tap-easytether'
            option proto 'dhcp'
    
  6. From within the router (via ssh) edit /etc/config/mwan3 and change the tethering section as follows. The default checks will use ping and always fail the tethering interface since EasyTether can only handle TCP and UDP. This is why we installed httping in step 4.

    config interface 'tethering'
            option enabled '1'
            option track_method 'httping'
            list track_ip '1.1.1.1'
            list track_ip '1.0.0.1'
            option family 'ipv4'
            option reliability '1'
            option count '1'
            option timeout '5'
            option interval '60'
            option down '3'
            option up '8'
    
  7. Using the web interface of the router, go to Advanced (LuCI) and click on ‘Network’ -> ‘Interfaces’. You will now see a tethering interface without a zone. Click ‘edit’ -> ‘Firewall Settings’ and add tethering to the ‘wan’ zone.

  8. Reboot

  9. Run EasyTether Pro on your phone and enable USB Tethering. Plug your phone into router using a USB cable. Click “Allow” on the “Allow USB Debugging” phone prompt.

Congrats. If you followed this guide, you are now online.