Skip to main content

Command Palette

Search for a command to run...

Is It My Mesh or My ISP? How I Went From 6 Mbps to 600 Mbps on Wi-Fi

Updated
•11 min read•View as Markdown
D

I'm from Brazil and I've been working professionally with technology since 2009. I love to learn, and my current professional interests are:

Infrastructure Security Platforms Cloud Coding and automation (always my number #1 <3)

I pay for a 600 Mbps fiber plan. For months my laptop got somewhere between 6 and 25 Mbps on Wi-Fi. The obvious suspect was the ISP. The real culprit turned out to be my own network, and the only way to prove it was to measure each segment of the path, one at a time.

This post walks through the method, the tools (all built into macOS), every measurement I took, and what finally fixed it.


The setup

  • Plan: 600 Mbps download / ~300 Mbps upload fiber

  • ISP router: provided by the ISP, with its own Wi-Fi

  • Mesh: TP-Link Deco M5 (Wi-Fi 5 / 802.11ac, released 2017) in router mode behind the ISP router

  • Laptop: MacBook Air M4 (Wi-Fi 6E, supports 6 GHz, no Wi-Fi 7)

The path a packet takes:

Mac --(Wi-Fi)--> Deco node --(backhaul)--> main Deco --> ISP router --> ISP --> internet

The core idea: test each segment separately. Wherever latency jumps or throughput drops, that's the problem.


The toolkit (all built into macOS)

1. Find your gateway and see what you're connected to

route -n get default | grep gateway

2. Check your Wi-Fi link quality and band

system_profiler SPAirPortDataType \
  | sed -n '/Current Network Information/,/Other Local Wi-Fi Networks/p' \
  | grep -E '^ +(PHY Mode|Channel|Signal / Noise|Transmit Rate|MCS Index):'

This shows the Wi-Fi standard (802.11ac, ax), the channel and band (2.4, 5 or 6 GHz), the signal strength, the link rate and the MCS index. A quicker GUI alternative: hold Option and click the Wi-Fi icon in the menu bar.

Rules of thumb:

  • Signal better than -65 dBm is good. Worse than -70 dBm is trouble.

  • MCS is the modulation level. Higher is better. MCS 2 on a decent signal points to interference or a weak access point.

3. Ping the local hop and the internet at the same time

ping -c 60 -i 0.5 <gateway-ip>   # your router: should be 1–5 ms
ping -c 60 -i 0.5 1.1.1.1        # the internet: typically 10–30 ms
  • Gateway ping bad → the problem is inside your house.

  • Gateway clean, internet bad → the problem is the ISP or beyond.

4. Measure throughput and latency under load

networkQuality -v

Apple's built-in test reports download and upload capacity, plus responsiveness: how much latency rises under load (bufferbloat). "Low" responsiveness with multi-second delays means video calls will stutter whenever something downloads.

5. Trace the path

traceroute -n 1.1.1.1

If loss or latency starts at one hop and continues through every hop after it, that's where the problem is. A spike at a single middle hop that doesn't carry through is just a router deprioritizing ping replies, so ignore it.


Phase 1: Diagnosing the old mesh

First test: a broken network

Metric Result Healthy
Ping to mesh router avg 140 ms, max 1,515 ms, 1.7% loss < 5 ms
Ping to mesh router (another run) 2.6–5 seconds for many packets in a row < 5 ms
Ping to 1.1.1.1 avg 155 ms, max 1,526 ms 10–30 ms
Download 5.9 Mbps ~600 Mbps
Upload 20.3 Mbps ~300 Mbps
Delay under load 3.2 s < 100 ms
Wi-Fi link 802.11ac, -65 dBm, MCS 2, 175 Mbps MCS 7–9

The key finding came from the very first hop. Latency to my own mesh router was already measured in seconds, before traffic ever reached the ISP. Each hop beyond it added only 0–25 ms.

Traceroute also revealed double NAT: the Deco was routing (192.168.68.x) behind the ISP router, which was also routing (192.168.0.x).

Adding a wired backhaul to the mesh

I ran an ethernet cable between the Deco nodes so they no longer relayed traffic to each other over Wi-Fi.

Metric Before After wired backhaul
Download 3.7–5.9 Mbps 14.8 Mbps
Upload 20–33 Mbps 40.5 Mbps
Delay under load 3.2–10.3 s 1.8 s

It helped, but 15 Mbps on a 600 Mbps plan is still 2.5%.

The decisive test: bypass the mesh entirely

I connected the laptop straight to the ISP router's own Wi-Fi.

Through the Deco M5 ISP router directly
Wi-Fi link 802.11ac, MCS 2, 195 Mbps 802.11ax, MCS 8, 864 Mbps
Download 14.8 Mbps 184 Mbps
Upload 40.5 Mbps 141 Mbps
Delay under load 1.8 s 208 ms

12× faster, just by skipping the mesh. That settled the main question: the mesh was the bottleneck.

Ruling out time of day

ISP congestion usually shows up in the evening, so I tested at different times and in different rooms over the following week. Everything through the M5 landed in the same band:

When / where Download Upload
Evening, 20:57 14.5 Mbps 38.8 Mbps
Morning, 10:37 12.3 Mbps 50.7 Mbps
Office 21.8 Mbps 76.5 Mbps
Another morning, weak signal 9.1 Mbps 52.4 Mbps
Office, Mac fell back to 2.4 GHz 6.4 Mbps 44.7 Mbps
Bedroom, 2.4 GHz 11.1 Mbps 48.1 Mbps
Bedroom, back on 5 GHz 24.9 Mbps 114.4 Mbps

The result was the same at any hour and in any room, which ruled out ISP congestion. The time of day made no difference; the mesh hardware did.

Why the Deco M5 couldn't keep up

The Deco M5 is an AC1300 Wi-Fi 5 system with 2×2 radios and an older processor. Even when everything goes right, it tops out at roughly 300–400 Mbps over Wi-Fi, and only right next to a unit. Mine was doing far worse than that, because of:

  • an old Wi-Fi 5 radio stuck at low MCS on a crowded channel,

  • clients occasionally falling back to 2.4 GHz,

  • double NAT putting extra load on both devices.


Phase 2: Upgrading to Deco BE65 (Wi-Fi 7)

I bought two Deco BE65 units: Wi-Fi 7, tri-band 2.4/5/6 GHz, with 2.5 Gbps ethernet ports.

Main router or satellite? I set up the new unit as the main Deco on a fresh network. In a Deco mesh, the main unit does all the routing (NAT, DHCP, firewall). Adding a BE65 as a satellite under an M5 main unit would have kept the old bottleneck.

Step by step

Setup Wi-Fi link Download Upload
BE65 main, Router mode (double NAT), 6 GHz -40 dBm, MCS 11, 1,921 Mbps 343 Mbps 261 Mbps
ISP router Wi-Fi (speedtest.net, for comparison) -38 dBm, MCS 11, 1,200 Mbps 251 Mbps 266 Mbps
BE65 main, Access Point mode, 6 GHz -30 dBm, MCS 11, 2,401 Mbps 428 Mbps (531 on speedtest.net) 243 Mbps (280 on speedtest.net)
BE65 hall node, wired backhaul, 6 GHz -47 dBm, MCS 11, 1,921 Mbps 426 Mbps (600 on speedtest.net) 243 Mbps (268 on speedtest.net)

Three things stand out:

  1. Wi-Fi 7 hardware on 6 GHz was the biggest jump: from 15 Mbps to over 300 Mbps.

  2. Removing double NAT added about 25%. Switching the Deco to Access Point mode made the ISP router the only router.

  3. A wired backhaul costs nothing. The second node delivered the full 600 Mbps plan speed over Wi-Fi.

A note on tools: Apple's networkQuality consistently read about 100 Mbps lower than speedtest.net. The difference comes from the test servers, not the network. Use one tool when comparing runs.


Phase 3: Room-by-room coverage

Full speed next to a node is great. Coverage in the far rooms is a separate problem.

Room Band Signal Download Upload
Hall (next to node) 6 GHz -47 dBm 426 Mbps 243 Mbps
Office 6 GHz -67 dBm 194 Mbps 174 Mbps
Office (5 GHz link only) 5 GHz -64 dBm link rate 288 Mbps vs 408 on 6 GHz —
Bedroom 5 GHz -71 to -73 dBm 30–49 Mbps 28–55 Mbps

Lessons from this phase

Same network name for every band means you don't control the band. When I gave 6 GHz the same name as the main network, macOS chose 5 GHz in the office, even though 6 GHz had the faster link there. Giving the bands separate names let me pick.

MLO doesn't help a Wi-Fi 6E laptop. Wi-Fi 7's Multi-Link Operation combines bands, but only Wi-Fi 7 clients can use it. My Mac joined the MLO network on a single band. Disabling MLO changed nothing measurable (49 vs 30 Mbps is normal variation on a weak signal).

Signal strength is everything at the edges. At -73 dBm the bedroom got about 40 Mbps, whatever the settings. Settings can't fix distance.

The M5 relapse

I tried re-using one of the old Deco M5s as a third node near the bedroom, on a wireless backhaul. The laptop got a better signal (-57 dBm) and a far worse connection:

Bedroom via hall BE65 Bedroom via M5 (wireless backhaul)
Signal -71 dBm -57 dBm
Ping to router 17 ms 3,286 ms
Download 29.6 Mbps 0.08 Mbps
Upload 55.3 Mbps 6.7 Mbps

A strong signal to a node means nothing if that node's backhaul is bad. The M5's Wi-Fi 5 radio had to carry both the client traffic and the relay traffic back to the BE65, over a weak link. Removing it brought the bedroom straight back to 42.5 Mbps with 23 ms pings.

Don't mix old Wi-Fi 5 nodes into a Wi-Fi 7 mesh, especially on a wireless backhaul.


Final results

Setup Download Upload vs. 600 Mbps plan
Deco M5 mesh (typical) 6–25 Mbps 20–114 Mbps 1–4%
ISP router Wi-Fi 184–251 Mbps 141–266 Mbps 31–42%
BE65, Router mode 343 Mbps 261 Mbps 57%
BE65, AP mode, main node 531 Mbps 280 Mbps 89%
BE65, AP mode, hall node (wired backhaul) 600 Mbps 268 Mbps 100%

From 6 Mbps to 600 Mbps: about 100× faster, without changing the ISP plan.


Takeaways

  1. Test segment by segment. Ping your own router first. If that hop is slow, no ISP can fix it.

  2. Bypass the mesh before blaming the ISP. Connecting directly to the ISP router, by ethernet ideally or by its Wi-Fi, is the single most useful test.

  3. Check the Wi-Fi link, not just the signal bars. A good signal at MCS 2 is still a bad link.

  4. Old mesh hardware caps you. Wi-Fi 5 mesh systems can't deliver gigabit-class plans, and they degrade badly over wireless backhaul.

  5. Avoid double NAT. Run the mesh in Access Point mode, or put the ISP router in bridge mode.

  6. Wire the backhaul if you can. It removes the biggest throughput penalty in any mesh.

  7. 6 GHz is fast but short-range. It's excellent near a node and fades quickly through walls.

  8. A strong signal to a node means nothing if the node's backhaul is weak.

  9. Stick with one speed-test tool when comparing runs. Different servers give different numbers.

  10. Test at different times to rule out ISP congestion before calling them.

What's next

The bedroom is still the weak spot at around 40 Mbps. The options are moving the hall node closer, adding a Wi-Fi 6 or 7 node near the bedroom, or running ethernet. Each one comes down to getting the signal there better than -65 dBm.

I also still see ping times of 20–60 ms to the ISP router, even over a perfect Wi-Fi link. Those should be 1–5 ms. It doesn't affect throughput, but if video calls ever feel laggy, the ISP router is next in line.