Remote Work Tools

Poor network quality during video calls is the most common complaint about remote work. Pixelated video, dropped audio, and “you’re breaking up” are almost always solvable network problems — usually with a wired connection, better router placement, or QoS configuration rather than a faster ISP plan.

This guide covers the network changes that actually improve video call quality, in order of impact.

Step 1: Measure Your Actual Problem

Before changing anything, understand what you’re working with:

# Test download and upload speed
# Fast.com (Netflix's server) for download
# Speedtest.net or Ookla CLI for both

# Install Speedtest CLI
# macOS
brew install speedtest-cli

# Linux
sudo apt-get install speedtest-cli
# or
pip install speedtest-cli

# Run test
speedtest-cli --share
# Note download, upload, and PING values

# Continuous monitoring — detect if your speed drops at certain times
for i in $(seq 1 5); do
  echo "Test $i at $(date):"
  speedtest-cli --simple
  sleep 60
done

Video call requirements (per active video stream):

If your upload speed is below 5 Mbps, that’s likely the bottleneck — most residential ISPs prioritize download.

Step 2: Switch to Wired (Ethernet)

Wi-Fi has variable latency and is susceptible to interference from neighbors, microwaves, and walls. A wired Ethernet connection eliminates this variability entirely.

# Check your current connection type
# macOS
networksetup -listallnetworkservices
networksetup -getinfo Ethernet   # if connected via Ethernet

# Linux
ip link show
# Look for: state UP for the wired interface (usually eth0 or enp3s0)

# Check actual link speed on Linux
ethtool eth0 | grep Speed
# Should show: Speed: 1000Mb/s (gigabit) for a good wired connection

# Test latency — wired vs Wi-Fi comparison
ping -c 20 google.com
# Wired: consistent ~5-15ms
# Wi-Fi: 15-50ms with high variance (jitter)

What you need for wired:

Powerline adapters (for rooms far from the router where running cable is difficult):

# TP-Link AV1000 or AV2000 Powerline adapters
# Plug one adapter near your router (Ethernet cable to router)
# Plug second adapter at your desk (Ethernet cable to laptop)
# Speed through powerline: 300-600 Mbps on good wiring
# Latency: 5-15ms (much better than Wi-Fi)

Step 3: Configure Router QoS

Quality of Service (QoS) tells your router to prioritize video call traffic over large file downloads or backups that happen to be running at the same time:

# Most home routers have QoS in the web admin panel
# Access at: http://192.168.1.1 or http://192.168.0.1 (varies by router)

# On Asus routers (web panel: router.asus.com)
# Adaptive QoS → Video Conferencing → drag to highest priority

# On UniFi (if you have a Ubiquiti setup):
# Network → Settings → Traffic Management → Add Rule
# Type: Application
# Application: Video Conferencing
# Rate Limit: None (guarantee bandwidth)
# DSCP Tag: EF (Expedited Forwarding)

# For advanced control with OpenWrt or pfSense, configure DSCP queues
# These are tagging video call traffic to prioritize it in the queue

Manual QoS on Linux router/firewall:

# Traffic Control (tc) — prioritize video call traffic
# Identify video call IPs (Zoom, Meet use UDP on high ports)

# Create a priority queue
sudo tc qdisc add dev eth0 root handle 1: prio priomap 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3

# Prioritize UDP traffic (video calls use UDP)
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
  match ip protocol 17 0xff \   # UDP protocol = 17
  flowid 1:1  # highest priority band

Step 4: Eliminate Wi-Fi Interference

If you must use Wi-Fi:

# Scan for congested channels (macOS)
# Hold Option → click Wi-Fi menu bar icon → Open Wireless Diagnostics
# Window → Scan → view channel utilization

# Linux: scan for nearby networks and their channels
sudo iwlist wlan0 scan | grep -E "Channel|ESSID"
# or use nmcli
nmcli device wifi list

# Recommendations:
# 2.4 GHz: use channels 1, 6, or 11 (non-overlapping)
# 5 GHz: use channels 36, 40, 44, 48, 149-165 (less congested in residential areas)
# 6 GHz (Wi-Fi 6E): almost no interference — upgrade if router supports it

# Check which channel your router is using
# macOS: Option+click Wi-Fi → shows Channel X (2.4GHz) or Channel X (5GHz)

Router placement:

Step 5: Separate Work Traffic with a VLAN (Optional, High Value)

A VLAN for your work devices keeps your work traffic on dedicated bandwidth, away from streaming TVs, IoT devices, and gaming consoles:

# Requires a VLAN-capable router and switch (UniFi, pfSense, or managed switch)

# UniFi setup:
# Networks → Add New Network
# Name: Work
# VLAN ID: 10
# Subnet: 192.168.10.0/24
# Apply to work laptop's switch port or Wi-Fi SSID

# Create a dedicated SSID for work devices
# WiFi → Add New WiFi Network
# Name: Home-Work
# Network: Work (VLAN 10)
# Security: WPA3

# Bandwidth guarantee for VLAN 10 (UniFi Traffic Management)
# Rate Limit Group: Work Devices
# Minimum bandwidth: 50 Mbps upload / 50 Mbps download

Step 6: ISP Upgrade Decision

Upgrade your ISP plan only after fixing the above. More bandwidth doesn’t fix latency or Wi-Fi interference.

# Decide if you need an ISP upgrade:
# Current upload speed < 10 Mbps AND you have multiple video calls per day → upgrade
# Current upload speed > 10 Mbps AND you have issues → it's not the ISP plan

# Choosing a plan:
# Upload is the bottleneck for video calls
# Cable/DOCSIS: typically asymmetric (200 Mbps down, 10-20 Mbps up) — not ideal
# Fiber (FTTH): symmetric (200 Mbps down AND up) — much better for video calls
# 5G home internet: variable, high upload on good signal (50-100 Mbps up typical)

# Minimum for serious remote work with multiple video calls per day:
# Upload: 25 Mbps (headroom for 1080p + buffer for other devices)
# Latency: < 30ms to closest server

# Check fiber availability in your area
# Open Fiber map from ISPs, or use nperf.com/map

Quick Diagnostics When Calls Are Degrading

# During a bad call, run these from terminal:

# 1. Check for packet loss
ping -c 50 8.8.8.8 | tail -5
# Any packet loss (> 0%) causes audio drops

# 2. Check current upload bandwidth usage
# macOS: nettop or Activity Monitor → Network
nettop -P -p $(pgrep -x zoom || pgrep -x "Google Chrome")

# Linux: watch bandwidth per process
sudo nethogs
# or
sudo iftop -i eth0

# 3. Check if another process is hogging bandwidth
# macOS: Activity Monitor → Network tab → sort by Sent Bytes/sec
# Linux: sudo nethogs eth0

# 4. Check CPU (high CPU causes video encoding drops)
# macOS
top -o cpu | head -20
# Linux
htop

Built by theluckystrike — More at zovo.one