Latency and Ping Expectations
NPR can carry useful IP traffic, but it is never going to feel like Ethernet. Packet loss and bit error rate are only part of the picture; the other part is the geometry of the schedule, and that is what usually dominates ping time. If your link is showing 500 ms RTT, the right reaction is not "the radio is broken" — it is more often "the schedule is doing its job and your client is just in slow mode".
This page is the short reference for what to actually expect from a healthy link.
The short version
On a connected link with no significant backlog:
- in fast mode, RTT is on the order of one TDMA frame,
- in slow mode (
x8multiframe), RTT can be several TDMA frames, - jitter comes from schedule phase and queueing, even when the link is RF-clean.
There is nothing wrong with a link that pings at hundreds of milliseconds. That is what a managed TDMA radio channel looks like. What you want to confirm is that the latency matches what the schedule predicts; if it does, the link is healthy.
Reference table
These numbers come from the NPR specification timings. Treat them as realistic guidance, not as a contract.
| Profile | TDMA frame [ms] | Fast avg [ms] | Fast max [ms] | Slow avg [ms] | Slow max [ms] |
|---|---|---|---|---|---|
11 | 537.0 | 537.0 | 1074.0 | 2416.5 | 4833.0 |
12 | 312.0 | 312.0 | 624.0 | 1404.0 | 2808.0 |
13 | 197.0 | 197.0 | 394.0 | 886.5 | 1773.0 |
14 | 130.0 | 130.0 | 260.0 | 585.0 | 1170.0 |
20 | 560.0 | 560.0 | 1120.0 | 2520.0 | 5040.0 |
21 | 294.5 | 294.5 | 589.0 | 1325.2 | 2650.5 |
22 | 176.0 | 176.0 | 352.0 | 792.0 | 1584.0 |
23 | 117.0 | 117.0 | 234.0 | 526.5 | 1053.0 |
24 | 81.3 | 81.3 | 162.6 | 365.9 | 731.7 |
Fast and slow
Fast mode does not mean instant — it means the client gets one transmit opportunity per TDMA frame. Slow mode does not mean disconnected — it means the client stays connected and synchronized, but its transmit opportunities arrive on the multiframe cadence (typically x8 of the TDMA frame). This is why a fully healthy link can show very large RTT values without anything being wrong.
If you want a client to stay in fast mode, give it something to do. The master decides between fast and slow based on the client's reported demand, and a permanently idle client gets sparser allocation.
Packet sizes worth testing
One ping size will not tell you much about the link. At minimum, try 252, 253, 800 and 1200 byte payloads. The 252 → 253 step is the one to actually look at: that is where NPR has to split one IP packet into more than one radio frame, and per-packet airtime roughly doubles. A link that pings well at 252 and slightly slower at 253 is behaving normally; a link that pings badly at both is doing something else.
When ping looks wrong
Before reaching for an SDR, work down this short list in order:
- The active modulation profile, and whether both ends agree on it.
- The TDMA frame length implied by that profile (this sets the latency floor — see the table above).
- Whether the client is in fast or slow mode.
- How the IP packet sizes interact with the 252/253-byte segmentation boundary.
- Schedule freshness: the master's allocation freshness, the client's sync age, and whether the neighbor cache shows healthy recent timing.
Most of the time that gets you to the actual cause faster than staring at RSSI alone.