[Review]ing a TPlink 4G Router Archer MR200

[Review]ing a TPlink 4G Router Archer MR200

December 7, 2024

TL;DR How it is to live with 4g home internet only

Intro

There is no fiber available for you.

  • But my neighbour has it, why not here?

  • We will let you know once available.

  • But that was not my question.

  • Do you have any other question?

If this sounds familiar for you, you probably have a 4G router already.

TP-Link Archer MR200

Fortunately, 4G connectivity is more and more spread.

And also getting cheaper.

Recently I got an update for unlimited data for ~15$/month

But how good is this?

Benchmark 4G Connectivity

Connectivity Review 📌
ping -c 4 google.com #4 pings to google
ip addr show #see network interfaces
hostname -I

#sudo apt-get install net-tools
#ifconfig
#ifconfig eth0 | grep -A 10 "<global>" #check mac, and transfered packages
ifconfig eth0 | grep "inet " | awk '{ print $2 }' #if ETH Connected - SEE THE LOCAL IP
#ifconfig tailscale0 | grep "inet " | awk '{ print $2 }' #for Tailscale

ping -c 4 192.168.0.1 #gateway
ping -c 4 192.168.0.117 #ping the orange pi which is connected to same device
ping 9.9.9.9 #ping quad9 dns server
sudo apt-get install dnsutils -y #dns resolution
nslookup github.com #see which one is being used

dig google.com
sudo resolvectl dns <INTERFACE_NAME> 9.9.9.9 149.112.112.112 #change ethernet network interface to QUAD9 DNS
#example with firebat
#sudo resolvectl dns enp2s0f0 9.9.9.9 149.112.112.112
sudo apt-get install speedtest-cli
speedtest-cli #speedtest-cli --simple

sudo snap install fast
fast
#npm install --global fast-cli && fast
curl -sS https://ipinfo.io/json #the command to use
curl -sS http://ip-api.com/json/ #provides info about country, ISP, ...
curl -6 ifconfig.me #ipv6 info 
Better DNS’s 📌

I like to use QUAD9 DNS’s:

sudo nano /etc/resolv.conf

Add the following, if you want, to use quad9 DNS:

#nameserver 192.168.0.117 #to use the OPi5 locally
nameserver 9.9.9.9
nameserver 149.112.112.112
nslookup google.com #see that now you are using quad9 DNS
â„šī¸
More Docker config files đŸ’ģ

Open Speed Test

We can use OpenSpeedTest together with Container and Portainer to deploy the docker compose.

Just go to OST UI dashboard at: localhost:6040

OpenSpeedTest

It will required ~130mb for upload and download

SpeedTest Tracker

I mentioned about SpeedTest-Tracker, which we can use to test our internet connectivity:

echo -n 'base64:'; openssl rand -base64 32; #generte API key

Now the container image is provided by lscr instead of GHCR:

#https://docs.speedtest-tracker.dev/getting-started/installation/using-docker-compose
services: #https://docs.speedtest-tracker.dev/getting-started/installation/using-docker-compose
    speedtest-tracker: 
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped
        container_name: speedtest-tracker
        ports:
            - 8089:80
            - 8443:443
        environment: #https://docs.speedtest-tracker.dev/getting-started/environment-variables
            - PUID=1000
            - PGID=1000
            - APP_KEY=base64:somethingsomething #generate it as per CLI above
            - DB_CONNECTION=mariadb
            - DB_HOST=db
            - DB_PORT=3306
            - DB_DATABASE=speedtest_tracker
            - DB_USERNAME=speedtest_tracker
            - DB_PASSWORD=password
        volumes:
            - /path/to/data:/config
            - /path/to-custom-ssl-keys:/config/keys
        depends_on:
            - db
    db: #you can also use the SQLITE one as per the docs
        image: mariadb:11
        restart: always
        environment:
            - MYSQL_DATABASE=speedtest_tracker
            - MYSQL_USER=speedtest_tracker
            - MYSQL_PASSWORD=password
            - MYSQL_RANDOM_ROOT_PASSWORD=true
        volumes:
            - speedtest-db:/var/lib/mysql
        healthcheck:
            test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
            interval: 5s
            retries: 3
            timeout: 5s
volumes:
  speedtest-db:
â„šī¸
Using these docker container connected via Ethernet to the Firebat MiniPC

Go to the UI at: http://192.168.1.101:8089/ with default creds admin@example.com and password

SpeedtestTracker

Youtube Upload

Totally personal experience.

But I tried to upload a DJi Oa5 video to youtube.

Following my current video workflow.

And a 9GB file took ~1h 30 min, making ~6mb/s the avg upload speed.