BUSLOOM MANUAL

Errors & exceptions

Modbus exception codes, transport failures, TLS errors, and symptom-led checks.

24 · ERROR REFERENCE

Errors & exceptions

An error message is useful only when it identifies the layer that rejected the exchange. Busloom preserves connection, transport, framing, protocol-exception, response-validation, decoding, and application errors separately. Start with the first failed transaction, not the last symptom produced by retries.

Standard Modbus exception responses

CodeNameMeaningFirst check
01Illegal FunctionThe server does not support or permit the requested functionAddress space, device mode, firmware support, gateway restrictions
02Illegal Data AddressThe requested address or complete range is not validPDU/documentation conversion, address space, quantity, multi-register continuation words
03Illegal Data ValueA request field or write payload is invalidQuantity limits, encoded value, mask, device-specific accepted range
04Server Device FailureThe server failed while attempting the operationDevice diagnostics, operating state, retry only after understanding impact
05AcknowledgeA long-running operation was accepted but is not completeVendor workflow and documented follow-up request
06Server Device BusyThe server cannot handle the request nowPoll rate, competing masters, device program/flash operation
08Memory Parity ErrorThe server detected a memory consistency errorDevice health and vendor service guidance
0AGateway Path UnavailableA gateway cannot establish the downstream routeGateway channel, downstream bus, route configuration
0BGateway Target Failed to RespondThe gateway route exists but the target did not answerDownstream Unit ID, wiring, serial framing, target power

An exception is a valid Modbus response: it proves that the peer parsed enough of the request to reject it. Raw Traffic shows the exception function with its high bit set and the one-byte exception code. Do not classify it as a timeout or malformed response.

Transport and validation failures

FailureWhat Busloom observedLikely checks
Serial port unavailableThe operating system could not open the pathCorrect adapter/path, permission, driver, cable presence, competing process
Connection refusedThe host actively rejected the TCP connectionCorrect IP and port, service enabled, firewall policy
Network unreachableThe operating system has no route to the hostInterface, subnet, VLAN/VPN, gateway, host address
TimeoutNo complete compliant response arrived before the attempt deadlineUnit ID, framing, route, device load, then timeout/retry values
CRC errorAn RTU frame arrived with a mismatched checksumFraming, noise, grounding, termination, line bias, duplicate talkers
Transaction mismatchA TCP response did not match the pending transaction identityGateway/proxy behavior, interleaved clients, stale or malformed response
Function mismatchThe response function is not the requested function or its exception formWrong peer, malformed gateway response, captured exact bytes
Length / byte-count mismatchEnvelope or PDU sizes disagree with received bytes or requested quantityNon-compliant device, partial frame, gateway corruption
Decode unavailableRequired continuation words are missing or the bytes cannot represent the configured valueRead Plan coverage, data type width, finite float/value constraints

TLS failures

FailureMeaningCorrective action
Unknown issuer / untrusted certificateThe configured trust store cannot build a chain to the server certificateSelect the correct CA certificate; do not use Skip verification as a permanent fix
Name mismatchThe server certificate is not valid for the host name used by the profileUse the intended DNS name or deploy a certificate with the correct subject alternative name
Expired / not yet validThe certificate validity window and workstation time do not overlapCorrect system time or renew/reissue the certificate
Pinned certificate changedThe presented certificate fingerprint differs from the locally accepted pinStop and verify whether the server was legitimately reprovisioned before accepting a new pin
Client certificate rejectedThe server did not accept the supplied client identity or roleCertificate/key pair, issuer, EKU, server role mapping, validity
Handshake / protocol failurePeers could not agree on a valid TLS sessionServer TLS mode, supported protocol/ciphers, middlebox, exact native error

Fast symptom map

Everything is silent on RTU
Stop scans, confirm one serial framing profile, try Unit-ID discovery, then inspect adapter TX/RX indicators and wiring.
One range fails inside a working view
Inspect the generated Read Plan and exception. Split around an illegal gap or reduce quantity before changing the poll interval.
Raw value is stable but engineering value is wrong
Keep the connection unchanged. Check space/address, width, byte order, word order, signedness, then scale/offset.
UI appears stale while traffic continues
Check whether the list is presentation-paused, whether filters hide new rows, and whether the active source timestamp advances.
Trend or alarm is empty
Confirm its tag is numeric/Boolean, the owning source is running, the address span is present, and the selected time window contains samples.
Update keeps appearing
Identify Store versus direct channel, confirm the installer/package actually replaced the running version, then reopen and inspect the reported version.

Capture before changing the setup

  1. Stop unrelated traffic

    Keep one source or one diagnostic request so transaction attribution is unambiguous.

  2. Record the profile facts

    Transport, endpoint, Unit ID, serial framing or TLS verification state—without private-key contents.

  3. Retain one complete attempt

    Include TX, RX or timeout, latency, retry number, exception/validation text, and source name.

  4. Save the raw interpretation

    For a value problem, include raw words and the complete decode chain rather than only the formatted number.

  5. Export the right artifact

    Use a bounded session for runtime evidence and the project only when its configuration is part of the reproduction.