Wiren BoardDocumentation
Reference · English

WB-MAI6 known issues

revision 101317

Device page

ERRMODBUS001: Device replies to address 0xFD

Affected devices

WB-MAI6 with firmware earlier than 2.10.0.

Description

Fast Modbus devices can interfere with third-party devices on the same bus if those devices use special commands beginning with 0xFD.

Cause and details

Fast Modbus reserves 0xFD for special broadcast commands. If a third-party request starts with 0xFD but uses a command outside Fast Modbus, affected Wiren Board devices reply with MODBUS_ERR_ILLEGAL_FUNCTION, disrupting the other exchange. The bus driver incorrectly treats the packet as ordinary Modbus traffic.

Workaround

Avoid sharing a bus between affected Wiren Board and third-party devices.

Resolution

Fixed in firmware 2.10.0.


ERRMODBUS002: Incorrect response to discovery command 0x46

Affected devices

WB-MAI6 with firmware earlier than 2.0.7.

Description

Fast Modbus originally used function 0x60, later changed to 0x46 because 0x60 was in a reserved range. Backward compatibility retained both request codes, but the device always replied with 0x60. The fix replies with the same function used in the request: 0x46 or 0x60.

Remedy

Update firmware to 2.0.7.

Resolution

Fixed in firmware 2.0.7.


ERRMODBUS003: Unexpected behaviour when invalid values are written to some registers

Affected devices

WB-MAI6 with firmware earlier than 2.1.4.

Description

When values in the range [256 ... 65535] are written to some registers, the upper 8 bits are discarded and the firmware receives the value modulo 256. For example, writing 257 has the same effect as writing 1.

The device address register (128) is one affected register.

All registers work as expected within their documented ranges. The issue occurs when invalid values above 255 are written.

Remedy

Update firmware to 2.1.4.

Resolution

Fixed in firmware 2.1.4.


ERRMODBUS004: Incorrect bit-field replies

Affected devices

WB-MAI6 with firmware earlier than 2.0.7.

Description

Replies containing bit fields, including coil/discrete reads and event management, could contain incorrect high bits.

Remedy

Update firmware to 2.0.7.

Resolution

Fixed in firmware 2.0.7.


ERRMODBUS006: Responses to requests with incorrect parity

Affected devices

WB-MAI6 with firmware earlier than 2.1.1.

Description

The device replied to requests with incorrect parity instead of ignoring them.

Remedy

Update firmware to 2.1.1.

Resolution

Fixed in firmware 2.1.1.


ERRMODBUS008: Unexpected behaviour with long request frames

Affected devices

WB-MAI6 with firmware earlier than 2.4.2.

Description

Receiving a frame longer than 265 bytes, the maximum Fast Modbus frame length, can freeze and reboot the device; settings may also be lost in some cases.

Cause and details

The receive algorithm did not handle oversized invalid requests, causing a buffer overflow and corruption of adjacent memory. The device freezes and the watchdog restarts it. Very large frames, above approximately 500 bytes, can also corrupt settings, causing a restart with default communication parameters: 9600 8N2, address 1.

Workaround

  • Do not send requests exceeding the limits of Modbus RTU or Fast Modbus (265 bytes for Fast Modbus).
  • Do not connect the device to a bus carrying non-Modbus traffic or messages longer than 265 bytes.

Resolution

Fixed in firmware 2.4.2.


ERRMODBUS009: Unexpected behaviour when reading near address 0xFFFF in continuous-reading mode

Affected devices

WB-MAI6 with firmware earlier than 2.4.2.

Description

With continuous-reading mode enabled, a read range reaching or crossing address 0xFFFF can freeze and reboot the device.

Cause and details

The continuous-reading algorithm did not handle overflow of the 16-bit register-address counter. Reading 0xFFFF wrapped the counter and caused an infinite loop, followed by a watchdog reset.

Workaround

With continuous-reading mode enabled, do not read a range including 0xFFFF. Wiren Board devices have no implemented register at that address.

Resolution

Fixed in firmware 2.4.2.


ERRMODBUS010: Incorrect request validation and handling of invalid requests

Affected devices

WB-MAI6 with firmware earlier than 2.4.2.

Description

The device may accept or mishandle syntactically invalid requests, return an incorrect exception code, or impose an incorrect register-count limit.

Cause and details

The validation algorithm mishandles these cases:

1) Requests to read zero registers succeed with an empty-data reply containing only a header and CRC. Modbus requires exception 0x03 (ILLEGAL_DATA_VALUE).

2) A single limit of 125 registers is applied to all read/write functions; exceeding it returns 0x02 (ILLEGAL_DATA_ADDRESS). Modbus instead specifies limits of 2000 bits for bit reads, 125 registers for input/holding reads, 1968 coils for multiple-coil writes, and 123 holding registers for multiple-register writes. Exceeding the applicable limit should return 0x03 (ILLEGAL_DATA_VALUE).

3) Byte Count is not validated for multiple writes (0x0F and 0x10). A mismatch between Byte Count and register count should return 0x03 (ILLEGAL_DATA_VALUE).

4) Single-coil writes do not validate the value and use the most significant bit of the request value. Modbus permits only 0x0000 and 0xFF00; all other values should return 0x03 (ILLEGAL_DATA_VALUE).

5) Structurally invalid requests with a valid CRC, such as overlong requests, are processed normally. Such malformed requests should instead be ignored.

6) Structurally valid but oversized frames of 257–265 bytes are processed. Standard Modbus frames longer than 256 bytes are invalid and should be ignored.


Workaround

Send only structurally correct requests compliant with the Modbus specification.

Resolution

Fixed in firmware 2.4.2.


ERRMODBUS011: Incorrect handling of invalid Fast Modbus event-configuration requests

Affected devices

WB-MAI6 with firmware earlier than 2.4.2.

Description

An event-configuration command (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) with invalid length fields can configure event notifications incorrectly and produce a reply of unpredictable length.

Cause and details

The Fast Modbus event-configuration handler did not validate the size and internal data-block length fields. Invalid lengths can cause it to process data beyond the received frame, resulting in:

1) Incorrect event notification settings, including spontaneous changes to event priorities or masks.

2) An event-configuration reply of unpredictable length.

Workaround

Send only valid Fast Modbus commands compliant with its specification.

Resolution

Fixed in firmware 2.4.2.


ERRMAI601: Voltage-measurement input impedance below specification

Affected devices

All MAI6 models.

Description

In single-ended voltage mode, MAI6 input impedance was approximately 4 kΩ in the 0–2 V range instead of 1 MΩ, and approximately 2 kΩ above 5 V instead of 4 kΩ. Low input impedance can affect the measured signal.

Cause and details

A software error switched internal circuits incorrectly, substantially reducing input impedance below specification.

Resolution

Fixed in firmware 2.0.5.

Recommendations

  • Update device firmware to 2.0.5.
  • Check MAI6 compatibility with the signal source, especially above 5 V, for example with 0–10 V sensors.

ERRMAI602: Incorrect voltage readings from high-output-impedance sources

Affected devices

All MAI6 models.

Description

Voltage readings in the 2–10 V range may be too low when the source has high output impedance.

Cause and details

Measurement input impedance is approximately 1 MΩ at 0–2 V and 4 kΩ at 2–10 V. For correct readings, source output impedance must be at least ten times lower: no more than 400 Ω in the 2–10 V range. Otherwise readings are too low.

Recommendations

Use a resistive divider to bring the voltage into the 0–2 V range. Divider output impedance must not exceed 100 kΩ.

ERRMAI603: Three-wire resistance measurements above 1000 Ω fail

Affected devices

All WB-MAI6 models with firmware through 2.0.6 inclusive.

Description

Three-wire resistance above 1000 Ω was not measured. This also affected three-wire RTDs: temperature was unavailable when sensor resistance exceeded 1000 Ω.

Cause and details

A firmware error prevented changing the measurement method for resistance above 1000 Ω.

Recommendations

Update firmware to 2.0.7 or use a two-wire circuit for resistance above 1000 Ω.

ERRMAI604: Unconditional responses to extended requests addressed to 0xFD

Affected devices

WB-MAI6 with firmware earlier than 2.0.8.

Description

Address 0xFD carries Fast Modbus commands requiring a data reply and other broadcast requests. Affected devices replied to every packet at 0xFD, including packets without Fast Modbus commands.

Remedy

Update firmware to 2.0.8.

Resolution

Fixed in firmware 2.0.8.


ERRMAI605: False dry-contact detections

Affected devices

All WB-MAI6 models with firmware through 2.1.4 inclusive.

Description

In dry-contact mode, false detections occur when the sensor is open.

Cause and details

With an open sensor (floating input), a firmware error overflowed an intermediate calculation variable, causing false detections. Shorter sampling time makes this more frequent. At Data Rate = 20 (50 ms sampling), false detections are practically absent; at Data Rate = 1000 (1 ms), they occur approximately once per minute.

For the same reason, resistance mode could show a random value, including a negative one, on an unconnected input.

Workaround

  • Update to firmware 2.1.5 or later, which fixes the software issue.
  • If updating is impossible, connect a 100–1000 kΩ resistor between iGND and the input to prevent it floating and avoid calculation overflow.

ERRMAI606: Apparently valid three-wire resistance readings without sensor contact

Affected devices

All WB-MAI6 models with firmware through 2.3.0 inclusive.

Description

Three-wire resistance mode can show incorrect readings, such as negative or near-zero values, when the sensor is absent or wires are damaged.

Cause and details

Circuit characteristics, leakage currents and component tolerances made sensor disconnection detection unreliable. Breaks in N and/or GND were also not detected.

Workaround

Update firmware to 2.3.2 or later

Resolution

Fixed in firmware 2.3.2. Added a separate N–GND resistance measurement to detect N and/or GND wire breaks.

ERRMAI607: Voltage crosstalk between channels

Affected devices

All WB-MAI6 models with firmware through 2.4.0 inclusive.

Description

Measuring above +5 V induces phantom voltage on adjacent unconnected channels.

Cause and details

Multiplexer hardware characteristics allow a small current to flow into adjacent unconnected channels when measuring above +5 V, inducing phantom voltage from a few millivolts to several volts.

Workaround

Update firmware to 2.4.1 or later

Resolution

Fixed in firmware 2.4.1

ERRMAI608: Measurement errors from high terminal-block contact resistance

Affected devices

WB-MAI6 batches 1.6D (March 2025) through 1.7D (June 2026), inclusive.

Description

High terminal-block contact resistance, most often on four-position blocks, adds measurement error. The fault is intermittent and usually disappears after reseating the terminal block. NTC sensors and thermocouples are practically unaffected. Maximum additional error:

  • two-wire connection:
    • Resistance — up to +0.4 Ω
    • Pt100 — up to +1.0 °C
    • Pt1000 — up to +0.1 °C
  • three-wire connection:
    • Resistance — ±0.2 Ω
    • Pt100 — ±0.5°C
    • Pt1000 — ±0.05°C

Cause and details

PCB-mounted and mating terminal-block parts came from different manufacturers. Despite a similar appearance, their geometry differs and the mating part can seat incorrectly. Contact resistance on individual contacts can reach 0.2 Ω. This is much more common on four-position blocks; it could not be reproduced on three-position blocks.

Workaround

  • Reseat the terminal block: remove it and firmly reinstall it. This usually helps.
  • Request the correct mating terminal block from technical support.

Resolution

Fixed in batch 1.7D/1 (June 2026)