Wi-Fi or Ethernet for a hotspot: why packets are lost and audio breaks up

Category: HotspotsDifficulty: ★★☆~9 minutes

A scenario familiar to many: the hotspot is assembled, the radio decodes the repeater at BER 0.0%, the indicators are green — yet the voice on the air breaks up, stutters, drops syllables. The first thing people blame is the antenna or the RF side. But in nine cases out of ten the culprit is not the radio path, it is the network between the hotspot and the router. And most often, specifically, Wi-Fi.

DMR is a dense realtime stream: a voice superframe pushes UDP packets to the network server roughly every 60 ms, with no buffering and no retransmission. Lose a packet and you lose a piece of speech forever. A link that handles web and video perfectly (where a buffer smooths over any dropouts) can turn out to be unusable for DMR. Let's look at why this happens and what to do about it.

Why Wi-Fi drops DMR while ping doesn't notice

The main culprit is Wi-Fi power saving (power-save). To save current, the Wi-Fi chip periodically goes to sleep between the access point's beacons and wakes only for short windows. For ordinary traffic this is invisible: the data waits in the router's buffer until the next wake-up. But DMR can't wait — a packet that arrives while the radio is asleep either arrives tens of milliseconds late (jitter) or is lost entirely.

The insidious part is that ordinary diagnostics mask this. Run a ping to the router — the sparse once-a-second packets get through with 0% loss, because the chip manages to wake up for each one. But a dense DMR stream (16–17 packets per second) loses 15–40% under the same conditions. The MMDVMHost logs meanwhile show perfect over-the-air BER — because the radio reception is fine; it is the network delivery that breaks.

The key symptomIf the hotspot logs show low BER (near zero) but the audio breaks up and you see messages about lost frames — this is almost certainly network loss, not an RF problem. Calibration and the antenna have nothing to do with it; dig in the direction of Wi-Fi. For tuning the radio path itself, see the article on hotspot calibration.

How to tell network loss from RF loss

Before changing anything, it's worth pinning down the problem precisely. A few practical checks:

If the audio breaks up even on a wire, the cause is not Wi-Fi and it's worth checking other nodes. A detailed breakdown of the symptoms is collected in the article hotspot not working, and reachability issues from outside are covered in hotspot behind NAT.

Solution #1 (best): an Ethernet cable

A wired connection removes the problem entirely. No power-save, no jitter from other networks, stable latency. If the hotspot sits in a fixed location — run a twisted pair; it is the most reliable solution, full stop.

Practice shows it: a hotspot that moves from the Pi Zero's built-in Wi-Fi to USB-Ethernet stops "gurgling" instantly — without a single edit to the config.

Solution #2: if it has to be Wi-Fi — tame it

You can't always run a cable (a hotspot in a car, at a cabin, in an attic). In that case Wi-Fi has to be configured properly. In order of priority:

Disable power-save — a mandatory step

This is the most important thing. A one-off command (resets after a reboot):

To make the setting survive a reboot, on systems with NetworkManager (current Raspberry Pi OS based on Bookworm) set the connection parameter 802-11-wireless.powersave = 2 (the value 2 means "off"):

Check after a rebootPower-save has a habit of "coming back" after a reboot or a network reconnect if it was only fixed with a one-off command. Be sure to reboot the hotspot and confirm that get power_save again shows off — otherwise the stuttering will return in a week and you'll be left guessing why.

Signal and band

Solution #3: proper power

A non-obvious but real factor: a voltage sag hits the Wi-Fi radio first of all. Under-volting makes the chip misbehave, retransmissions and losses go up — and from the outside it looks like "bad Wi-Fi". A cheap 5 V / 1 A charger and a thin cable are the classic trap.

A detailed breakdown of power, currents and cables is in the separate article on hotspot power. Don't skip this point: half of all "network" complaints are cured by changing the charger.

Checklist: audio breaks up with clean BER

A ready hotspot that just works

In DMRhub, a hotspot on Raspberry Pi + MMDVM is configured automatically right from the portal — provisioning arrives over the air, and no port forwarding through NAT is needed. The RadioStar image is already built and picks up the network out of the box, while the server-side AMBE vocoder takes the load off the client. All that's left is to plug in a cable (or tame Wi-Fi per this guide) — and get on the air.

Conclusion

If the hotspot decodes the air with clean BER but the voice breaks up — the network is almost always to blame, not the radio. On a Raspberry Pi with Wi-Fi, the first suspect is the chip's power saving: it drops the realtime stream of DMR frames while staying invisible to an ordinary ping. The best remedy is Ethernet; if a wire isn't available — disable power-save and make the setting stick, move closer to the router, switch to 5 GHz, and provide honest power. Work through the checklist above — and the stuttering will go away.

Sources

  1. Raspberry Pi Documentation — Wireless networking and power management (wlan0 power_save). raspberrypi.com
  2. G4KLX — MMDVMHost (logs, voice frame and loss handling). github.com/g4klx/MMDVMHost
  3. Linux Wireless — iw / cfg80211 power save management. wireless.wiki.kernel.org