8  6LoWPAN Failure Patterns

zigbee-thread
6lowpan
debugging
ipv6
Keywords

6LoWPAN pitfalls, 6LoWPAN debugging, constrained IPv6 troubleshooting, 6LoWPAN fragmentation failures, IPHC context mismatch

6LoWPAN failures are usually not single-layer mysteries. A visible symptom such as missing telemetry can come from oversized application payloads, weak compression context, fragment reassembly pressure, border-router queueing, RPL parent churn, link-layer interference, or a security policy that the review did not test. A good debugging chapter therefore needs evidence discipline, not a list of slogans.

This chapter treats pitfalls as reviewable failure patterns. Each pattern starts with the symptom, identifies the likely boundary, lists the evidence to inspect, and states the correction that should be validated before a release claim is accepted.

8.1 Start With the IPv6 Packet That Must Fit

Start with one sleepy constrained node that still needs IPv6 behavior. 6LoWPAN Failure Patterns is the place to ask how a packet is compressed, fragmented, routed, and handed to the border router without losing the design claim.

The start-simple move is to write the evidence record first: original packet, adapted frames, route or parent state, reassembly outcome, and the retest trigger when the link or payload changes.

8.2 In 60 Seconds

  • Debug 6LoWPAN from the observed symptom back to packet, link, routing, and border-router evidence.
  • Fragmentation is a risk multiplier because every fragment must arrive before the IPv6 packet can be reconstructed.
  • IPHC compression failures usually mean the receiver cannot reconstruct an elided field from link addresses, shared context, or known header state.
  • Border routers need workload evidence, not just “it pings” evidence, because they translate between different packet-size and custody expectations.
  • RPL parent choices should be judged by path behavior and objective-function evidence, not by signal strength alone.
  • Multicast, firmware transfer, verbose payloads, and sleepy-node reassembly buffers need special review because their failures are easy to hide during a small demo.
  • A fix is not complete until the retest shows the symptom changed and the new design does not create a different hidden failure.

8.3 Learning Objectives

By the end of this chapter, you will be able to:

  • Diagnose common 6LoWPAN failure patterns using evidence from packet captures, counters, routing state, and border-router logs.
  • Distinguish fragmentation pressure from compression-context, RPL, link-quality, and application-payload problems.
  • Review whether a proposed fix addresses the real boundary instead of only masking the symptom.
  • Build a concise debugging record that names the symptom, evidence, fix, retest result, and remaining risk.
  • Avoid quality drift in 6LoWPAN troubleshooting by rejecting brittle battery, cost, capacity, and vendor claims that are not supported by measurement.

8.4 Quick Check: 6LoWPAN Pitfall Review

8.5 Prerequisites

This chapter assumes you have reviewed:

8.6 Debugging Claim

Use a claim that can be inspected:

6LoWPAN debugging claim: A pitfall is fixed only when the team can show the original symptom, the packet or state evidence that explains it, the changed design decision, the retest evidence, and the boundary where the fix no longer applies.

This keeps the chapter away from broad advice such as “keep payloads small” without proof. A compact payload is useful only if the capture confirms fewer fragments, the receiver confirms successful reconstruction, and the application still receives the information it needs.

8.7 Debugging Review Path

Use Figure 8.1 as the normal path from symptom to accepted fix.

6LoWPAN debugging path from symptom capture through packet shape, compression context, fragmentation custody, routing behavior, border-router boundary, fix, and retest evidence.
Figure 8.1: 6LoWPAN pitfall debugging path.

The path is deliberately evidence-first. Start with the symptom that the system actually shows, then preserve packet captures and state snapshots before changing configuration. If the first attempted fix changes several variables at once, the retest cannot prove which decision corrected the issue.

8.8 Pitfall Families

Most 6LoWPAN problems fall into a small number of families. The useful review question is not “which family sounds familiar?” but “which evidence would distinguish this family from its neighbors?”

Packet-shape pressure Large or verbose payloads produce more adaptation work than the link budget can absorb. Inspect frame counts, fragment headers, retries, and application delivery gaps.

Compression-context mismatch The sender elides fields that the receiver cannot reconstruct. Inspect IPHC flags, address derivation assumptions, prefix context, and neighbor state.

Reassembly custody pressure Fragments arrive late, out of order, or incomplete. Inspect buffer occupancy, timeout behavior, duplicate fragments, and cleanup records.

Border-router mismatch The constrained side and IPv6 side make different packet-size, queueing, or retry assumptions. Inspect ingress size, egress fragments, queues, drops, and protocol translation boundaries.

Routing instability Parent changes, stale routes, and rank movement hide as packet loss. Inspect RPL control messages, parent history, rank changes, and path delivery evidence.

Operational blind spot The demo path works, but the production workload adds multicast, sleepy nodes, firmware transfer, commissioning bursts, or interference. Inspect workload-specific tests, not only a small ping path.

8.9 Failure Map

Use Figure 8.2 to keep a symptom from being assigned to the wrong layer too early.

6LoWPAN failure evidence map connecting symptoms to application payload, adaptation layer, link behavior, RPL routing, border router, and retest evidence.
Figure 8.2: 6LoWPAN failure evidence map.

The map helps prevent a common debugging mistake: treating an observed packet drop as a radio problem before checking payload shape, header compression, and reassembly state. A link can be acceptable for small messages and still fail a workload that forces fragmentation or queue buildup.

8.10 Symptom Triage Ledger

Use the symptom to choose the first evidence boundary. The ledger does not replace packet capture or node state, but it keeps the review from chasing unrelated explanations too early.

Symptom Likely boundary First evidence to check
Large packets fail while small packets pass Fragmentation loss amplification Frame count, fragment tags, per-frame loss, and reassembly cleanup counters
Reconstructed destination or prefix is wrong IPHC compression-context mismatch Context identifiers, prefix distribution, context version, and receiver-side context state
Drops appear only during bursts Reassembly buffer or border-router queue pressure Concurrent fragmented datagrams, queue depth, timeouts, duplicate fragments, and drops
One sleepy node fails while peers work Parent, polling, or awake-window mismatch Parent link, poll interval, route state, and whether fragments arrive during the awake window
Downward commands fail after upward telemetry succeeds RPL downward route or command packet shape Downward route state, border-router retries, command size, and receiver acknowledgement

For example, if a partial firmware rollout makes global addresses decompress to the wrong prefix while link-local traffic still works, the first review boundary is IPHC context drift. The capture should show whether updated and non-updated nodes assign the same meaning to the compressed header context identifier.

8.11 Fragmentation Pressure

Fragmentation is not wrong by itself. It is a warning that the design is depending on multiple smaller frames to recreate one IPv6 packet. That dependency increases the number of events that must succeed before the application sees one message.

Symptom Telemetry appears in bursts, larger readings fail more often than smaller readings, or the receiver sees incomplete reassembly contexts.

Evidence to inspect Frame count per application message, fragment tags, reassembly timeout events, duplicate fragments, retry counters, and payload sizes for failed and successful messages.

Correction boundary Prefer payload discipline, application-layer block transfer, or workload redesign when the application depends on repeated large transfers. Do not claim the fix from a single clean transfer.

The most useful retest compares the same application meaning before and after the fix. For example, “status report delivered as one constrained packet” is stronger evidence than “a smaller sample payload worked.”

8.12 Fragmentation Release Gate

Use Figure 8.3 when a fix claims that a larger payload is ready for release. The gate starts with packet size and frame budget, then forces the review to count fragments, reassembly buffers, timeout behavior, loss counters, fallback behavior, and the final release decision.

6LoWPAN fragmentation review gate showing packet size, frame budget, fragment count, reassembly buffer and timeout checks, loss behavior counters and alerts, fallback by chunking or alternate path, and the final fragmentation release gate.
Figure 8.3: 6LoWPAN fragmentation review gate from packet size and frame budget through fragment count, reassembly, loss behavior, fallback, and release decision.

The gate is intentionally conservative. A single clean large transfer is not enough. The release record should state the normal and maximum packet size, how many fragments the workload creates, what loss or timeout behavior was observed, and what fallback exists when the constrained path cannot carry the payload reliably.

8.13 Compression Context Failures

IPHC saves bytes by omitting fields the receiver can infer. If the sender and receiver disagree about link-layer address derivation, context identifiers, prefix lifetimes, or next-header expectations, compression becomes a decoding problem rather than a bandwidth benefit.

Symptom Packets are visible on the constrained link, but the reconstructed IPv6 packet is missing, malformed, addressed unexpectedly, or accepted by only part of the network.

Evidence to inspect IPHC dispatch and field flags, source and destination address modes, context identifier state, prefix distribution records, and neighbor-cache assumptions.

Correction boundary Update context ownership and prefix distribution, then retest with capture evidence from both sender and receiver. Do not assume “compression enabled” means “compression valid.”

This pitfall often appears after a border-router replacement, firmware update, commissioning change, or address-plan change. The capture should show whether the compressed packet can be reconstructed under the context that the receiver actually holds.

8.14 Border-Router Boundary Mistakes

The border router is not just a forwarding box. It is the custody boundary between a normal IPv6 environment and a constrained link where packet shape, retry behavior, neighbor discovery, and queueing have different costs.

Ingress evidence Record packet sizes, source applications, request bursts, protocol behavior, and whether the wider IPv6 side sends messages that the constrained side cannot carry cleanly.

Egress evidence Record fragment count, queue depth, drops, reassembly failures, and whether constrained nodes see the same workload the server believes it sent.

Fix evidence Show that application chunking, pacing, proxying, caching, or protocol redesign changes the constrained-link behavior, not only the server-side log.

The common review error is to test only upward telemetry. A production system also needs evidence for downward commands, retries, commissioning bursts, and any update or configuration path that may be larger than routine sensor data.

8.15 Multicast and Group Traffic

Group traffic can be useful for discovery, coordination, and announcement patterns. It becomes risky when the design expects every receiver to reconstruct a fragmented message without per-receiver recovery evidence.

Review multicast claims with these questions:

  • Is the group message small enough for the tested constrained path?
  • If one receiver misses part of the message, how is that receiver identified?
  • Is recovery unicast, application-level, or delayed until the next periodic state?
  • Does the sender need all receivers to act, or only a best-effort subset?
  • Does the retest include sleepy nodes and nodes at weaker positions in the mesh?

A group notification followed by per-node or per-block recovery is easier to verify than a large group transfer that assumes all receivers saw the same fragments.

8.16 RPL and Parent-Selection Pitfalls

Routing failures can look like adaptation failures because both produce missing packets. Separate them by preserving route state at the time of the symptom.

Symptom Loss changes by location or time, routes oscillate, latency spikes after topology changes, or the same node succeeds through one parent and fails through another.

Evidence to inspect Preferred-parent history, rank movement, DIO/DAO timing, objective function, ETX or link metric trend, and whether downward traffic uses storing or non-storing behavior.

Correction boundary Tune objective-function and route policy with repeatable path evidence. Signal strength alone is not enough to approve a parent-selection fix.

Route evidence should be captured near the failure window. A stable route after the network has recovered does not explain the earlier drop unless the logs also preserve the transition.

8.17 Reassembly and Memory Pressure

Reassembly state is temporary custody. It should be created when the first fragment arrives, updated as fragments arrive, released when the packet is complete, and cleaned up when the packet cannot be completed.

Review the implementation or stack configuration for these conditions:

  • Incomplete reassembly contexts expire and release memory.
  • Duplicate fragments do not grow buffer use without bound.
  • A burst from one peer cannot starve unrelated traffic without detection.
  • Fragment tags are tracked together with source identity and size evidence.
  • Cleanup counters are visible enough to explain missing application messages.
  • The retest includes incomplete and out-of-order fragment behavior, not only complete packets.

The point is not to memorize one timeout value across all stacks. The point is to prove that incomplete packets do not quietly consume memory until the node fails.

8.18 Silent Adaptation Failures

6LoWPAN bugs are hard because the adaptation layer often fails without a useful application-level error. A lost fragment, mismatched compression context, or exhausted reassembly buffer can leave the datagram malformed, incomplete, or dropped while the sender only sees a missing response. There is no universal 6LoWPAN error that says “fragment 3 of 5 never arrived.”

The discipline that breaks the deadlock is measurement. Put an 802.15.4 sniffer on the air to see fragments and compressed headers, count per-frame loss and fragment counts, verify compression-context versions, and bound concurrent reassemblies to the buffers a node actually has. Turning “the network is flaky” into “a three-fragment datagram at measured per-frame loss” makes the review solvable.

8.19 Worked Review: Missing Telemetry After Payload Change

Symptom: Temperature reports were reliable during commissioning but became intermittent after the application added diagnostic fields to the same reporting message.

Evidence: Captures show the old report traveled as a single constrained frame while the new report requires fragmentation. Receiver counters show incomplete reassembly during busy periods.

Fix: Split routine telemetry from diagnostic detail. Keep the routine report compact and request diagnostics only when needed through a paced application exchange.

Retest: Run the old and new report patterns under the same route and interference conditions, then compare delivered application records, fragment counts, and reassembly cleanup counters.

The important review detail is that the application meaning changed. The fix should preserve the data needed for operations while reducing the routine packet-shape pressure.

8.20 Worked Review: Compression Context Drift

Symptom: A group of nodes can hear traffic but cannot reconstruct packets after a border-router replacement.

Evidence: The sender uses context-based compression for a prefix that some receivers have not learned. The failed receivers show neighbor state but no valid reconstructed IPv6 packet.

Fix: Restore context distribution and version tracking as part of border-router commissioning. Include context visibility in the deployment checklist.

Retest: Capture before and after context distribution from a receiver that previously failed, then confirm the reconstructed IPv6 source and destination match the intended packet.

This fix is not “disable compression.” Disabling compression may hide the immediate symptom while increasing packet size and creating new fragmentation pressure. The better review asks why the receiver did not have the context that compression depended on.

8.21 Worked Review: Downward Command Loss

Symptom: Sensor reports arrive at the server, but downward configuration commands fail for nodes several hops away.

Evidence: Upward parent routes are stable, but downward routing records are missing or stale. Border-router logs show command retries without matching receiver acknowledgement.

Fix: Review the RPL mode, downward route maintenance, command size, and retry policy together. A route-only fix is incomplete if the command still fragments under normal conditions.

Retest: Send representative commands through the longest approved path, preserve route state during the test, and confirm application-level acknowledgement from the constrained node.

This pattern shows why layer isolation matters. Upward telemetry success does not prove downward control readiness.

8.22 Common Mistakes

Avoid these review mistakes:

Testing only the happy path One successful ping or telemetry message does not cover larger payloads, route changes, sleepy nodes, or update traffic.

Fixing by changing several variables Changing payload size, routing policy, channel, and retry behavior at the same time makes the retest hard to interpret.

Treating RSSI as route proof A strong neighbor can still be a poor parent if path cost, churn, congestion, or downward route evidence is weak.

Ignoring receiver-side evidence A sender log can prove transmission attempts, but it cannot prove reconstruction, route acceptance, or application delivery.

Overstating battery or reliability impact Battery and reliability claims need measured workload evidence. Do not promote a numerical claim from a toy example into a production guarantee.

Assuming lab scale equals release scale Small lab networks may not expose queueing, association bursts, multicast recovery gaps, or route churn that appear in field conditions.

8.23 Debugging Record Checklist

Before accepting a 6LoWPAN pitfall fix, collect a record with:

Symptom What did the learner, operator, or application observe, and when did it appear?

Scope Which nodes, routes, payloads, commands, or workloads are affected?

Packet evidence What do captures show about compression, fragmentation, size, retries, and reconstruction?

State evidence What do route tables, parent history, buffers, queues, counters, and context records show?

Fix decision Which design decision changed, and why does that decision address the evidence?

Retest boundary Which test proves the fix for the intended workload, and which cases remain out of scope?

8.24 Summary

6LoWPAN pitfall review is strongest when it treats debugging as evidence work. The same visible symptom can come from payload shape, compression context, reassembly custody, border-router behavior, routing instability, group traffic, or operational blind spots. The reviewer should preserve captures and state before changing configuration, apply a focused fix, and retest the original workload.

The most important habit is boundary clarity. Do not approve a fix because it made one demo message pass. Approve it when the evidence shows the original failure mechanism changed and the corrected design still respects constrained-link limits.

8.25 Key Takeaway

6LoWPAN Pitfall Debugging Evidence should review 6LoWPAN architecture against header compression, fragmentation, RPL behavior, security, interoperability, and deployment evidence.

8.26 Concept Relationships

8.27 What’s Next

Continue with these chapters:

8.28 Knowledge Check: First Evidence

8.29 Knowledge Check: Context Drift

8.30 Matching Quiz: Symptom to Evidence

8.31 Ordering Quiz: Debugging Flow